Extension du partenariat HashiCorp

Publié le 22 octobre, 2018

Distinguished Engineer, Microsoft Azure

Je suis heureux d’avoir cette opportunité de m’exprimer à cette HashiConf 2018. C’est toujours un bonheur de travailler avec Mitchell, Armon et les ingénieurs talentueux de HashiCorp parce que je pense que nous partageons la même intention de créer des outils pour le cloud qui soient pragmatiques, open source et adaptés à l’entreprise. Avec cette vision et ce partenariat forts à l’esprit, je suis enthousiaste à l’idée de décrire quelques-unes de nos réalisations depuis nos annonces lors de la HashiConf de l’année passée. Nous avons veillé à réunir le meilleur des expériences ciblées utilisateur de HashiCorp avec les atouts du cloud Azure.

Nos équipes d’ingénieurs ont collaboré pour étendre les ressources et les services pris en charge par le fournisseur Terraform pour AzureRM, et ils ont ajouté plusieurs nouvelles intégrations à HashiCorp Vault. Pour les besoins de ce billet, j’ai pensé qu’il serait intéressant pour les lecteurs de constater les progrès considérables que nous avons accomplis dans le cadre de notre partenariat avec HashiCorp en examinant quelques-uns des principaux jalons atteints cette année.

Mises à jour Terraform dans Azure Cloud Shell

Très honnêtement, Cloud Shell est l’une de mes fonctionnalités préférées dans Azure. Grâce à cet espace de travail informatique accessible depuis n’importe où et sur n’importe quel appareil, je peux facilement créer, surveiller et mettre à jour mes ressources cloud, où que je sois. Depuis quelque temps, Terraform est étroitement intégré à Azure Cloud Shell, et récemment nous avons lancé un éditeur graphique, optimisé par Monaco, le moteur open source qui fait fonctionner Visual Studio Code. Aujourd’hui, j’ai le plaisir de vous annoncer que nous avons ajouté la mise en surbrillance de la syntaxe Terraform dans cet éditeur.

Mises à jour Terraform dans Azure Cloud Shell

Cette fonctionnalité permet de modifier et de créer des fichiers de plan Terraform directement dans Azure Cloud Shell. Lorsque vous modifiez du HCL de Terraform au moyen de l’éditeur Cloud Shell et que vous obtenez les couleurs auxquelles vous êtes habitué dans VS Code, vous pouvez facilement reconnaître les erreurs, les typos et plus encore.

Fournisseur Terraform pour Azure

Les ingénieurs Microsoft et HashiCorp ont travaillé d’arrache-pied avec l’aide de la communauté pour fournir une prise en charge des nouveaux services Azure, des nouvelles fonctionnalités dans les services existants et de nouveaux scénarios. Depuis notre dernière mise à jour, nous avons continué à investir dans IaaS, mais nous nous sommes concentrés principalement sur la mise en œuvre de nouveaux scénarios PaaS Azure. Nous avons écouté les clients pour définir les fonctionnalités les plus importantes.

Afin de nous assurer que vous n’attendiez pas trop longtemps les correctifs, les fonctionnalités et les ressources fournies, nous publions de nouvelles mises à jour toutes les semaines environ, et nous avons récemment envoyé le fournisseur Terraform pour AzureRM version 1.17. Ci-dessous se trouvent les principales nouvelles ressources qui ont été publiées depuis la version 1.3.

Ressources IaaS

Ressources PaaS

Fournisseur Terraform pour Azure Stack

Azure Stack est une extension d’Azure permettant à nos clients de réaliser pleinement des applications hybrides qui s’étendent localement au cloud public. Les utilisateurs d’Azure Stack bénéficient de la cohérence d’une surface d’exposition API unique pouvant fonctionner intégralement à partir de centres de données isolés (sous « air gap ») via des déploiements hybrides.

HashiCorp et Microsoft se sont associés pour étendre la capacité de Terraform à gérer Azure Stack, permettant ainsi à nos clients de créer ou de gérer leurs ressources dans Azure Stack de la même façon que dans Azure.

