Infrastructure as Code : VMware peut-il détrôner Terraform ?

Infrastructure as Code : VMware peut-il détrôner Terraform ?

Le concept d'IAC, très présent chez les fournisseurs de cloud, commence à s'imposer en entreprise. Un mouvement qui n'a pas échappé à VMware, positionné en challenger sur ce segment.

C'est à l'occasion de VMworld 2018 en novembre dernier que VMware a dévoilé Cloud Automation Services (CAS), sa plateforme d'automatisation cloud. La solution fait entrer l'éditeur américain sur le marché de l'Infrastructure as Code (IAC) multi-cloud. Le groupe vient ainsi marcher sur les plates-bandes d'HashiCorp, l'éditeur de Terraform, une brique open source très utilisée par les équipes de DevOps. Plus qu'une alternative commerciale côté VMware, ce sont deux visions radicalement différentes de l'IAC qui s'affrontent.

Globalement, HashiCorp propose un stack complet de solutions de développement, dont Vagrant (pour la gestion des configurations), Vault (pour la protection des données confidentielles), Consul (dans le service discovery), Nomad (un orchestrateur de microservices) et Packer (pour "l'image virtuelle as code"). Au sein de cette boîte à outils, Terraform est l'application dédiée à l'Infrastructure as code. "Elle permet de générer une infrastructure quel que soit le cloud qui fournit les ressources. En ce sens, elle est totalement agnostique vis-à-vis des providers", explique Mehdi Laruelle, consultant cloud et automatisation chez D2SI, filiale de Devoteam et partenaire d'HashiCorp.

Née officiellement en 2014, Terraform est considérée comme mature. Elle bénéficie d'un écosystème large. Pour Mehdi Laruelle, son atout numéro 1 réside dans la force de sa communauté. "Cette communauté ne cesse de grandir. Beaucoup de fournisseurs soutiennent cette plateforme, qu'il s'agisse d'Amazon Web Services (AWS), Docker et Google Cloud." L'infrastructure générée est compatible avec AWS tout comme VMware. "Terraform va bien au-delà du déploiement de machines virtuelles. Elle englobe le réseau, la sécurité et toutes les ressources nécessaires à une architecture informatique complexe", poursuit Mehdi Laruelle. S'appuyer sur une communauté permet par ailleurs à Terraform de disposer d'une large palette de composants complémentaires.

Une autre vision de l'Infrastructure as code

La force de Terraform est de reposer à 100% sur un langage de description d'infrastructure simple et lisible : le HCL (pour HashiCorp Configuration Language). "L'approche IAC de Terraform permet de gérer le versioning d'une infrastructure pour lui ajouter ou lui retirer des composants. En ce sens, Terraform simplifie énormément l'automatisation du provisioning de ressources IT", ajoute l'expert. Parmi les entreprises qui ont fait le choix de Terraform, on peut citer Barclays, Condé Nast, ITV, SAP Ariba, mais aussi OVH et Oui.sncf en France. 

"Terraform apporte une réponse efficace sur le volet scripting, mais notre approche va bien au-delà"

Si Terraform est une solution 100% dédiée à l'Infrastructure as Code et qui fonctionne en lignes de commande (CLI), l'approche de VMware est toute autre. "Avec Cloud Automation Services, nous proposons une offre d'IAC en environnement multi-cloud" insiste Eric Marin, directeur technique de VMware France. "Tout comme ce que le dernier km est à la livraison, avant d'arriver à l'Infrastructure as Code, il y a beaucoup d'autres étapes. Terraform apporte une réponse efficace sur le volet scripting, mais notre approche va bien au-delà, nous proposons un environnement agnostique en matière de gestion d'infrastructure cloud. Terraform, Ansible ou Puppet sont des outils qui peuvent d'ailleurs venir s'y connecter en fonction des besoins de nos clients."

Si le responsable de VMware reconnaît la richesse de la communauté Terraform, il souligne : "Les entreprises veulent aujourd'hui piloter des infrastructures tant sur le cloud public que sur leurs propres data centers et des cloud privés. Cela implique de se doter d'une plateforme de cloud management qui intègre aussi des fonctions de gouvernance avec une gestion des autorisations par rôles qui permette de gérer qui a accès à quoi. Grâce à notre solution, il est possible de restreindre les droits des développeurs à un nombre restreint d'environnements et ne pas les autoriser à provisionner des ressources sur les systèmes informatiques en production."

Une console graphique pour faire la différence

"Cloud Automation Services s'articule autour de trois briques : Broker, Cloud Assembly et Code Stream. Chacune adresse des besoins et profils différents", détaille Alexandre Hugla, spécialise des offres cloud de VMware. Broker se destine aux consommateurs de cloud, à des profils Ops qui ont recours à des services comme AWS, Azure ou des clouds privés. Quant à Cloud Assembly, il cible les architectes cherchant à designer les services et l'architecture cloud via une console YAML. C'est là l'une des principales différences qui sépare CAS de Terraform. A l'approche CLI de ce dernier, VMware préfère offrir une interface graphique qui permet de composer une infrastructure par glisser/déposer. Le code YAML correspondant est généré en toile de fond, mais reste évidemment modifiable.

A l'heure du DevOps et des chaînes d'intégration et déploiement continus (CI/CD), l'approche "Wysiwyg" (en anglais What You See Is What You Get) de VMware a-t-elle encore du sens ? Au travers de la brique CodeStream, la filiale d'EMC propose justement de répondre à cette problématique de CI/CD, là-encore via un mode graphique.

Cloud Assembly fait partie de l’offre VMware Cloud Automation Services dont il constitue la principale composante d’Infrastructure as Code. © Capture / JDN

Pour l'heure, l'offre Cloud Automation Services dispose déjà de connecteurs pour Microsoft Azure, AWS, et plus globalement pour l'ensemble des providers de cloud ayant recours à la plateforme VMware à l'instar d'OVH, IBM, Atos, etc. Ne manque encore à cette liste que la Google Cloud Platform dont le support est annoncé par VMware comme imminent. En France, l'entreprise de Palo Alto annonce 250 services providers qui utilisent ses technologies et qui sont donc potentiellement éligibles à Cloud Automation Services.

Alors que VMware a annoncé Cloud Automation Services en août, de son côté HashiCorp s'apprête à lancer une nouvelle version de Terraform. Très attendue par la communauté, cette version 0.12 doit amener de nombreuses fonctionnalités, dont la prise en charge de la version 2 du langage HCL qui devrait faire sauter certaines des limitations de l'environnement et permettre aux Ops d'aller vers plus de modularité. Face au dynamisme de Terraform, même si VMware apporte une solution à sa base installée pour aller vers le multi-cloud (quelles que soient ses qualités), son offre Cloud Automation Services devra encore faire ses preuves auprès des DevOps de nouvelle génération qui ne jurent que par l'open source.