Meaning
Infrastructure as Code (IaC) is the practice of managing and provisioning computing infrastructure through machine-readable definition files, rather than through physical hardware configuration or interactive configuration tools. It enables version control, repeatability, and automated deployment of environments using tools such as Terraform, AWS CloudFormation, or Ansible.
Primary Function
Provisioning and management of infrastructure
Communicative Purpose
Enable automated, repeatable, and version-controlled setup of computing resources.
Pattern
write infrastructure definitions in a declarative language → execute with an IaC tool → store definitions in version control
Função primária
Provisioning and management of infrastructure
Propósito comunicativo
Enable automated, repeatable, and version-controlled setup of computing resources.
Situações de gatilho
Setting up a new environment, scaling applications, disaster recovery, multi-cloud deployments
Contextos
DevOps, cloud computing, site reliability engineering, infrastructure automation
Padrão
write infrastructure definitions in a declarative language → execute with an IaC tool → store definitions in version control
Colocados típicos
- Terraform
- AWS CloudFormation
- Ansible
- Pulumi
- CDK
- version control (Git)
- CI/CD pipelines
Substituições comuns
- Manual configuration via GUI or CLI
- imperative scripts (shell
- Python)
- tradeoffs: less repeatability
- harder to audit
Erros comuns
Treating IaC as one-time script; not modularizing code; storing secrets in plain text; ignoring drift detection
Similar / contraste
Configuration management (e.g., Ansible, Chef) – focuses on configuring existing servers; Platform as a Service (PaaS) – abstracts infrastructure away; Containers – package applications but still need underlying infrastructure
Interferências
Coming from traditional sysadmin background: may view infrastructure as mutable servers to be logged into and patched manually, leading to resistance to declarative, immutable approaches
Família do chunk
- Declarative configuration
- immutable infrastructure
- configuration management
- container orchestration
Nuance
IaC works best with immutable infrastructure; state management is crucial; tool-specific language differences can cause lock-in; testing IaC (e.g., with Terratest) adds confidence
Efeito pragmático
Enables rapid, reliable environment provisioning; reduces configuration drift; supports disaster recovery and compliance auditing
Dica de memória
Think of IaC as the 'blueprint' for your data center, versioned like source code
Nota
IaC tools maintain a state file; store it securely and version it to avoid drift and ensure reproducible deployments.
Upgrade path
Learn advanced IaC patterns: modularity, policy as code (e.g., OPA), testing frameworks, multi-environment promotion
Log in to save chunks.