Guide Infrastructure-as-Code : ce qu’il faut savoir sur HashiCorp (Terraform)
Introduction
HashiCorp équiperait, avec son logiciel Terraform, 23,74 % des entreprises qui ont choisi une solution d’Infrastructure-as-Code pour déployer leurs plateformes applicatives en cloud. C’est en tout cas ce que comptabilisait, au moment de l’écriture de ces lignes, le site Datanyze, lequel dresse des statistiques sur les technologies utilisées en cloud selon les signatures des sites web. Terraform serait donc la solution la plus utilisée dans son domaine, à égalité avec Ansible de Red Hat, que Datanyze crédite de 24,06 % de déploiements, et devant Puppet (14,14 % des déploiements).
Ces chiffres reflètent plus la popularité du logiciel d’HashiCorp que son succès commercial. Et pour cause : Terraform, comme Ansible, et comme Puppet sont depuis le départ des projets Open source, téléchargeables gratuitement. Du moins, Terraform correspondait à cette description jusqu’à il y a peu. Car devant la profusion de versions commerciales concurrentes, assemblées depuis ses propres codes sources, HashiCorp a décidé en août 2023 de fermer le robinet. Si la licence propriétaire choisie par HashiCorp, la BSL, permet à ses clients et ses partenaires d’exploiter une édition communautaire gratuitement, gare aux éditeurs qui chercheraient à lui prendre des parts de marchés avec ses propres outils. Pour autant, le message est clair pour les clients : l’entreprise mise sur ses éditions achetables, livrées clefs en main sous la forme de VMs ou de services SaaS.
HashiCorp a donc ceci de particulier qu’il a l’enjeu de transformer sa forte popularité en succès commercial. Pour y parvenir, il s’efforce désormais de produire des caractéristiques qui plaisent aux entreprises : des fonctions « d’IA » qui corrigent toutes seules les erreurs humaines, des raccourcis qui permettent d’enchaîner automatiquement des légions d’opérations répétitives. L’accent est aussi fortement mis sur le maintien de la sécurité dans des déploiements complexes, typiquement lorsqu’une application doit communiquer quantité d’identifiants et de clés API afin d’accéder à des services annexes éparpillés entre plusieurs clouds.
En pratique, Terraform est la locomotive du catalogue d’HashiCorp et sa fonction est de scripter les configurations des plateformes applicatives pour automatiser les mises en production, les tests, le maintien en conditions opérationnelles. Un langage, le HCL, sert à définir des éléments de l’infrastructure à déployer ; il suffit d’écrire un script par plateforme. Et cela fonctionne, que la cible soit un datacenter privé, le cloud public d’un hyperscaler, ou un peu tout cela à la fois.
De l’aveu d’HashiCorp, les utilisateurs adopteraient le plus souvent Terraform au moment où ils basculent leurs plateformes applicatives en cloud. Car, dès lors, les services qui servent à calculer, à sécuriser, à communiquer ou à stocker sont bien plus longs à configurer et bien plus tentaculaires que des serveurs et des baies de stockage auxquels les routeurs du data center attribuent des adresses IP.
À côté de Terraform, HashiCorp propose des modules pour compléter l’offre entreprise : Packer (pour préparer les éléments d’infrastructure), Waypoint (pour que les développeurs choisissent à la souris lesquels de ces éléments sont nécessaires à leur application), Vault (pour centraliser tous les secrets – identifiants, clés, données sensibles…), Boundary (pour les communiquer de manière chiffrée), Consul (pour optimiser le fonctionnement entre plusieurs instances), etc.
Tout cet attirail vaut-il la peine de payer pour l’utiliser ? Ce guide a vocation à présenter HashiCorp au travers de ses nouvelles solutions, de son contexte historique et de quelques-uns de ses usages, afin de donner des éléments de réponse.
1 Solutions-
Les annonces d’HashiConf 2023
HashiCorp : « Seuls 10 à 15 % des entreprises sont prêtes pour le cloud »
Dans cette interview, le PDG Dave Mc Jannet explique que les entreprises font face à des coûts trop élevés en cloud, car elles échouent à centraliser le contrôle de leurs plateformes. Il revendique de proposer des outils plus que jamais taillés pour elles. Lire la suite
HashiConf 2023 : Terraform plus que jamais une solution d’entreprise
Lors de son événement annuel, l’éditeur HashiCorp s’est efforcé de démontrer que sa solution d’Infrastructure-as-Code était désormais bien plus outillée pour la production que ses alternatives Open source. Lire la suite
HashiConf 2023 : éviter les failles malgré les strates du cloud
Lors de sa conférence à San Francisco, l’éditeur HashiCorp a déroulé les nouvelles fonctions de ses logiciels de sécurité, censées garantir que les clés servant à passer de service en service ne tombent pas dans de mauvaises mains. Lire la suite
2Contexte-
Le récit d’une sortie de l’Open source
Pour lutter contre ses compétiteurs, HashiCorp (Terraform) abandonne l'open core
HashiCorp, le principal contributeur de Terraform, adopte la licence BSL pour toutes ses futures versions de produits. Permissive pour la plupart des usagers, celle-ci interdit l’utilisation des logiciels à des fins commerciales, ce qui relance les questions relatives au modèle open core. Lire la suite
OpenTF : des éditeurs vent debout contre le changement de licence de Terraform
Sans véritable surprise, le changement de licence chez HashiCorp provoque la discorde auprès des éditeurs et usagers qui exploitent Terraform. L’affaire prend racine avant l’adoption du modèle commercial chez l’éditeur californien. Celui-ci aurait ignoré des contributions open source, selon les allégations de membres de la communauté. Lire la suite
Fork de Terraform : OpenTF met sa menace à exécution
Ce groupe, dirigé par des éditeurs, souhaite donner à une fondation, idéalement la Fondation Linux et plus particulièrement à la CNCF, un fork dérivé de la dernière version open source de l’outil d’infrastructure as code. Lire la suite
Terraform : la Linux Foundation accueille OpenTF sous le nom… OpenTofu
OpenTF, le projet de fork de Terraform a obtenu gain de cause auprès de la Fondation Linux qui l’accueillera sous son ombrelle. Pour l’occasion, le projet est renommé OpenTofu afin d’éviter les foudres des avocats d’HashiCorp. Lire la suite
3Pratique-
Comment s’utilise Terraform
Prise en main : Terraform et la gestion du multi-cloud
Terraform permet de configurer le provisioning de ressources sur plusieurs plateformes cloud. Une traduction du multi-cloud et de l’infrastructure as code. Lire la suite
Comment créer une instance EC2 avec Terraform
Avec Terraform, les développeurs peuvent s’appuyer sur des pratiques de programmation familières pour fournir les ressources sous-jacentes à leurs applications. Suivez ce tutoriel pour débuter avec l’outil d’IaC et déployer une instance Amazon EC2. Lire la suite
Comment déployer un cluster EKS à l’aide de Terraform
Évolutivité, infrastructure reproductible et rentabilité font partie des avantages de Terraform. Suivez ce tutoriel étape par étape pour apprendre à déployer un cluster EKS à l’aide de Terraform. Lire la suite
Comment déployer du code Terraform dans un pipeline Azure DevOps
L’automatisation dans le cloud vous permettra d’être non seulement plus réactif, mais aussi plus efficace. Apprenez à créer un pipeline Azure DevOps avec du code Terraform. Lire la suite
IaC : les différences entre les templates ARM et Terraform
Les templates ARM et Terraform sont des fichiers populaires dans le cadre d'une configuration d'une infrastructure as code. Découvrez un exemple de VM Ubuntu Server dans chaque approche et apprenez les avantages et inconvénients de ces outils. Lire la suite
Comment utiliser Terraform pour configurer Azure Virtual Desktop
Il existe plusieurs méthodes pour configurer et tester un environnement Azure Virtual Desktop, mais Terraform présente des atouts majeurs qui peuvent aider les services informatiques à améliorer leur gestion d’AVD. Lire la suite