Infrastructure as Code (IaC)
L'IaC consiste a decrire votre infrastructure dans des fichiers de code plutot que de la configurer manuellement via des interfaces graphiques.
Pourquoi l'IaC ?
- Reproductibilite — Meme code = meme infrastructure, a chaque fois
- Versionnement — L'infra est dans Git, avec historique et revue de code
- Automatisation — Plus de clics manuels, moins d'erreurs humaines
- Documentation vivante — Le code EST la documentation de l'infra
Terraform dans l'ecosysteme
Terraform est un outil open source cree par HashiCorp. Il utilise le langage HCL (HashiCorp Configuration Language).
# Exemple minimal Terraform
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
tags = {
Name = "mon-serveur-web"
}
}
Terraform vs les alternatives
| Outil | Approche | Cloud |
|---|---|---|
| Terraform | Declaratif, multi-cloud | AWS, Azure, GCP, etc. |
| CloudFormation | Declaratif | AWS uniquement |
| Ansible | Imperatif/Declaratif | Multi-cloud + config |
| Pulumi | Declaratif (langages generaux) | Multi-cloud |
Point cle : Terraform est declaratif : vous decrivez l'etat desire, Terraform calcule les actions necessaires.