Infrastructure as Code (IaC)
Infrastructure as Code (IaC) is the practice of managing infrastructure (servers, networks, databases, load balancers) through declarative configuration files rather than manual setup through cloud consoles or CLI commands.
IaC enables version control for infrastructure (track changes in Git), reproducibility (create identical environments from the same config), automation (provision entire environments with one command), and consistency (eliminate configuration drift between environments).
Popular IaC tools include Terraform (multi-cloud, declarative, HCL syntax), AWS CloudFormation (AWS-specific), Pulumi (use programming languages instead of DSLs), and Ansible (procedural configuration management).
A typical IaC workflow involves writing configuration, planning changes (terraform plan shows what will change), applying changes (terraform apply creates/updates resources), and storing state (tracking what's currently deployed). Infrastructure changes go through the same code review process as application code.
Want to learn more?
Explore more developer terms or read in-depth articles on the blog.
Browse all terms