Le fournisseur Terraform pour Azure Stack est disponible pour la première fois depuis mai 2018 et a depuis lors été mis à jour pour inclure davantage de fonctionnalités.

La fonctionnalité suivante est disponible depuis Microsoft Ignite, en septembre :

  • Créez et gérez les artefacts de calcul, de stockage et de réseau.
  • Effectuez les déploiement d’infrastructure complexes pour installer des orchestrateurs tels que Cloud Foundry, Kubernetes, OpenShift et Service Fabric.

Vous pouvez commencer à développer vos scripts Terraform pour cibler Azure Stack aujourd’hui, en suivant ces instructions.

Modules Terraform

L’une des choses les plus incroyables à propos de l’open source est la manière dont une communauté peut s’unir pour collaborer et partager son travail pour le bénéfice de chacun. Dans le cadre de cet effort, la communauté Terraform et Azure a effectué une montée en puissance. La communauté a tiré profit de toutes les nouvelles ressources Azure qui ont été ajoutées à Terraform et elle a contribué en ajoutant de nouveaux modules dans le registre Terraform. Cela porte le nombre total de ressources à 73 modules, en comparaison avec environ 45 il y a trois mois.

Clients Terraform sur Azure

Nous nous sommes engagés à investir dans les ressources Terraform afin de permettre aux clients Azure déjà investis dans Terraform (ou préférant simplement ce dernier) de l’utiliser comme outil de prédilection pour leur infrastructure. Nos efforts ont donné des résultats incroyables. Le nombre de clients ayant adopté Terraform sur Azure a pratiquement été multiplié par 3 depuis le début de l’année. Il est adopté aussi bien par de très grands clients que de petits clients dans un large éventail de secteurs.

Axon est l’un de ces clients : il voulait améliorer sa gestion des volumes de données élevés, disposer de normes strictes d’intégrité des données et bénéficier d’une clientèle mondiale. Il a donc fait appel à HashiCorp Terraform sur Microsoft Azure pour migrer Axon Evidence (Evidence.com) depuis Amazon Web Services vers Azure.

Fournisseur de ressources Azure Terraform

Nous disposons d’une préversion privée d’un nouveau fournisseur de ressources Azure pour HashiCorp Terraform qui permettra aux clients Azure utilisant Azure Resource Manager (ARM) d’approvisionner et de configurer des ressources dépendantes avec des fournisseurs Terraform comme s’ils étaient des fournisseurs de ressources Azure natifs.

Nous avons investi massivement dans Terraform et avons travaillé en étroit partenariat avec HashiCorp afin de permettre une prise en charge profonde et riche d’Azure pour les clients utilisant Terraform dans le but de gérer leurs ressources. Alors que de nombreux utilisateurs nous contactent en tant qu’utilisateurs Terraform dédiés, d’autres ont mis en place des configurations étendues basées sur des modèles ARM, le langage de configuration natif d’Azure. Avant notre partenariat avec HashiCorp, les utilisateurs de modèles ARM étaient confrontés à un dilemme lorsqu’ils souhaitaient intégrer des outils ou des services extérieurs dans leurs modèles. Ils pouvaient utiliser différents subterfuges ou réécrire toute leur pile de configuration dans Terraform. Avec l’intégration de fournisseurs Terraform dans les modèles Azure Resource Manager, ce problème a été résolu. Les utilisateurs de modèles ARM ont désormais accès à un vaste écosystème de fournisseurs qui sont implémentés pour Terraform, et de la même façon, les start-ups et les fournisseurs de services qui ont travaillé à intégrer Terraform peuvent désormais être automatiquement intégrés aux modèles natifs d’Azure également.

Si vous voulez vous inscrire à la préversion privée, consultez « Présentation du fournisseur de ressources Terraform » dans le blog Azure.

Intégrations du coffre dans Azure

