Terraform lets you describe infrastructure — networks, servers, databases, DNS records, Kubernetes clusters — as code, preview exactly what will change, and apply those changes the same way every time. This section takes you from a first project that runs on your laptop with no cloud account to the practices teams use to run Terraform safely in production: remote state, reusable modules, isolated environments, automated tests, and plan-and-apply pipelines.
flowchart TD
A[Fundamentals and first project] --> B[Variables, outputs, locals]
B --> C[State and remote backends]
C --> D[Modules]
D --> E[Environments and workspaces]
E --> F[Testing and CI/CD]
F --> G[Interview preparation]
Fundamentals and Your First Project — providers, resources, the init/plan/apply loop, the lock file, and a hands-on project with no cloud account needed
Variables, Outputs, and Locals — typed inputs with validation, sensitive values, for_each vs. count, data sources, and lifecycle rules
State and Remote Backends — what state holds, S3 backends with native locking, drift, import, moved, and removed blocks
Modules — module structure, inputs and outputs as a contract, versioning, and composition