adimas - Fotolia

Terraform CDK : HashiCorp abandonne son alternative à Pulumi

Dans sa volonté de se concentrer sur le « langage » de Terraform, HCL, HashiCorp annonce l’archivage de Terraform CDK, un projet concurrent de Pulumi. Si la solution n’a pas atteint la popularité de l’offre concurrente, cette décision semble refléter la volonté de sa maison mère, IBM, de mieux cibler les Ops au sein des grands groupes.

La semaine dernière, depuis la page GitHub du projet, HashiCorp a annoncé l’archivage de Terraform CDK (Cloud Development Kit), connu sous l’appellation CDKTF.

Lancé en 2020, CDKTF était pensé comme une alternative à Pulumi, une solution concurrente à Terraform qui permet d’orchestrer l’infrastructure dans le langage de programmation de choix du développeur. Non plus seulement du spécialiste de l’infrastructure.

CDKTF prenait en charge TypeScript, Python, Java, C# et Go. Rappelons qu’HashiCorp a fait sa renommée sur son langage spécifique au domaine HCL (Hashicorp Configuration Langage), pensé pour orchestrer les infrastructures et les middlewares.

« Le pouvoir de CDKTF était d’utiliser les providers Terraform existants. Donc pas besoin de développer un provider Pulumi en plus », explique Aurélie Vache, responsable des relations développeurs chez OVHcloud, sur LinkedIn.

« Malheureusement, Terraform CDK n’a pas trouvé d’adéquation produit-marché à l’échelle », écrit la filiale d’IBM. « HashiCorp, une société d’IBM, a choisi de concentrer ses investissements sur Terraform Core et son écosystème élargi ». 

Pour mémoire, en août 2023, HashiCorp avait décidé de passer à une licence propriétaire permissive Business Source License (BSL) et d’abandonner la licence MPLv2 (Mozilla Public License), open source. La même année, auprès du MagIT, Armon Dadgar, cofondateur et CTO de HashiCorp, saluait la popularité croissante de Terraform CDK. Ce n’était toutefois pas un projet mature.

Ce n’est qu’un an après qu’IBM a annoncé l’acquisition d’HashiCorp pour 6,4 milliards de dollars. Un rachat finalisé en début d’année.

CDKTF était proposé sous la même licence ouverte. Le projet est archivé, ce qui ne veut pas dire qu’il est supprimé, signale HashiCorp. Il n’y aura tout simplement pas de nouveau développement de sa part. La compatibilité avec les autres briques liées à Terraform ne sera pas maintenue. « CDKTF est open source, et nous encourageons les forks communautaires s’il y a un intérêt à poursuivre le développement de manière indépendante », précise l’éditeur.

La filiale d’IBM propose des astuces de migration plutôt qu’un véritable chemin. En utilisant la commande cdktf synth --hcl, il est possible de générer un fichier de configuration HCL, puis d’utiliser les commandes CLI (terraform init, plan, apply) pour gérer l’infrastructure. Il faut toutefois faire des tests de régression afin de s’assurer que cela ne provoque pas de problèmes.

Les clients d’AWS qui utilisent AWS CDK, un dérivé de CDKTF, sont encouragés à se tourner vers l’écosystème d’outils autour du fournisseur de cloud.

« Si vous n’utilisez pas AWS CDK, nous vous recommandons vivement de migrer vers Terraform standard et HCL pour un support à long terme et un alignement de l’écosystème », insiste HashiCorp.

Terraform CDK n’avait pas l’envergure de Pulumi ni d’AWS CDK

Ce n’est pas la première fois qu’une filiale d’IBM change les règles d’usage autour d’un projet open source. L’abandon de CentOS au profit de CentOS Stream avait fait grand bruit au sein de la communauté Red Hat. Terraform CDK n’était pas aussi populaire que l’OS Linux ou que Pulumi, bien que « l’idée » soit appréciée par certains ingénieurs. La majorité d’entre eux ne comprennent pas l’intérêt de cette surcouche.

« Franchement, je crois que c’est mieux ainsi. On était très loin de la maturité de Pulumi. Il y a tellement d’outils alternatifs à présent qu’il sera difficile d’en avoir un qui sort du lot », commente Daniel Castronovo, ingénieur sénior cloud et plateforme chez Voodoo.

« CDK est une enveloppe programmatique autour de ce fichier de configuration qui est véritablement cauchemardesque à utiliser parce que le code construit essentiellement un blob JSON », affirme Val Akkapeddi, directrice de l’ingénierie chez Harbor Health Insurance. « C’est pourquoi il n’a jamais été largement adopté - parce que c’est un mauvais compromis qui s’ajoute à un mauvais compromis. Je ne peux tout simplement pas imaginer pourquoi quelqu’un supporterait cela et resterait coincé avec le fichier d’état ».

Sous l’ère IBM, HashiCorp se recentre sur les Ops

Toutefois, certaines entreprises l’utilisent à large échelle et les usagers espèrent que la communauté le maintiendra en vie. Sur nuGet, le projet était téléchargé 130 000 fois par mois en moyenne.

« Si vous êtes déçu par l’archivage de CDKTF, c’est peut-être le bon moment pour tester Pulumi », lance Josh Kodroff, principal customer success chez Pulumi sur LinkedIn. Une autre alternative se nomme TerraConstruct, un fork de CDKTF inspiré par AWS CDK compatible avec Terraform et son fork open source OpenTofu.

En clair, IBM et HashiCorp resserrent l’activité Terraform pour se concentrer sur les ingénieurs et les architectes. Et sur la connexion entre Terraform et Ansible. « Nous travaillons en étroite collaboration avec IBM, Red Hat et Apptio, pour approfondir les intégrations telles que Terraform et Ansible pour l’IaC de bout en bout, les intégrations Vault avec OpenShift et les flux de travail FinOps pour les développeurs », confirme Armon Dadgar. Il cherche donc à établir une segmentation plus fine.

« La taille de l’entreprise et la portée mondiale d’IBM signifient probablement une plus grande adoption par les entreprises et des programmes de support, mais aussi moins de projets secondaires de niche qui ne font pas l’objet d’une demande générale de la part des entreprises », comprend Cheik H., consultant technique cloud et sécurité chez Axa.

Pour approfondir sur Administration et supervision du Cloud