1. Les limites de l’administration manuelle (« ClickOps »)

Déployer des serveurs et des réseaux en cliquant dans des consoles graphiques présente des faiblesses critiques en entreprise :

  • Erreurs humaines inévitables : Oubli d’une case à cocher, paramètre mal orthographié, incohérence entre environnements.
  • Absence de traçabilité : Impossible de savoir qui a modifié un pare-feu la semaine dernière et pourquoi.
  • Impossibilité de reproduire l’environnement : En cas de sinistre majeur, reconstruire manuellement 50 serveurs et leurs réseaux prend des semaines au lieu de quelques minutes.

2. Modèle Déclaratif vs Modèle Impératif

Modèle Impératif (Scripts Bash / AWS CLI) :
"Crée d'abord un VPC, puis attends 5 secondes, puis crée une passerelle, puis route le trafic..."
-> Vous devez décrire chaque étape séquentielle et gérer les vérifications d'état.

Modèle Déclaratif (Terraform HCL) :
"Voici l'état final souhaité de mon infrastructure (1 VPC, 2 sous-réseaux, 1 serveur web)."
-> L'outil calcule lui-même les différences (graphe de dépendances) et applique les changements requis.

3. La dérive de configuration (Configuration Drift)

Le drift survient lorsqu’un administrateur effectue une modification manuelle urgente directement dans la console cloud sans l’enregistrer dans le code. Les outils d’IaC modernes comparent en permanence le code source avec la réalité du terrain et proposent de corriger immédiatement tout écart non consigné.

4. Le concept d’Infrastructure Immuable (Immutable Infrastructure)

Plutôt que de se connecter en SSH sur un serveur de production pour modifier un fichier de configuration, l’approche immuable consiste à détruire l’ancienne machine et à instancier un nouveau serveur flambant neuf contenant la nouvelle configuration. En cas d’anomalie, revenir en arrière consiste simplement à relancer la version précédente de l’image.

Ecosystème IaC : Bien que Terraform (et sa version open source communautaire OpenTofu) domine le marché mondial grâce à sa neutralité vis-à-vis des hébergeurs, des alternatives existent comme AWS CloudFormation, Azure Bicep ou Pulumi (IaC en TypeScript/Python).