Terraform

DevOps 🟡 Mid

Définition

Outil d'infrastructure as code créé par HashiCorp : on déclare l'infrastructure en HCL, on planifie puis on applique les changements de façon idempotente. En août 2023, HashiCorp a fait passer Terraform de la licence MPL 2.0 à la BSL 1.1 (source disponible, non open source), ce qui a donné naissance au fork OpenTofu sous la Linux Foundation. IBM a finalisé le rachat de HashiCorp le 27 février 2025 sans changer la licence.

Analogie

Un architecte avec un plan : tu dessines l'infrastructure souhaitée et Terraform construit ou modifie pour correspondre.

Exemple de code

resource "aws_instance" "api" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"
  tags = { Name = "api-server" }
}
# terraform plan -> terraform apply

Cas d'usage

Gérer toute l'infrastructure cloud de manière versionnée, reproductible et auditable.

Anti-pattern

terraform apply sans plan ni revue ; ou embarquer Terraform dans un produit concurrent d'HCP sans lire la clause « Additional Use Grant » de la BSL.

Termes liés

#devops#iac#interview

En entretien

  1. Explique-moi Terraform.

    C'est un outil d'infrastructure as code créé par HashiCorp : on déclare l'infrastructure en HCL, on planifie puis on applique les changements de façon idempotente. C'est comme un architecte avec un plan, on dessine l'infrastructure souhaitée et Terraform construit ou modifie pour correspondre.

  2. Quel changement de licence a marqué Terraform en 2023 ?

    HashiCorp est passé de la licence MPL 2.0 à la BSL 1.1, source disponible mais non open source, ce qui a donné naissance au fork OpenTofu sous la Linux Foundation. IBM a finalisé le rachat de HashiCorp le 27 février 2025 sans changer la licence.

  3. Quel anti-pattern faut-il éviter avec terraform apply ?

    Lancer terraform apply sans plan ni revue préalable, ce qui risque d'appliquer des changements non anticipés en production. Il faut aussi lire la clause Additional Use Grant de la BSL avant d'embarquer Terraform dans un produit concurrent d'HCP.

Dans l'actu

  • 26/08 HashiCorp publie Terraform 1.16.0 : bloc « store » dans terraform_data pour conserver des valeurs éphémères/sensibles entre plan et apply, blocs import utilisables dans les modules, données privées de provider stockées dans le state et binaire Linux s390x. Bilan août 2026 →

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre