Infrastructure as Code : optimiser la gestion des infrastructures informatiques

Développement
Renard avec lunettes manipulant des icônes de serveur et de code.

Table des matières :

  1. Qu’est-ce que l’Infrastructure as Code ?
  2. Pourquoi l’IaC est-elle incontournable en 2025 ?
  3. Les principaux frameworks IaC : Terraform, CloudFormation, Pulumi… et les autres
  4. Workflow GitOps + IaC : de la théorie à la pratique
  5. Sécurité et conformité : quand l’IaC rencontre le DevSecOps
  6. Mesurer la valeur business : KPI et ROI d’un projet IaC
  7. Cas d’usage : replatforming e-commerce haute disponibilité
  8. Bonnes pratiques de mise en œuvre et pièges à éviter
  9. Perspectives : IaC, IA générative et infrastructures autonomes

Qu’est-ce que l’Infrastructure as Code ?

L’Infrastructure as Code (IaC) est l’art – certains diront la science – de décrire son parc de serveurs, réseaux, bases de données et autres joyeusetés dans des fichiers versionnés, exactement comme on le fait pour une application. Autrement dit, on remplace la fameuse « procédure PDF qui traîne sur le NAS » par du code déclaratif ou impératif. Concrètement, on s’appuie sur des langages de description (HCL, YAML, JSON) et des moteurs d’exécution (Terraform, Ansible, Pulumi, AWS CloudFormation, etc.) qui traduisent ces fichiers en ressources réelles.

« La configuration manuelle est à l’infrastructure ce qu’un tableur non sauvegardé est à la comptabilité : un accident en attente de se produire. »
— ThoughtWorks Technology Radar, 2024

Pourquoi s’infliger tout cela ? Parce qu’un script Git peut se relire, se tester, se reviewer et se déployer automatiquement, contrairement à un ticket « merci de me créer trois VM pour avant-hier ». Comme le résume Kief Morris (ThoughtWorks) : « Infrastructure as Code transforme l’infrastructure d’un centre de coût nébuleux en un actif logiciel mesurable et améliorable. »

Dès que le code s’exécute, le moteur applique un graphe de dépendances et vérifie l’état désiré (desired state) contre l’état réel (actual state). C’est précisément ce cycle observe/plan/apply, popularisé par Terraform, qui apporte la fameuse « reproductibilité » et réduit les changements manuels – et donc les erreurs humaines – de 80 % selon une étude Forrester 2024.

Dans la Métropole de Lyon, où la Direction informatique de la collectivité gère plus de 1 200 VM réparties sur deux datacentres, l’introduction d’IaC a permis de ramener le temps moyen d’allocation d’une machine virtuelle de 4 jours à… 45 minutes, d’après un retour d’expérience présenté au BlendWebMix 2024.

Exemple concret

# main.tf – création d’un bucket S3 privé en région eu-west-3 (Paris)
provider "aws" {
  region = "eu-west-3"
}

resource "aws_s3_bucket" "assets" {
  bucket = "lyon-preprod-assets"
  acl    = "private"

  tags = {
    owner       = "infra-team"
    environment = "preprod"
    city        = "Lyon"
  }
}

Un terraform plan affiche l’impact ; un terraform apply déploie la ressource. Le même fichier, sur une autre branche Git, peut ensuite cibler la prod ou changer de région sans saisie humaine.

Pourquoi l’IaC est-elle incontournable en 2025 ?

Première raison : la complexité. Entre Kubernetes, micro-services, edge CDN et bases multi-régions, gérer l’infra « à la mano » relève aujourd’hui plus de l’archéologie que de l’ingénierie. L’IaC fournit une abstraction lisible et diffable. Corollaire : le Time To Market. Dans le e-commerce, livrer une nouvelle région AWS en 20 minutes au lieu de deux semaines, c’est un avantage compétitif concret sur le chiffre d’affaires.

Le rapport « State of DevOps 2024 » (Google) montre que 72 % des organisations “élite” pratiquent IaC + GitOps, contre 25 % des organisations “moyennes”.
— Google Cloud, 2024

Deuxième raison : la gouvernance et la conformité. Les équipes DevSecOps – cf. notre article « DevSecOps-as-a-service : intégrer la sécurité au pipeline CI/CD » – industrialisent les contrôles via des policies OPA ou des scanners comme Checkov. On parle d’Everything as Code : réseau, secrets, policies et même documentation.

Enfin, la pression budgétaire. Un rapport IDC Q1 2025 montre que les entreprises ayant basculé 70 % de leur infra dans Terraform ont réduit le coût d’exploitation de 35 % (heures hommes + frais de support cloud). Ajoutez-y les politiques FinOps pilotées par code (tags auto, alertes Budgets API) et vous obtenez un CFO enfin satisfait – miracle !

Les principaux frameworks IaC : Terraform, CloudFormation, Pulumi… et les autres

