liveBook · Manning

Infrastructure

As explained in Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu

Infrastructure is the collection of computing, networking, storage, and related resources that support systems and services.

Infrastructure is the computing, networking, storage, and related resources that support systems and services. Managing it means turning an intended system design into resources that can be created, changed, and operated consistently. section 2.1 section 8.2

Terraform provides one interface for varied infrastructure by placing vendor APIs and resource models behind providers. State records metadata about managed resources, while backends store state and workspaces separate deployments. section 1.2 section 1.2.4

Launching a virtual machine

A practical starting point is an AWS virtual machine. First design the system, then represent each required component with Terraform resource blocks. Each resource type maps through a provider to infrastructure such as a machine, DNS record, repository, or other vendor-managed component. section 2.1 section 2.5

Use infrastructure management with these operating principles:

  • Architect the desired system before selecting and writing resource blocks. section 2.5
  • Choose providers according to the vendors and systems being managed. section 1.2 section 1.2.4
  • Treat deployment as a risk-bearing operation because infrastructure may be serving users while it changes. section 8.2
Figure 1.1 Terraform has multiple levels of abstraction that allow developers to get things done without worrying about vendor-specific minutiae.

Use the abstraction diagram to distinguish Terraform configuration, Terraform core, providers, and vendor-specific infrastructure. section 1.2

How Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu covers it

How deep it goes
Explains providers, resources, state, backends, and workspaces, then stops short of detailed vendor-specific configuration.
Examples
Uses an AWS virtual machine, DNS records, repositories, and other provider-backed resources as concrete infrastructure examples.
What it assumes
Assumes a system design to encode while introducing infrastructure components and Terraform’s provider-resource model.
What you can do after
Build it from scratch by mapping a system design to Terraform resources and providers.
How it connects
Connects infrastructure with Terraform, providers, resources, state, backends, workspaces, and deployment.

Also explained in

Compare how 8 books explain infrastructure →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu. The section links point to the parts of the book it draws on.