Combined with Docker and a number of partners, Microsoft has developed a way to easily package and maintain mainstream container applications in different environments. Cloud Native Application Bundles (CNAB) is a new open source packaging format specification that manages multiple applications with one installable file, configures application resources and distributed applications in different environments, and configures application resources in different environments without many toolsets make it easy to manage the lifecycle of your application. It is compatible with Azure, on-prem OpenStack, Kubernetes, Swarm, Ansible, Terraform and more.
CNAB provides the following features:
- Manage discrete resources as a single logical unit that comprises an app.
- Use and define operational verbs for lifecycle management of an app (install, upgrade, uninstall).
- Sign and digitally verify a bundle, even when the underlying technology doesn’t natively support it.
- Attest (or attach a signature to any moment in the lifecycle of that bundle) and digitally verify that the bundle has achieved that state to control how the bundle can be used.
- Enable the export of the bundle and all dependencies to reliably reproduce in another environment, including offline environments (IoT edge, air-gapped environments).
- Store bundles in repositories for remote installation.