Microsoft annonce Cloud Native Application Bundles
4 déc. 2018
Ne ratez pas nos articles sur l'open source, le big data et les systèmes distribués, fréquence faible d’un email tous les deux mois.
Lors de la DockerCon EU 2018 à Barcelone, Matt Butcher, ingénieur principal chez Microsoft et inventeur de Helm, a présenté CNAB, Cloud Native Application Bundles, un format de packaging pour applications distribuées, ainsi que Duffle, un outil de ligne de commande permettant d’exécuter ces bundles.
L’introduction a eu lieu au cours d’une séance “secrète”, une tradition de la DockerCon, à la fin du premier jour, où seule une poignée d’ingénieurs était présente. Voici les informations que nous avons pu récolter.
Un RPM (ou MSI) pour les applications distribuées
Cloud Native Bundle, ou CNAB (à prononcer ci-nabe), est un format de packaging indépendant du cloud destiné à une large gamme d’applications distribuées. Le bundle contient une définition et une image d’invocation qui installe l’application.
La définition de bundle est un fichier nommé bundle.json
ou un équivalent signé nommé bundle.cnab
. Ce fichier contient des métadonnées générale à l’application, telles que son nom, sa version, sa description et ses mots-clés, mais également où trouver l’image et quels paramètres remplaçables par l’utilisateur sont disponibles.
L’image d’invocation est un programme d’installation qui se charge de l’installation, de la mise à niveau et / ou de la suppression des composants composant l’application distribuée. Ces composants peuvent être des conteneurs, des fonctions, des machines virtuelles, des couches IaaS et PaaS ou des infrastructures de service, mais le format est ouvert à d’autres.
CNAB fait la distinction entre des bundles légers et larges. Les bundles légers se composent uniquement du fichier de définition, tandis que les bundles larges sont regroupés et contiennent la définition ainsi que toutes les images d’invocation nécessaires. Matt a déclaré que des bundles larges seraient particulièrement utiles à ceux souhaitant utiliser le système CNAB sur des systèmes appelé ”air gapped”, c’est-à-dire isolés physiquement de tout réseau informatique.
Un standard open source
Matt a expliqué que Microsoft disposait déjà de nombreux cas d’utilisation de CNAB, mais qu’il préférerait avoir la communauté à ses côtés pour garantir que les outils répondent aux attentes de tous. Il est conscient que le lancement d’une nouvelle norme ne suffit pas, c’est pourquoi Microsoft s’est associé à Docker, Bitnami, HashiCorp et CodeFresh pour ce projet.
Les spécifications de CNAB sont maintenant entièrement disponibles sur Github, ainsi que des exemple de bundles et un programme d’installation appelé, Duffle. Bien qu’il manque encore beaucoup de fonctionnalités pour permettre l’intégration de CNAB dans les workflows utilisateurs et les stratégies de déploiement de nombreux développeurs, beaucoup se réjouiront de l’annonce de l’extension de code VS pour Duffle.
Stratégique, le nouvel outil docker app
de Docker implémente CNAB et permet aux utilisateurs de Docker Enterprise de conditionner leurs applications dans un format pouvant être exécuté par Duffle.
Qu’en est-il des autres installateurs Cloud Native ?
Matt Butcher, également connu sous le nom de Technosophos dans les cercles technologiques, est également l’inventeur de Helm, un gestionnaire de paquets conçu spécifiquement pour Kubernetes. Etant donné que CNAB a vocation à devenir la norme dans le packaging d’applications Cloud Native, il convient de se poser une question : quel est le lien entre les bundles CNAB et Helm ? C’est pourquoi je lui ai demandé.
Sa réponse était simple : les deux peuvent et doivent coexister. Une application fournie au format CNAB pourrait très bien utiliser Helm pour installer tout ou partie des applications. En fait, Matt affirme que cette approche pourrait résoudre certains problèmes liés aux installations de Helm, car elle permettrait aux développeurs de spécifier la version de Helm à utiliser lors de l’installation d’une version spécifique de leur application avec une version spécifique de leur diagramme Helm.
Quand Matt et son équipe ont fini de travailler sur Helm 2, ils se sont rendus compte que quelque chose comme CNAB pourrait être la solution. Il a affirmé qu’ils continueraient à travailler sur Helm 3, quelle que soit la trajectoire que prendra le projet CNAB.
Et maintenant ?
En attendant une annonce plus officielle et moins technique lors de la session générale de demain matin, le mieux que nous puissions faire est de jeter un coup d’œil à ce qui a été rendu public jusqu’à présent. Voici une liste de ce que nous avons trouvé :