Qu’est-ce que CloudFormation ?
CloudFormation est un service proposé par Amazon Web Services (AWS).
Il permet de créer, gérer et déployer des ressources cloud automatiquement.
Plutôt que de tout configurer manuellement, on décrit les ressources dans un fichier texte.
Ce fichier devient une « infrastructure comme du code » (Infrastructure as Code en anglais).
À quoi sert CloudFormation ?
CloudFormation aide à automatiser la création d'infrastructures cloud fiables et cohérentes.
Il évite les erreurs humaines lors du déploiement de serveurs, bases de données ou réseaux.
Une entreprise peut ainsi reproduire exactement le même environnement plusieurs fois.
Cela est utile en développement, en test ou pour créer des copies d’un système en production.
C’est aussi une solution adaptée pour documenter et versionner l’architecture technique.
Comment fonctionne CloudFormation ?
Le fonctionnement repose sur des fichiers de configuration appelés « templates ».
Ces fichiers sont écrits en JSON ou YAML, deux formats textuels simples et lisibles.
Ils décrivent les ressources à créer, comme des serveurs, des bases de données ou des règles réseau.
CloudFormation lit ce fichier et construit l’environnement dans le cloud AWS.
Si des changements sont nécessaires, on modifie le fichier et CloudFormation ajuste l’infrastructure.
Tout le processus est automatique, reproductible et sécurisé.
Différences avec des notions proches
Terraform est souvent comparé à CloudFormation. Les deux outils servent à automatiser l’infrastructure.
Mais Terraform peut gérer plusieurs fournisseurs cloud (AWS, Azure, Google Cloud), alors que CloudFormation est exclusif à AWS.
De son côté, AWS CDK (Cloud Development Kit) est une alternative plus récente à CloudFormation.
Il permet de créer l’infrastructure à l’aide d’un langage de programmation (comme TypeScript ou Python).
Cependant, AWS CDK génère en réalité des templates CloudFormation en arrière-plan.
Exemples ou cas d’usage concrets
Un développeur peut utiliser CloudFormation pour créer automatiquement une application web avec ses ressources associées.
Cela inclut un serveur, une base de données, un système de stockage et des permissions d’accès.
Une équipe DevOps peut déployer la même infrastructure sur plusieurs régions AWS grâce à un seul fichier CloudFormation.
Un recruteur peut demander à un candidat DevOps s’il sait manipuler CloudFormation, car c’est une compétence très recherchée.
Un responsable IT peut auditer l’infrastructure existante plus simplement, car tout est documenté dans les templates.