Fiche technique | |
---|---|
Système d'exploitation : | Linux, macOS, Windows |
Auteur : | HashiCorp |
Date de publication : | 2014 à actuellement |
Catégorie : | Configuration |
Site Web : | https://www.terraform.io/ |
Sommaire
Terraform est un outil logiciel d'automatisation d'infrastructure en tant que code pour provisionner et gérer les ressources dans n'importe quel infonuagique ou centre de données.
Voici ses principales caractéristiques de Terraform :
- Infrastructure-as-Code (IaC) : Terraform permet de définir l'infrastructure sous forme de code, en utilisant un langage de configuration déclaratif appelé HashiCorp Configuration Language (HCL) ou JSON. Cela permet de gérer l'infrastructure de manière versionnée, de la même manière que le code source.
- Déclaratif et Immutable Infrastructure : Avec une approche déclarative, les utilisateurs indiquent l'état final souhaité pour leur infrastructure, et Terraform se charge de déduire les étapes pour y parvenir. Ce modèle immuable permet des déploiements plus fiables en minimisant les changements non souhaités.
- Multi-Cloud et Multi-Provider : Terraform prend en charge un large éventail de fournisseurs de services infonuagique (comme AWS, Azure, Google Cloud), ainsi que des fournisseurs privés (VMware, OpenStack). Cela permet de déployer une infrastructure hybride et multi-infonuagique avec un seul outil et un langage commun.
- Provisioning Automatisé et Idempotent : Terraform s'assure que les actions ne sont appliquées qu'une seule fois, et si l'infrastructure est déjà dans l'état souhaité, aucune modification n'est faite. L'outil peut aussi être intégré avec des outils de configuration comme Ansible ou Chef pour un provisioning plus poussé.
- Planification des changements : Avant d'appliquer des modifications, Terraform permet d'effectuer un "plan" (Terraform plan), montrant les actions étant effectuées sans les exécuter. Cela permet aux équipes de comprendre les changements à venir et d'identifier d'éventuels impacts.
- Modularité et réutilisation : Grâce aux modules Terraform, il est possible de créer des composants réutilisables d'infrastructure. Les équipes peuvent organiser et standardiser des configurations complexes, facilitant ainsi la cohérence et la réutilisation à travers différents projets.
- État d'Infrastructure (State) : Terraform conserve un état de l'infrastructure sous forme de fichier. Cet état est une source de vérité lui permettant de comparer l'infrastructure existante avec la configuration déclarée et de déterminer les changements nécessaires. Il peut être entreposé de manière sécurisée et centralisée pour les équipes.
- Communauté et Ecosystème : Terraform dispose d'une large communauté et d'un écosystème de modules et de providers, facilitant l'intégration avec divers services, infrastructures et outils de gestion.
Dernière mise à jour : Lundi, le 18 septembre 2023