A new team member asks what "Infrastructure as Code" means in practice. Which description is most accurate?
Choose one.
Infrastructure as Code (IaC) is the practice of managing infrastructure through machine-readable definition files that a tool executes, instead of manual processes or interactive consoles.
The defining property of IaC is that the infrastructure lives in files a tool can execute: Terraform reads HCL configuration and creates, updates or destroys real resources to match it. Because the files are plain text they also gain everything source code has: history, review and repeatable runs. The tempting distractors also mention version control, but a versioned runbook is still a manual process and versioned diagrams are not executable, so neither is code that provisions anything.
- Ask whether a tool executes the definition to build the infrastructure; that is the core of IaC.
- Notice that version control alone is not enough: runbooks and diagrams can be versioned too.
- Separate infrastructure from application code: deploying apps is CI/CD, not IaC.
Exam tip: IaC = infrastructure defined in files a tool executes, not instructions or pictures for humans.
Infrastructure as Code with Terraform: Concepts and Multi-Cloud Workflows — the lesson that teaches this.