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