L’ajout et l’amélioration d’intégrations HashiCorp Vault avec Azure ont suscité pas mal d’activités. Il y a eu le lancement d’une nouvelle méthode d’authentification pour Azure Active Directory, un moteur de secrets pour la génération dynamique des attribution de rôles et des principaux de service Azure, et la possibilité de desceller HashiCorp Vault avec les clés stockées dans Azure Vault KMS. Vous pouvez accéder à une présentation de ces fonctionnalités dans un billet de blog annonçant leur disponibilité, dans une courte vidéo d’introduction que nous avons enregistrée avec HashiCorp ou dans la documentation détaillée pour la « Méthode d’authentification Azure » et la « “Méthode des secrets Azure ».

Service Azure VM Image Builder 

Les utilisateurs souhaitent généralement que les machines virtuelles incluent des paramètres de sécurité et de configuration prédéfinis, ainsi que les logiciels d’application qu’ils possèdent. Toutefois, la mise en place de votre propre pipeline de génération d’images nécessiterait une infrastructure et une configuration. Avec Azure VM Image Builder, vous pouvez prendre une image ISO ou Place de marché Azure et commencer à créer vos propres images finales (gold) en quelques étapes.

Azure VM Image Builder vous permet d’effectuer les actions suivantes :

  • Définir une source : utilisez une machine virtuelle Place de marché Azure basée sur Linux ou une image ISO Red Hat Enterprise Linux (RHEL), et commencez à ajouter vos propres personnalisations.
  • Ajouter des personnalisations : celles-ci peuvent être ajoutées sous la forme d’un script shell, et étant donné que VM Image Builder est basé sur HashiCorp Packer, vous pouvez également importer vos scripts d’approvisionnement de shell Packer existants.
  • Distribuer : vous spécifiez l’endroit où vos images doivent être hébergées, soit dans la galerie d’images partagées Azure soit en tant qu’image managée Azure.

Pour vous inscrire à la préversion privée, voir « Annonce de la préversion privée d’Azure VM Image Builder » dans le blog Azure.

Intégrations de Consul dans Azure

L’évolution constante vers des systèmes logiciels largement distribués et des architectures basées sur des microservices apporte son lot de défis intéressants, l’un des principaux étant : « Comment assurer le suivi de tous vos services déployés ? » C’est ici qu’intervient HashiCorp Consul déployé sur une plateforme cloud moderne telle que Microsoft Azure. Outre qu’il fournit un mécanisme de détection de service, Consul permet d’apporter des modifications de configuration aux services déployés dans Azure et ajoute une fonctionnalité de maillage de service.

Quelques mises à jour clés :

  1. Nous avons travaillé avec HashiCorp pour fournir un jeu de démarrages rapides (modèles Terraform) en vue du déploiement de Consul sur Azure à la fois dans des scénarios impliquant une région unique et des régions multiples.
  2. Nous disposons à présent d’un ensemble d’instructions pour le déploiement d’agents de maillage de service Consul au-dessus d’environnements Azure IaaS et Azure AKS.
  3. HashiCorp a lancé un modèle Helm pour Consul. Helm est le gestionnaire de package open source pour Kubernetes développé et pris en charge par Microsoft. Le package Helm pour Consul, développé par Hashicorp permet aux utilisateurs Kubernetes de déployer facilement Consul dans n’importe quel environnement Kubernetes, tels que ceux créés via Azure Kubernetes Service.

Ces améliorations sont le reflet du partenariat étroit entre HashiCorp et Microsoft, que nous renforçons à la HashiConf cette année. Les progrès réalisés au cours des 12 derniers mois et plus ont jeté des bases solides pour une collaboration et des avancées futures dans le domaine du cloud et de DevOps. Pour l’année qui vient, nos ingénieurs œuvrent à améliorer l’intégration des produits HashiCorp et des services Azure.

Si vous êtes à San Francisco le 23 octobre 2018, je vais livrer un discours sur toutes ces incroyables mises à jour techniques entre nos sociétés à la HashiConf la semaine prochaine. Au plaisir de vous y retrouver !