Infrastructure as Code (IaC)
Abbreviation: IaC
Infrastructure as Code (IaC) means defining your cloud resources (networks, servers, databases, permissions) in version-controlled text files that a tool applies automatically, instead of clicking through a console. The files become the reviewable, repeatable source of truth for your infrastructure.
Infrastructure as Code (IaC) means defining your cloud resources (networks, servers, databases, permissions) in version-controlled text files that a tool reads and applies automatically, instead of clicking through a web console. The files become the source of truth: reviewable like code, repeatable on demand.
In plain terms
It’s the blueprint instead of the hand-built house. Rather than clicking together a VPC, subnets, and a database in the console and hoping someone documented it, you describe them in files, and running the tool builds the same environment every time, in minutes. Terraform (and its open source fork OpenTofu) works across all clouds; the native options are AWS CloudFormation, Azure Bicep, and Google Cloud’s Terraform-based tooling.
Why it matters when you migrate
- A migration builds the same environment at least three times. Dev, staging, and production need to match, and hand-built environments never quite do. IaC makes the landing zone and network stamps you reuse, and makes rollback a re-run instead of a memory test.
- It kills configuration drift. Console changes are invisible and unreviewed; IaC changes arrive as diffs a colleague approves, so “what changed on Tuesday?” has an answer in git.
- Auditors love it. Version-controlled infrastructure with reviewed changes is direct evidence for SOC 2 and similar audits of change control you would otherwise document by hand.