Microsoft and Docker have reportedly announced the Cloud Native Application Bundle (CNAB), a new collaborative open-source project that will simplify managing the lifecycle of cloud-native applications. Essentially, the CNAB is a specification which allows the developers to declare how an application should be packaged and run.
Apparently, developers are able to define their resources with CNAB and further deploy the application, to anything from their local workstation to public clouds. This specification originated in Microsoft, but as its team talked to Docker, the engineers there turned out to be working on a project similar. Both the teams subsequently decided to join forces and introduce the result as a single open-source project.
Gabe Monroy, Partner Program Manager for Microsoft, was quoted saying that around a year ago, both the companies realized that they are working on a similar solution. After that, both decided to join hands and bring it together as an industry standard.
As a part of this move, Microsoft is seemingly debuting its own reference implementation of a CNAB client called Duffle. It allows the user to create new CNAB bundles, sign them cryptographically, as well as perform the general lifecycle steps (installing, upgrading, uninstalling). Docker is also working to integrate CNAB into its own tools.
Purportedly, Microsoft has also launched an extension called Visual Studio extension to build and host these bundles, as well as an example implementation of an Electron installer and a bundle repository server which allows installing a bundle with the help of a GUI.
Monroy further said that the company would not be able to unify lifecycle management tools as it would not be a feasible goal. As an alternative, the company can unify the model around it, specifically the packaging and distribution experience as well as the lifecycle management experience. Docker has been able to achieve that effectively with the single-workload case, Monroy added.