Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Panorama des outils de provisionnement d'infrastructure

Par mis à jour le

Améliorer cette page

Le provisionnement crée les ressources d'une infrastructure (machines, réseaux, stockage, bases managées) à partir d'une description écrite, au lieu de clics dans une console. Cette page est le panorama de la famille : Terraform et son fork OpenTofu, Pulumi, CloudFormation, Crossplane, puis les outils compagnons (Packer, Terragrunt). Elle vous aide à comparer leur modèle, leur licence et leur place, avant de choisir. Elle s'adresse à qui connaît la définition de l'IaC et lit du YAML ; les extraits des pages liées sont à lire avant d'être exécutés.

  • situer Terraform, OpenTofu, Pulumi, CloudFormation et Crossplane ;
  • comparer leur modèle de description et leur licence ;
  • comprendre où se placent Packer, Terragrunt et l'infrastructure immuable ;
  • choisir par où commencer selon votre contexte.

Qu'est-ce que le provisionnement d'infrastructure ?

Section intitulée « Qu'est-ce que le provisionnement d'infrastructure ? »

Le provisionnement est l'étape qui fait exister les ressources : une VM, un sous-réseau, un cluster, un bucket. Il a longtemps été manuel, de la configuration matérielle à l'installation des logiciels, avec les défauts habituels : lent, sujet aux erreurs, difficile à reproduire. Les outils modernes remplacent ces gestes par une description versionnée que l'outil applique via les API des fournisseurs.

Il ne faut pas le confondre avec la gestion de configuration, qui règle ce qui tourne sur les machines une fois créées : cette frontière est expliquée dans la leçon Provisionnement vs gestion de configuration. Les outils présentés ici relèvent du premier cas.

Terraform décrit l'infrastructure dans le langage déclaratif HCL et produit, avant toute modification, un plan de ce qu'il va créer, modifier ou supprimer. Il gère des ressources chez de nombreux fournisseurs (AWS, Azure, Google Cloud et bien d'autres) grâce à ses providers, et réutilise le code par des modules. Le guide complet est la formation Terraform.

Sa licence a changé : annoncée en août 2023, la Business Source License 1.1 s'applique depuis la version 1.6.0 (octobre 2023). Elle n'est plus une licence open source au sens strict, et IBM a finalisé le rachat de HashiCorp le 27 février 2025. En réaction est né OpenTofu, un fork sous licence MPL-2.0, que ce site traite par ses différences avec Terraform dans la section OpenTofu. La clause « Additional Use Grant » de la licence autorise l'usage en production, sauf pour proposer Terraform à des tiers, en mode hébergé ou embarqué, en concurrence avec les versions payantes d'IBM, et elle précise que l'usage interne à une organisation n'est pas une offre concurrente. Cela rend la BSL peu gênante pour un usage interne, mais lisez le texte de la licence, ou demandez à votre service juridique, si vous construisez un produit autour de Terraform ou si votre politique impose une licence open source.

Pulumi : l'infrastructure dans un langage généraliste

Section intitulée « Pulumi : l'infrastructure dans un langage généraliste »

Pulumi décrit l'infrastructure avec des langages de programmation généralistes comme TypeScript, Python ou Go, au lieu d'un langage dédié. Il est open source depuis son lancement en juin 2018, avec une CLI sous licence Apache-2.0, et ne peut donc plus être présenté comme un outil « nouveau ». Les boucles, fonctions et tests du langage s'appliquent alors à l'infrastructure, au prix d'une plus grande liberté, donc de plus de discipline pour garder un code lisible.

Le choix entre langage dédié et langage généraliste est un arbitrage à part entière, traité dans la leçon Langage dédié ou généraliste. La mise en pratique se trouve dans la formation Pulumi.

AWS CloudFormation est le service natif d'AWS : on décrit des ressources dans un modèle en JSON ou en YAML, regroupées en stacks. Son intégration est la plus profonde avec les services AWS, il gère les dépendances entre ressources et effectue par défaut un retour arrière automatique quand la création ou la mise à jour d'une pile échoue (ce comportement se désactive par option). Il est propre à AWS : ce qui est écrit en CloudFormation ne se réutilise pas chez un autre fournisseur. Une page lui est consacrée : CloudFormation.

Crossplane étend Kubernetes pour que les ressources cloud deviennent des objets Kubernetes, décrits en YAML et réconciliés en continu par des contrôleurs. L'outil ne convertit pas une description une fois : il surveille en permanence l'écart avec le cloud et le corrige. C'est un projet de la CNCF, qui a atteint le niveau Graduated le 28 octobre 2025, signe de maturité. Il convient aux équipes qui exploitent déjà Kubernetes et veulent offrir à leurs développeurs une plateforme en libre-service. Aucune page de ce site ne lui est dédiée à ce jour.

Cette réconciliation continue, opposée à la convergence ponctuelle d'un terraform apply, est détaillée dans la leçon Idempotence, convergence et dérive.

Ansible est avant tout un outil de gestion de configuration, même s'il dispose de modules cloud qui lui permettent de créer certaines ressources. Il perd en lisibilité quand il devient le registre d'une grande infrastructure durable, comme l'explique la leçon Terraform vs Ansible.

Packer ne crée pas des machines mais des images prêtes à l'emploi à partir d'une description en HCL ; son guide est Packer. Terragrunt est une surcouche qui lance Terraform ou OpenTofu à votre place : elle évite la répétition de la configuration des backends et des providers entre de nombreux projets, et exécute ces projets dans l'ordre de leurs dépendances ; voir Terragrunt. Vagrant crée des environnements de développement locaux reproductibles : Vagrant.

L'infrastructure immuable n'est plus une tendance à surveiller : c'est un patron établi. Au lieu de modifier une machine en production, on construit une image neuve, on la déploie, puis on supprime l'ancienne. Elle réduit les écarts de configuration et améliore la reproductibilité et la sécurité, au prix d'une chaîne de construction d'images. Les conteneurs en sont l'exemple le plus courant, et Packer l'outil classique pour les machines virtuelles. Les arbitrages sont décrits dans la leçon Infrastructure mutable ou immuable.

Trois critères suffisent pour une première décision. Le fournisseur d'abord : sur AWS seul, CloudFormation est cohérent ; sur plusieurs, Terraform, OpenTofu ou Pulumi. Les compétences ensuite : une équipe d'exploitation à l'aise avec un langage dédié choisira Terraform ou OpenTofu, une équipe de développeurs préférera Pulumi. La licence enfin : BSL pour Terraform, MPL-2.0 pour OpenTofu, Apache-2.0 pour Pulumi.

À grande échelle, d'autres sujets entrent en jeu : gestion de la complexité (dépendances entre ressources, découpage en projets), orchestration des changements, élasticité des environnements et reprise après sinistre. Ils relèvent moins du choix d'outil que de la structure du dépôt et des pratiques d'équipe.

  • Le provisionnement crée les ressources via les API des fournisseurs, à partir d'une description versionnée.
  • Terraform est sous BSL 1.1 depuis la 1.6.0 et appartient à IBM depuis le 27 février 2025 ; OpenTofu en est le fork MPL-2.0.
  • Pulumi est open source depuis juin 2018 (CLI Apache-2.0) et utilise des langages généralistes.
  • CloudFormation est propre à AWS ; Crossplane, projet CNCF Graduated depuis le 28 octobre 2025, provisionne par Kubernetes avec réconciliation continue.
  • Packer construit des images, Terragrunt organise les projets Terraform ; l'immuable est un patron établi, pas une tendance.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn