--- title: Infrastructure as Code (IaC) created: 2026-06-06 updated: 2026-06-06 type: concept tags: [tech, devops, automation] confidence: high contested: false sources: [synthesized] --- # 🏗️ Infrastructure as Code (IaC) ## Définition Courte Pratique consistant à **définir l'infrastructure** (serveurs, réseaux, DNS, etc.) dans des fichiers de configuration versionnés, plutôt que via des clics manuels. ## Explication Détaillée L'IaC permet : - **Reproductibilité** : recréer un environnement identique en une commande. - **Versionnement** : l'infra évolue comme du code (Git, PR, code review). - **Documentation vivante** : le code EST la doc. - **Disaster recovery** : reconstruction rapide. Deux approches : - **Déclaratif** : on décrit l'état final (Terraform, Pulumi, CloudFormation). - **Impératif** : on décrit les étapes (Ansible, Chef, Puppet). ## Cas d'Usage - Déployer une stack cloud complète (VPC, EC2, RDS). - Gérer un parc de serveurs (on-prem ou cloud). - Provisionner un homelab reproductible. ## Outils Liés - **Terraform** (HashiCorp) : standard multi-cloud. - **Pulumi** : IaC en vrais langages (TS, Python, Go). - **Ansible** : configuration + provisionnement. - **OpenTofu** : fork open-source de Terraform. ## Pages Liées - [[automatisation-dotfiles]] - [[idempotence]] - [[docker]] ## Questions Ouvertes - L'IaC a-t-il un coût initial trop élevé pour de très petits projets ? - Pulumi va-t-il remplacer Terraform ?