Terraform est un outil open source permettant de construire, de modifier et de versionner une infrastructure de manière sûre et efficace. Terraform peut gérer des fournisseurs de services existants et populaires ainsi que des solutions internes personnalisées.
Il permet aux utilisateurs de définir à la fois des ressources sur site et dans le cloud dans des fichiers de configuration lisibles par l’homme qui peuvent être facilement versionnés, réutilisés et partagés. Terraform peut être utilisé pour gérer à la fois les composants de bas niveau (comme les ressources de calcul, de stockage et de mise en réseau) et les ressources de haut niveau (composants DNS, PaaS et SaaS).
Terraform est un outil déclaratif simplifiant davantage l’expérience utilisateur en permettant aux utilisateurs de spécifier l’état attendu des ressources sans avoir à spécifier les étapes exactes pour atteindre l’état souhaité des ressources. Terraform gère la manière dont l’infrastructure doit être modifiée pour obtenir le résultat souhaité.
Terraform est un outil indépendant de la plate-forme, ce qui signifie qu’il peut être utilisé par n’importe quel fournisseur pris en charge. Terraform y parvient en interagissant avec les API des fournisseurs de cloud. Lorsqu’une configuration est effectuée via Terraform, il communiquera avec la plate-forme nécessaire via l’API et s’assurera que les modifications définies sont effectuées dans la plate-forme ciblée. Avec plus de 1 700 fournisseurs de HasiCorp et de la communauté Terraform disponibles avec le registre Terraform, les utilisateurs peuvent configurer les ressources des principaux fournisseurs de cloud comme Azure, AWS, GCP et Oracle Cloud vers des plateformes plus spécifiques à un domaine comme Cloudflare, Dynatrace, elastic stack, datadog , et Kubernetes.
Le flux de travail Terraform
Le workflow Terraform est l’un des workflows les plus simples composé uniquement de trois étapes pour gérer tout type d’infrastructure. Il offre aux utilisateurs la possibilité de modifier le flux de travail pour répondre à leurs besoins de mise en œuvre exacts.