Many engineers assume Terraform manages everything after an EC2 instance is created. It does not.
Terraform manages cloud resources through provider APIs, while the operating system remains outside Terraform’s state. That distinction explains why installing packages, editing configuration files, or restarting services cannot be continuously enforced by Terraform.
This lesson demonstrates where Terraform’s responsibility ends, why provisioners do not replace configuration management, and why separating infrastructure from operating system configuration produces more predictable deployments.

