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.
Dans un contexte de retrait de son engagement vis-à-vis des communautés Open source, HashiCorp présente cette semaine toute une série de nouvelles fonctions qui sont censées donner une coloration encore plus entreprise à ses logiciels de déploiement et de gestion de cycle de vie des infrastructures.
En vedette, Terraform, la solution phare pour scripter les déploiements et la maintenance de clusters applicatifs, arrive dans une version 1.6. Dans les grandes lignes, plusieurs procédures manuelles de validation sont remplacées par des moteurs d’IA qui évitent les erreurs humaines, des outils de détection automatique des problèmes de configuration ou de sécurité font leur apparition, la gestion des ressources devient plus transversale et les interfaces se simplifient.
Les nouvelles fonctions, annoncées lors de l’événement HashiConf 2023 qui se tient cette semaine à San Francisco, concernent aussi bien les versions installables sur site des produits d’HashiCorp (qui représenteraient encore le gros des ventes), que leurs équivalents SaaS (reconnaissables à l’acronyme HCP et dont les ventes progresseraient le plus ces derniers temps).
Toutefois, l’éditeur n’a pas souhaité communiquer de chiffres précis sur son activité commerciale. Lors de l’événement, toute son argumentation consistait à présenter la belle mécanique de ses logiciels, qui trancherait avec celle des forks Open source de Terraform. Le bras de fer est d’autant plus engagé que ces forks s’organisent à présent autour du projet OpenTofu soutenu par la très influente Linux Foundation.
Des tests automatiques avant déploiement
Terraform 1.6 se dote principalement d’un framework pour tester l’efficacité des scripts avant leur lancement. En l’occurrence, tous les tests se font en RAM et, selon l’éditeur, ils n’ont aucun impact sur les ressources réelles. Mieux, ce framework s’accompagnera très prochainement d’un module dit d’IA générative, pour l’heure en beta, qui se chargera de rédiger lui-même toutes les procédures de tests possibles dans un contexte donné.
« La vocation d’une plateforme d’IaC [Infrastructure-as-Code, N.D.R.] est de permettre à des équipes en charge de l’infrastructure de fournir rapidement des plateformes prêtes à l’emploi aux développeurs. Mais très souvent, ces plateformes sont boguées. Parce qu’elles oublient de prendre en compte des permissions, parce qu’elles mettent en œuvre des API qui ne sont pas accessibles à certains utilisateurs… », énumère Chris Van Wesep, le directeur produit d’HashiCorp lors de l’événement HasiConf 2023 qui se tient cette semaine à San Francisco.
« Pour éviter cet écueil, il faudrait écrire des procédures qui testent la fonctionnalité d’un script. Mais les possibilités sont tellement nombreuses que l’écriture de ces tests est en soi un défi. Désormais, nous fournissons une solution clés en main, pour qu’il n’y ait plus de bricolage. »
« C’est là qu’est notre mission : fournir aux entreprises des garanties fiables », enchaîne Dave McJannet, le PDG d’HashiCorp. « La première étape a été de proposer une structure standard qui permette aux entreprises de basculer leurs applications en cloud. C’est ce qu’elles nous disent : elles ont téléchargé nos produits en Open source pour industrialiser cette migration. »
« Cependant, le standard ne suffit pas. Si de grands groupes comme Goldman Sachs, ou comme Wells Fargo n’ont pas encore migré tout ce qu’ils auraient dû en cloud, c’est parce qu’ils travaillent encore à trouver un support adéquat pour les épauler. La force d’HashiCorp est, en tant que maître d’œuvre du standard, de pouvoir proposer aux entreprises des intégrateurs qualifiés pour les accompagner », argumente-t-il, pour couper court à toutes questions portant sur OpenTofu.
Des outils pour améliorer la productivité
Parmi les autres annonces concernant Terraform, citons la fonction, désormais utilisable, Ephemeral Workspaces. Elle permet de poser une date limite d’existence, dès la création d’un nouveau répertoire de travail dans lequel un DevOps définit une configuration d’infrastructure.
« Le problème que rencontrent les entreprises est qu’elles créent en permanence de nouveaux Workspaces pour des cas d’usage ponctuels, ou non, et oublient ensuite de les effacer. Ce qui pose un risque pour la quantité de ressources utilisées et au niveau de la sécurité. Cette fonction fait automatiquement le ménage », explique Armon Dadgar, co-fondateur et directeur technique d’HashiCorp (en photo en haut de l’article).
On trouve également une nouvelle extension Terraform pour l’environnement de développement Visual Studio. Destiné aux rédacteurs de scripts Terraform, il doit leur éviter de passer sans cesse sous un shell pour vérifier manuellement que leur code assemble bien la plateforme prévue. En l’occurrence, le module met en surbrillance les lignes qui posent problème : des variables non déclarées, des attributs non adéquats, etc.
Mais, selon Armon Dadgar, la plus grande nouveauté concernant Terraform est Stacks (avec un « S » à la fin). Une Stack (sans « S » à la fin) est d’ordinaire une configuration complète (infrastructure, réseau, sécurité…) que l’on peut décliner en plusieurs variantes selon qu’il s’agira de déployer une plateforme de test ou de production, sur site ou dans telle ou telle région de cloud. « Problème, une fois toutes les variantes créées, vous deviez jusqu’ici les déployer, les mettre à jour ou les détruire individuellement. Avec Stacks, vous gérez toutes les variantes ensemble », explique Armon Dadgar. Il précise que des variables dans le code porteront des valeurs spécifiques à l’infrastructure qui exécute une configuration, permettant ainsi de continuer à les traiter individuellement si nécessaire.
Pour l’heure, Stacks n’est disponible qu’en préversion privée, c’est-à-dire seulement pour certains clients.
Nomad pour les clusters de calcul, Waypoint pour la modularité
Au-delà de Terraform, HashiCorp fait également évoluer Nomad, son orchestrateur de containers Docker, concurrent de Kubernetes. La nouvelle version 1.7 prend en compte les nœuds NUMA dans un cluster. Les nœuds capables d’utiliser le protocole réseau NUMA pour lire/écrire des données directement dans la RAM des autres serveurs sont typiquement ceux d’un cluster de supercalcul.
« Il s’agit typiquement d’optimiser les applicatifs de Machine learning ou de calcul intensif en faisant fonctionner les tâches d’une même application uniquement sur les cœurs de processeurs qui appartiennent au même segment NUMA », dit Armon Dadga.
Accessoirement, il devient possible pour un seul orchestrateur Nomad de gérer plusieurs pools de serveurs qui auraient chacun une configuration différente (plus sécurisée, plus extensible, orientée GPU, etc.). Selon les droits accordés aux équipes projet, un pool peut être attribué à une équipe spécifique, ou partagé entre plusieurs équipes.
Par ailleurs, HashiCorp propose enfin en cloud HCP Waypoint. Cet outil permet aux DevOps de définir des morceaux de configuration – l’infrastructure nécessaire pour telle ou telle base de données par exemple. Les développeurs n’ont ensuite plus qu’à les assembler pour composer la plateforme de leur application.
« C’est une première étape vers la création de scripts de configuration sans entrer de code », lance Armon Dadgar, en suggérant que les prochaines évolutions de Terraform favoriseront de plus en plus les approches no-code.