Terraform & Infrastructure as Code
Infrastructure as Code is now a baseline skill like Git, and Terraform is the dominant tool for declaring cloud infrastructure across providers. This course builds the core mental models — declarative resources, state and drift, the dependency graph, modules, and environment promotion — so you can reason about production infrastructure changes before they happen. Each lesson pairs real HCL and CLI with a runnable JavaScript model of the underlying logic.
5 lessons · ~1.5 hours
1. IaC Core
Resources, plan & apply
You declare resources against a provider; Terraform diffs that desired config against recorded state and applies the create/update/destroy actions needed to converge.
State & drift
Terraform records what it built in a state file; remote state shares it across a team, and drift is the gap that opens when reality changes outside Terraform.
The dependency graph
References between resources create implicit dependencies; Terraform builds a DAG from them and orders create, update, and destroy operations accordingly.
Variables, outputs & modules
Variables parameterize a config, outputs expose computed values, and modules package resources into a reusable unit with a typed interface.
Workspaces & environments
One config, many environments — render the same resources with a per-environment variables map and promote changes dev to staging to prod.