Infrastructure as Code (IaC) defines cloud infrastructure in version-controlled configuration files rather than manual console clicks. Terraform is the most widely used IaC tool for cloud data engineering — it supports all three major cloud providers with the same HCL configuration language, maintains a state file tracking provisioned resources, and applies only the changes needed on each run. Clicking through the AWS console to create a VPC produces unreproducible infrastructure; a Terraform configuration produces identical infrastructure in any environment on any day.
The Terraform workflow has three commands: `terraform plan` (computes the difference between the current state and the desired configuration, showing what will be created, modified, or destroyed), `terraform apply` (executes the plan and updates the state file), and `terraform destroy` (removes all resources tracked in the state file). This plan-before-apply model prevents surprise infrastructure changes — reviewing the plan output before apply is equivalent to reviewing a database migration before running it in production. The state file is the source of truth for what Terraform knows about the current infrastructure.