Introduction a Terraform et l'IaC 15 min de lecture

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

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

OutilApprocheCloud
TerraformDeclaratif, multi-cloudAWS, Azure, GCP, etc.
CloudFormationDeclaratifAWS uniquement
AnsibleImperatif/DeclaratifMulti-cloud + config
PulumiDeclaratif (langages generaux)Multi-cloud
Point cle : Terraform est declaratif : vous decrivez l'etat desire, Terraform calcule les actions necessaires.