En direct de San Francsico. Depuis son changement de modèle open source au profit de BSL (Business Source License), Hashicorp a beaucoup de choses à expliquer à ses clients et partenaires. L’organisation de son événement annuel Hashiconf à San Francisco, 1 500 personnes attendues sur place (11 000 en ligne) du 10 au 12 octobre, est donc la bonne occasion de revenir sur la stratégie et les dernières annonces produits du spécialiste des logiciels d’infrastructure et de sécurité cloud. Comme beaucoup d’autres éditeurs (Red Hat, MongoDB, Redis Labs, Sentry ou encore Minio), Hashicorp a abandonné l’approche open source  MPL 2.0 (Mozilla Public License v2.0) qui a donné naissance à ses produits, notamment le célèbre outil IaC (Infrastructur as a Code) Terraform en 2014 pour une licence plus restrictive, Business Source License (BSL), qui est considérée comme « disponible à la source », et non open source dans tous les sens traditionnels. En réponse, la communauté dissidente a lancé OpenTofu, un fork de Terraform né de la frustration liée la décision de Hashicorp. 

« Je travaille dans le monde des logiciels d’infrastructure depuis environ 25 ans. Et nous proposons des logiciels d’infrastructure open source [IaC] », nous a expliqué lors d’un point presse à SF David Mc Jannet, le CEO d’Hashicorp,« mais je connais également la façon de créer des entreprises open source prospères […] et je suis parfaitement conscient de la façon dont les modèles de licence doivent évoluer pour garantir que nous pouvons être des partenaires durables à long terme pour pouvoir grandir ». Dans un post publié sur le blog de l’éditeur, Armon Dadgar, le CTO et cofondateur de Hashicorp, a toutefois été beaucoup plus clair : « Des fournisseurs profitent des modèles OSS (Open source software) purs, et la communauté travaille sur des projets OSS, pour leurs propres objectifs commerciaux, sans recevoir de contribution matérielle en retour. Nous ne pensons pas que cela soit dans l’esprit de l’open source. En conséquence, nous pensons que les modèles commerciaux open source doivent évoluer pour que l’écosystème continue à fournir des logiciels ouverts et disponibles gratuitement ». Un constat malheureux, mais lucide : si l’open source est au cœur de nombreux projets et produits logiciels, les contributeurs se dispersent et il est difficile de gagner de l’argent. Centreon, un éditeur français spécialisé dans la sécurité, nous expliquait en juin dernier qu’un industriel français utilisait son outil sur plus de 70 sites de production, mais dans sa version communautaire. Et les équipes techniques demandaient du support, mais sans envisager de passage sur la version commerciale du produit faute de crédits ! 

CEO de Hashicorp depuis juin 2016, David McJannet est un vétéran de l'industrie IT passé par VMware et Microsoft. (Crédit S.L.)

« Le catalyseur de la transformation dans la construction des applications modernes, qui sont devenues une sorte d’agrégat, repose sur ce nouveau substrat que le cloud est l’infrastructure », nous a indiqué le CEO de l’éditeur. Comme l’explique Hashicorp, « l’IaC vient remplacer les procédures d’exploitation standard, ainsi que les actions manuelles nécessaires à la gestion de ressources informatiques par des lignes de code. Plutôt que de configurer manuellement des nœuds cloud ou du matériel physique, l’IaC automatise la gestion de l’infrastructure de processus par le biais de code source ». Développé en Go et compatible avec les principaux clouds, Terraform est utilité par les équipes DevOps pour automatiser diverses tâches d’infrastructure comme la mise en service de services cloud. Terraform permet de déclarer et déployer sous forme de code - via des fichiers de configuration structurés - l’intégralité de l’infrastructure sous-jacente et, ce, même si les serveurs sont associés à des fournisseurs différents, par exemple AWS ou Azure. Terraform est capable de créer et gérer ces ressources en parallèle. Par exemple, une infrastructure accueille un serveur web et une base de données configurés dans Terraform . Pour ajouter une seconde base de données, il suffit de la rajouter dans la configuration Terraform qui va donc créer une base de données supplémentaire pour correspondre l’état déclaré avec le code.  

À l’occasion de son événement Hashiconf, Armon Dadgar le CTO et cofondateur de Hashicorp a mis en avant lors de sa keynote du 11 octobre les dernières fonctionnalités imaginées pour les produits de l’éditeur, à savoir Terraform, Packer et Waypoint pour la partie infrastructure ; Vault, Boundary, et Consul pour la partie sécurité, sur laquelle nous reviendrons demain dans un second sujet. Produit phare de Hashicorp, Terraform se renforcer avec notamment l’arrivée de tests et d’améliorations de l’interface utilisateur visant à réduire les erreurs dans le code d’infrastructure. « La communauté Terraform a construit plusieurs excellents outils de test, mais ils utilisent souvent des langages de programmation complets tels que Ruby ou Go. Depuis un certain temps, nous souhaitions intégrer les tests natifs à Terraform à l’aide du langage de configuration HashiCorp (HCL), supprimant ainsi le besoin de changement de contexte ou d’apprentissage supplémentaire », explique dans un blog Yushuo Huang, Senior Product Marketing Manager Terraform chez Hashicorp.  

 

