Skip to content
CloudWizz

Glossary

Infrastructure as Code (IaC)

Infrastructure as Code means defining servers, networks, and cloud resources in version-controlled configuration files instead of clicking through a cloud provider's console — so infrastructure changes get the same review, history, and repeatability as application code.

Before IaC, standing up a new environment usually meant someone clicking through a cloud console, remembering (or forgetting) the exact settings used last time. IaC tools — Terraform, Pulumi, AWS CDK, and others — let you describe the infrastructure you want in a file: “a Kubernetes cluster with these node pools, a database with this size, a load balancer pointing at these services.” The tool then figures out what needs to change to make reality match that description.

The practical payoff is the same one Git brought to application code: every infrastructure change is a diff someone can review before it’s applied, there’s a history of who changed what and why, and rebuilding an entire environment from scratch (disaster recovery, or spinning up a new region) is running the same code again, not remembering a list of manual steps.

The main tools differ mainly in language and state management: Terraform uses its own HCL syntax and is cloud-agnostic; Pulumi and AWS CDK let you write infrastructure in a general-purpose language (Python, TypeScript, Go) instead of a domain-specific one, which some teams prefer and others find adds unnecessary complexity for straightforward infrastructure.

Have a project that could use a sharper opinion?

Book a 30-min call →