## TL;DR

IaC manages infrastructure through machine-readable definition files rather than manual configuration. Tools: Terraform (HCL, multi-cloud), Pulumi (general-purpose languages), CloudFormation (AWS-native), Ansible (configuration management). Version-controlled infrastructure enables reproducibility, code review, and automated testing.

## Core Explanation

Declarative (Terraform: define desired state) vs. imperative (Ansible: define steps). Terraform state file tracks real-world resources — must be stored securely (S3 + DynamoDB locking). Modules enable reusable infrastructure components. Plan phase shows changes before apply. State drift: when real infrastructure differs from state file.

## Further Reading

- [Terraform Documentation](https://developer.hashicorp.com/terraform/docs)