Terraform (HashiCorp) domine le marché – 70 % de part d’esprit selon le CNCF Survey 2025. Atout majeur : un langage déclaratif (HCL) multi-cloud avec un plan d’exécution avant changement. Sa philosophie « provider-agnostic » s’appuie sur plus de 2 500 providers officiels ou communautaires (y compris les exotiques, coucou Hetzner !).

CloudFormation reste le choix naturel des puristes AWS. Certes, le JSON/YAML verbeux pique les yeux, mais l’intégration native (StackSets, Drift Detection, Stack Policies) séduit les environnements soumis à des audits ISO 27001. Notons les extensions CDK (TypeScript, Python) qui transforment le YAML en code orienté objet.

Pulumi, de son côté, joue la carte « IaC pour développeurs » : on code l’infrastructure en Go, Python ou C#. On profite ainsi de l’autocomplétion, des tests unitaires et de GitHub Copilot. Résultat : moins de « copier-coller stackoverflow » et un delivery plus rapide. Pulumi prend aussi en charge les policy-as-code via CrossGuard.

N’oublions pas Ansible, plus proche de la configuration que de la création de ressources, mais indispensable pour la phase post-provisioning (hardening, déploiement applicatif). Dans un workflow moderne, Terraform crée les VM, Ansible les cuisine façon DevOps.

Vue d’ensemble rapide

CritèreTerraformCloudFormationPulumiAnsible
Multi-cloudOuiNon (AWS only)OuiOui
LangageHCLYAML / JSONPython, Go…YAML
Plan avant applyOuiOuiOuiN/A
Gestion état (remote)BackendStackServicePas d’état infra
Learning curve⭐⭐⭐⭐⭐⭐⭐

Workflow GitOps + IaC : de la théorie à la pratique

Le buzzword GitOps repose sur un principe simple : la source de vérité vit dans Git, le pipeline CI/CD lit et applique. Concrètement :

  1. Une Pull-Request modifie un fichier .tf ou .yaml.
  2. Un plan est généré et commenté automatiquement dans la PR.
  3. Après review, le merge déclenche l’apply dans l’environnement cible.

On parle souvent d’outils tels que Atlantis (terraform plan from PR), Argo CD ou Flux CD pour Kubernetes, ou encore Terraform Cloud avec sa remote state sécurisée. Le graphe de l’état stocké dans un backend S3 + DynamoDB (verrouillage) garantit l’atomicité des déploiements, même quand Michel de la compta lance un « terraform apply » local (on l’a tous vu…).

# .gitlab-ci.yml – extrait simplifié d’un pipeline IaC
stages:
  - plan
  - apply

plan:
  stage: plan
  script:
    - terraform init
    - terraform plan -out plan.tfplan
  artifacts:
    paths:
      - plan.tfplan

apply:
  stage: apply
  when: manual        # bouton "Deploy" dans l’interface GitLab
  script:
    - terraform apply -auto-approve plan.tfplan

Les équipes qui industrialisent le GitOps/IaC observent, d’après DORA Metrics 2024, une fréquence de déploiement multipliée par 8 et un MTTR divisé par 4. Pas mal pour trois fichiers HCL et un runner CI.

Sécurité et conformité : quand l’IaC rencontre le DevSecOps

Le mythe « IaC = sécurité automatique » est tenace. En réalité, coder la vulnérabilité ne la supprime pas ; elle devient juste pérenne. On introduit donc des contrôles.

Première ligne de défense : le scanning statique. Checkov, tfsec ou AWS CloudFormation Guard analysent le code à la recherche de S3 open-bar ou de security groups tout-permissifs. Un rapport détaillé est posté dans la PR, bloquant le merge si besoin.

Deuxième ligne : Policy as Code. OPA/Conftest ou Sentinel (Terraform Enterprise) formalisent les règles RGPD, PCI-DSS, ou « Zéro Trust by design » tel que décrit dans notre billet « Attaques par formulaires de contact : l’approche Zero Trust ». Exemple : interdire toute création de bucket public dans le workspace production.

Troisième ligne : le runtime. Là, les scanners CSPM (Cloud Security Posture Management) vérifient la dérive entre code et réalité. Si un admin modifie un SG à 3 h du mat’, le drift est détecté et une MR corrective est poussée automatiquement. Oui, Big Brother regarde, et c’est tant mieux.

Selon le rapport Palo Alto PrismaCloud 2025, les organisations qui automatisent ces trois lignes de défense réduisent de 60 % les incidents critiques liés au cloud.

Mesurer la valeur business : KPI et ROI d’un projet IaC

Parler « fichiers .tf » au COMEX, c’est la garantie d’un grand moment de solitude. Il faut traduire en chiffres.

KPI #1 : Lead Time Infrastructure. Objectif : < 1 jour entre la demande et la mise en prod. Avant IaC, la médiane tournait à 10-14 jours sur un portfolio de 200 VM (étude Gartner Infra 2024).

KPI #2 : Taux de drift. C’est le ratio de ressources dont l’état réel diffère du desired state. Un score < 2 % est considéré comme « audit-friendly ». Sans IaC, le drift grimpe facilement à 25 %, autant dire l’enfer pour un audit SOC2.

