Infrastructure as Code
Managing servers, networks, and cloud resources through declarative configuration files instead of manual setup. Terraform, Pulumi, and CloudFormation are IaC tools.
What is Infrastructure as Code?
Managing servers, networks, and cloud resources through declarative configuration files instead of manual setup. Terraform, Pulumi, and CloudFormation are IaC tools.
Infrastructure as Code is a intermediate-level concept that sits in the Cloud Infrastructure area of system design. Engineers reach for it whenever they need to reason about real-world trade-offs in that space — not just for textbook correctness, but because real production systems at companies like Netflix, Amazon, and Google make these decisions every day.
If you want to go deeper than this definition — with diagrams, code, and a quiz to lock it in — work through the "Infrastructure as Code" lesson linked below. It walks through the why, the mechanism, the trade-offs, and how the giants actually use it in production.
Learn Infrastructure as Code in depth
Full interactive lesson with diagrams, code examples, real-world references, and a quiz.
Open the Infrastructure as Code lessonRelated lessons
Lessons that touch on Infrastructure as Code as part of a larger topic.
Infrastructure as Code
Define infrastructure in version-controlled code. Terraform, Pulumi, and reproducible environments
advanced · reliability resilience
Infrastructure as Code (IaC)
Defining servers, networks, databases, and cloud resources in declarative code files instead of clicking through consoles
intermediate · devops cicd
See also
Related glossary terms you might want to look up next.
Terraform
An open-source IaC tool by HashiCorp that provisions infrastructure across any cloud provider using declarative HCL configuration. Plan, apply, destroy.
Ansible
An agentless automation tool for configuration management, application deployment, and orchestration. Uses YAML playbooks and connects over SSH.
GitOps
Using Git as the single source of truth for infrastructure and application configuration. Changes are made via pull requests and automatically reconciled by tools like ArgoCD or Flux.