Microsoft et Docker ont annoncé hier un projet visant à créer « une spécification open source, agnostique, pour le packaging et l’exécution d’applications distribuées ». Cloud-native application bundle, CNAB, propose aux développeurs un standard pour conditionner et lancer des applications conteneurisées dans de nombreux environnements informatiques : de Docker, sur un poste de travail, à Kubernetes, dans une instance cloud.

La spécificité de CNAB est de décrire des « ensembles » ou groupes de ressources qui constituent une application. Ces kits décrivent également la manière dont les applications doivent être installées, mises à jour ou supprimées, et comment elles doivent être migrées d’un environnement à un autre, même lorsque ce dernier n’est pas en ligne (par exemple un système isolé du réseau). Microsoft affirme qu’il sera possible de signer et vérifier numériquement les ensembles d’applications « même lorsque la technologie sous-jacente ne les supporte pas nativement ». Ces ensembles peuvent déployés au sein d’organisations ou plus largement à travers des systèmes distribués existants, comme Docker Hub et Trusted Registry.

Des ensembles d’applications plus généraux

Il existe déjà des technologies pour créer des packages d'applications pour les environnements de containers. Helm de Kubernetes, par exemple, qui montre comment différents conteneurs peuvent être agencés pour définir une pile d’applications. CNAB se détache en visant des cas d’utilisation plus globaux et il est conçu pour fonctionner non seulement avec Kubernetes, mais aussi avec d’autres systèmes de déploiement et de gestion de conteneurs.

Un autre objectif de CNAB est de réduire le nombre d’outils nécessaires à la création de définition d’applications. Une définition CNAB peut générer automatiquement des fichiers de définition spécifiques à la cible de déploiement, tels que des diagrammes de Helm ou des modèles Compose, de sorte que les utilisateurs n’aient pas besoin de maîtriser plusieurs jeux d’outils pour effectuer un déploiement sur différentes cibles.

Des outils pour bien déployer CNAB

Docker et Microsoft prévoient ainsi tous deux de publier des outils de déploiement pour CNAB. Microsoft a annoncé qu’il proposera des extensions de code Visual Studio pour faciliter la création de packages CNAB, ainsi qu’un exemple open source (« Duffle ») qui implémentera la spécification. Docker a l’intention d’ajouter le support de CNAB lors d’une prochaine mise à jour de son outil Docker App, afin que les applications définies sur CNAB puissent être gérées dans les instances de Docker Enterprise.