KPI #3 : Coût d’exploitation par ressource. Les équipes FinOps traquent le $/instance. Les tags générés par code alimentent les dashboards de Vikings Central, notre outil maison de dataviz (voir « Vikings Central – Veiller, analyser, améliorer votre e-commerce »). On observe en moyenne 20 % d’instances zombies en moins après six mois.

Mini-scenario : la startup Foodly à Lyon

IndicateurAvant IaCAprès IaC
Lead Time (jour)7,20,8
Drift (%)181,3
Dépenses AWS/mois42 k€31 k€

Le CFO a validé un ROI en… 5 mois.

Cas d’usage : replatforming e-commerce haute disponibilité

Imaginons une boutique PrestaShop réalisant 10 M€ de CA, hébergée sur deux VM fatiguées. L’objectif : passer sur un cluster Kubernetes multi-zone avec CDN Cloudflare et base Aurora MySQL.

Étape 1 : modélisation Terraform. Une douzaine de modules : VPC, EKS, RDS, WAF, Cloudflare Zone. Le diff complet tient dans 1 400 lignes de HCL. Temps de provisioning : 22 minutes, validé par le pipeline GitLab CI.

Étape 2 : configuration Ansible. Rôles de hardening CIS Benchmark, déploiement de l’image PrestaShop avec Helm Charts, injection de secrets via HashiCorp Vault.

Étape 3 : tests d’intrusion automatisés, comme décrit dans « Cybersécurité : l’importance des tests d’intrusion en entreprise ». Les findings critiques sont corrigés dans le code infra, commités, testés, mergés.

Résultat : SLA 99,95 %, latence divisée par 2 grâce au CDN, et… +12 % de conversion selon les stats Google Analytics. Comme quoi, l’infra vend.

Bonnes pratiques de mise en œuvre et pièges à éviter

  1. State Management : externalisez l’état dans un backend verrouillé (S3+DynamoDB, Consul). Si vous perdez le state, vous pleurez
  2. Modules réutilisables : pas de copier-coller. Factorisez vos patterns dans un registre privé. Vos futurs stagiaires vous remercieront
  3. Tagging standardisé : owner, cost-center, environment. C’est la base d’une stratégie FinOps et d’une facturation claire
  4. Tests : Terratest ou pytest-pulumi pour valider la sortie des modules avant le merge. Un plan vert n’est pas un test
  5. Versioning des providers : verrouillez vos versions. Terraform 1.10 qui casse la ressource aws_lb un vendredi après-midi, c’est vécu
  6. Formation : Un bootcamp interne d’une semaine coûte moins cher qu’un rollback production. Pour les retardataires, notre service « DevOps : création et optimisation d’infrastructures d’hébergement » se fera un plaisir d’acculturer vos équipes
  7. Sauvegardes : l’état Terraform n’est pas une stratégie backup. Pensez à la réplication cross-région

Perspectives : IaC, IA générative et infrastructures autonomes

L’IA générative s’invite déjà dans la partie. GitHub Copilot et ChatGPT-4o suggèrent des snippets Terraform optimisés. HashiCorp teste des prompts « describe my desired architecture » qui génèrent du HCL structuré. De son côté, Google Duet AI propose des blueprints Cloud Deployment Manager en langage naturel. Les premiers retours terrain montrent un gain de 30 % sur le temps de rédaction, mais aussi une hausse des erreurs subtiles. On appréciera la subtilité. Mais autrement dit : l’IA écrit vite, l’humain doit toujours relire.

Plus loin, on parle d’Infrastructure Autonome : combiner IaC, monitoring temps réel, AIOps et remediation automatique. Une règle Prometheus > 90 % CPU pourrait déclencher dynamiquement un terraform apply -auto-approve pour scaler. HashiCorp Waypoint, Kubernetes Operator et les workflows Event-Driven Terraform (EDT) sont des briques clés.

La question n’est plus « faut-il adopter l’IaC ? » mais « quelle maturité d’IaC vise-t-on d’ici 18 mois ? ». Face à une concurrence toujours plus rapide, l’infrastructure scriptée n’est pas qu’un luxe technique ; c’est une condition de survie business.

Pour aller plus loin, n’hésitez pas à consulter notre dossier « Cloud computing : moteur d’innovation pour la transformation des PME » ou à nous contacter directement via la page Contact (elle sert à ça, étonnamment.)

Pour une vision globale des tendances IaC, le rapport complet est disponible sur le site de la Cloud Native Computing Foundation (CNCF, 2025).

Kévin DECQ-CAILLET, Directeur associé

Co-fondateur du studio de développement Les Vikings, mon cœur est voué aux paradoxes. Amour de la technologie et de l'Histoire (de 793 à 1805), passion pour la gestion et le potager. Accessoirement, une expérience de plus de 15 ans dans le domaine du numérique. Ce qui implique que j'en sais assez pour reconnaître que j'ai tout à apprendre.