Manual provisioning can leave deployment environments inconsistent. Infrastructure as code (IaC) defines system resources and their topology in a descriptive model, so teams can manage infrastructure definitions in version control rather than relying on manual setup. section 1.2
Definitions can describe networks, virtual machines, and load balancers. Tools such as Terraform, Ansible, and AWS CloudFormation automate provisioning from those definitions. Reapplying them helps teams recreate the same environment, reduce drift, and make deployments more repeatable. section 1.2
IaC concerns infrastructure; configuration as code applies a similar version-controlled approach to deployed applications. Both fit alongside CI/CD practices that build and deploy tested artifacts. section 1.2













