1.2.1. The Advantages of IaC Patterns
💡 First Principle: Each IaC advantage traces back to one root cause — the infrastructure definition is now a durable, shareable artifact — so if you can explain that root cause you can derive the advantages rather than memorize a list.
The headline advantages the exam expects you to know:
- Repeatability and consistency. The same configuration produces the same environment every time, eliminating the "works in staging but not production" class of problems caused by hand-built drift between environments.
- Version control and history. Every change is committed, so you have a complete audit trail of who changed what and when, plus the ability to roll back to a known-good state.
- Code review and collaboration. Changes go through pull requests, letting peers catch mistakes before they reach real infrastructure.
- Documentation as code. The configuration is the documentation — it can never be out of date with reality the way a wiki page can, because Terraform enforces it.
- Reduced human error. Automation removes the fat-finger mistakes of manual console work and makes complex, multi-step provisioning reliable.
⚠️ Exam Trap: Watch for answer choices that claim IaC "eliminates the need for testing" or "guarantees zero downtime." IaC reduces error and improves consistency; it does not remove the need for good practices. Nor does it stop anyone changing a managed resource outside Terraform (in the console, say): that change becomes drift, which the next terraform plan reveals so you can correct it or bring it into the code. The exam favors measured, accurate claims over absolute ones.
Reflection Question: Of the advantages above, which single root capability do all of them ultimately depend on?