L'historique des résultats des tests d'un module est suivi directement dans le registre privé. (Crédit Hashicorp)

Un autre ajout notable concerne les tests de modules. Composant essentiel de Terraform, ces modules sont utilisés par les développeurs pour standardiser le provisionnement de l’infrastructure. Cependant, de par leur nature même, un bug dans le code d’un module peut provoquer des dégâts, allant des pannes aux failles de sécurité. Comme l’a expliqué sur scène Armon Dadgar, Terraform 1.6 accueille un framework de tests directement intégré au registre privé, avec une méthode de publication basée sur les branches utilisées pour contrôler comment et quand les modules sont publiés - un éloignement de la publication actuelle basée sur les balises Git. Pourtant, même si le lancement automatique des tests est utile, l’écriture des scripts peut être une corvée, en particulier si l’on considère la nécessité d’apprendre un nouveau framework. « Les utilisateurs de Terraform Cloud Free peuvent avoir jusqu’à cinq modules intégrés aux tests, tandis que les utilisateurs de Terraform Cloud Standard peuvent avoir jusqu’à dix modules intégrés aux tests. Les clients utilisant le niveau Terraform Cloud Plus disposeront d’un nombre illimité de modules intégrés aux tests », précise Yushuo Huang.  

 

Les développeurs peuvent copier et coller le code de test généré par l'IA pour exécuter le framework de tests Terraform. (Crédit Hashicorp)

Comme l’a admis avec humour le CTO de Hashicorp, il n’est plus possible de tenir une keynote à SF sans parler d’IA générative. L’éditeur la met donc en œuvre pour faciliter l’écriture des tests de modules. Cependant, la société estime que les résultats sont destinés à servir de point de départ aux auteurs de modules. « Notre nouvelle fonctionnalité de tests de modules générés exploite un grand modèle de langage (LLM) pour générer automatiquement une suite de tests personnalisés pour un module au sein du registre privé », assure Yushuo Huang. « Ce modèle est spécifiquement formé sur HCL et le framework de test Terraform pour aider les auteurs de modules à commencer à tester leur code immédiatement. » Comme avec des outils similaires, Terraform Cloud générera le code des tests personnalisés pour le module. Le code peut ensuite être copié ou téléchargé depuis l’interface utilisateur et ajouté au référentiel du module, où il sera enregistré pour une utilisation ultérieure. 

Pour répondre aux questions de confidentialité quant à l’utilisation des données de l’entreprise pour alimenter les modèles de génération de tests, le responsable marketing précise sur son blog que « la sécurité des données des clients est très importante, et nos fonctionnalités de génération de tests d’IA ont été conçues de manière à ce qu’aucune donnée de module client ou communautaire ne soit utilisée pour les modèles de formation et que les données de module ne soient pas stockées chez des fournisseurs tiers. » 

Faciliter les déploiements à grande échelle 

En plus des tests de modules générés par l’IA, la société a également présenté une validation améliorée de l’éditeur dans l’extension Terraform pour Visual Studio Code – désormais disponible pour tous – et son concept Stacks, qui est actuellement en mode accès réservé (les inscriptions pour tests sont ouvertes). Stacks est une nouvelle approche qui aide les utilisateurs à automatiser et à optimiser la coordination, le déploiement et la gestion du cycle de vie des configurations Terraform interdépendantes, réduisant ainsi le temps et les frais généraux liés à la gestion de l’infrastructure, explique l’éditeur. Bien que l’approche modulaire de Terraform en matière d’infrastructure fonctionne bien pour certaines applications, l’éditeur admet que « le déploiement et la gestion à grande échelle restent souvent fastidieux, complexes et répétitifs ». Plusieurs modules Terraform peuvent être organisés et déployés ensemble dans une pile à l’aide de composants, une construction qui regroupe différents systèmes interdépendants, tels que des modules de réseau et de base de données. Une fois cet ensemble de composants défini, il peut être répliqué plusieurs fois sans effort sur ce que l’on appelle des déploiements dans une pile. Ceci est particulièrement utile pour déployer la même infrastructure dans plusieurs environnements (par exemple, préparation, assurance qualité et production) ou régions. Avec des valeurs d’entrée différentes dans chaque déploiement, les utilisateurs peuvent créer et étendre de manière cohérente une infrastructure complexe en une seule action, complète Yushuo Huang. C’est une approche intéressante des problèmes rencontrés par les utilisateurs de Terraform lorsqu’ils sont confrontés à des déploiements à grande échelle. Pourtant, l’entreprise n’est pas la seule société d’infrastructure en tant que code (IAC) à tenter de travailler dans cet espace. D’autres comme l'historique CloudFormation (Cdk) ou le plus jeune Pulumi comptent aussi des adeptes, même si le premier est dédié à AWS et le second repose sur une communauté plus réduite que Terraform malgré sa prise en main réussie. L’IaC a bien d’autres avantages, mais la rapidité, la précision, la visibilité des données et la sécurité sont les principales raisons expliquant pourquoi les entreprises se tournent vers des solutions comme Terraform.