IaC
also: Infrastructure as Code, IaC
Infrastructure as Code (IaC) is the practice of defining and managing computing infrastructure through machine-readable code files instead of manual configuration, enabling version control, automation, and reproducibility.
Infrastructure as Code treats your servers, networks, storage, and other infrastructure components as software that can be versioned, tested, and deployed programmatically. Instead of manually configuring systems through a GUI or SSH, you write declarative or imperative code that describes your desired infrastructure state.
Common IaC tools include Terraform (cloud-agnostic), Ansible (agentless automation), CloudFormation (AWS-specific), and Puppet (configuration management). For example, a Terraform file might define a Linux server with specific packages, network rules, and storage volumes all in one .tf file.
Benefits include consistency across environments, easier disaster recovery, the ability to track infrastructure changes in git, faster deployment, and reduced human error. IaC is fundamental to DevOps and cloud-native practices.