CNAB : Microsoft et Docker collaborent sur un nouveau projet open source

Microsoft et Docker lancent un nouveau projet commun open-source baptisé Cloud Native Application Bundle (CNAB).

Microsoft et Docker ont collaboré au développement du projet open source répondant au nom de CNAD (pour Cloud Native Application Bundle). De quoi s’agit-il ? Il est question de faciliter le cycle de vie des applications natives dans le cloud.

Les deux groupes expliquent qu’il s’agit d’un nouveau projet visant à créer « une spécification open source, indépendante du cloud, pour le packaging et l’exécution d’applications distribuées ».

Le paramétrage de CNAB est basé sur le langage de modèle Azure Resource Manager (ARM).

Un projet à très large spectre

CNAB permet aux développeurs de définir des ressources pouvant être déployées dans n’importe quelle combinaison d’environnements d’exécution, dans le cloud, dans un environnement local tel qu’OpenStack ou Kubernetes sur site…

CNAB offre en effet aux développeurs un moyen standard de conditionner et d’exécuter des applications conteneurisées dans de nombreux environnements informatiques, de Docker sur un poste de travail à Kubernetes dans une instance cloud.

Le projet est conçu pour fonctionner non seulement avec Kubernetes, mais également avec d’autres systèmes de déploiement et de gestion de conteneurs.

Microsoft et Docker mutualisent leurs efforts

Un autre objectif déclaré par CNAB est de réduire le nombre d’outils nécessaires à la création de définitions d’applications.

Docker et Microsoft prévoient de publier des outils de développement pour CNAB. Microsoft va ainsi proposer des extensions à code Visual Studio pour faciliter la création de bundles CNAB, ainsi qu’un exemple Open Source («Duffle») qui implémente la spécification CNAB.

De son côté, Docker va ajouter le support de CNAB à une nouvelle révision de l’outil Docker App, afin que les applications définies par CNAB puissent être gérées dans les instances de Docker Enterprise.

À l’origine, CNAB se présentait comme une spécification permettant aux développeurs de déclarer comment une application devait être empaquetée et exécutée. Grâce à cela, les développeurs peuvent définir leurs ressources, puis déployer l’application n’importe où, de leur poste de travail local aux clouds publics.

En résumé, le projet Cloud-Native Application Bundles offre un moyen standard de définir des applications complexes et conteneurisées pour une variété d’environnements.