Terraform est un outil d'infrastructure as code créé par HashiCorp en 2014, qui permet de décrire une infrastructure (serveurs, réseaux, bases de données, comptes, DNS) dans des fichiers texte, puis de la créer et de la modifier automatiquement chez un ou plusieurs fournisseurs cloud.
On écrit l'état souhaité dans un langage déclaratif, le HCL. La commande plan calcule l'écart avec l'existant et montre ce qui va changer, apply applique les modifications. Terraform garde la trace de ce qu'il gère dans un fichier d'état (state), qu'il faut stocker et protéger avec soin. Des centaines de providers couvrent AWS, Azure, Google Cloud, OVHcloud, Scaleway, mais aussi des services comme Cloudflare ou Datadog.
En 2023, HashiCorp a passé Terraform sous une licence non open source. Une partie de la communauté a alors créé OpenTofu, un fork open source hébergé par la Linux Foundation et compatible avec les configurations existantes. HashiCorp a depuis été racheté par IBM.
Pourquoi ça compte quand on recrute
Terraform est une compétence de base pour un DevOps, un Platform Engineer ou un Cloud Engineer. Le vernis se repère vite : le candidat a modifié des fichiers existants, sans jamais concevoir l'organisation en modules ni gérer le state à plusieurs. Demandez comment il gère les environnements, les secrets et un state corrompu. Savoir s'il travaille sur Terraform ou OpenTofu est aussi un bon point de départ.
