News

Microsoft, Docker Collaborate on 'CNAB' Spec for Distributed Apps

To help organizations that build and maintain distributed applications, Microsoft and Docker this week launched a new specification called Cloud Native Application Bundles (CNAB).

Distributed applications are defined, at the basic level, as applications that run on at least one client and one server, but they can also get more complicated. A distributed app might tap multiple cloud services, for instance.

That's the scenario that Microsoft and Docker plan to address with the new spec. CNAB is "cloud agnostic" and is based on technologies such as JavaScript Object Notation (JSON), Docker containers and OpenPGP encryption. Partners working on the CNAB spec include Bitnami, Docker, HashiCorp and Microsoft.

In addition, Microsoft and Docker collaborated on a new tool to enable the CNAB spec called "Duffle."

"Real-world applications can now span on-premises infrastructure and cloud-based services, requiring multiple tools like Terraform for the infrastructure, Helm charts and Docker Compose files for the applications, and CloudFormation or ARM templates for the cloud-services," explained Patrick Chanezon of Docker in Docker's announcement. The use of these multiple tools presently requires carrying out separate management activities, he noted, which complicates matters.

CNAB aims to simplify the handling of distributed applications, taking away some of the management drudgery. In composing the spec, the idea was to "treat a distributed application as a single app," explained Microsoft's Matt Butcher in an announcement. The spec provides a means for provisioning distributed applications without having to master multiple tools. It also lets organizations or developers manage the lifecycle of distributed applications, with the ability to install, upgrade and delete them without using multiple tools.

CNAB applies to any cloud service, "from Azure to on-prem OpenStack, from Kubernetes to Swarm, and from Ansible to Terraform," Butcher explained, adding that "it is flexible enough to accommodate an array of platform needs, from customer-facing marketplaces to internal build pipelines." It'll even work with Internet of Things (IoT) networks and "air-gapped environments."

Docker is claiming to be the first company "to implement CNAB for containerized applications." CNAB support will be included in Docker's experimental tooling, allowing organizations or developers to "package CNAB bundles as Docker images." CNAB support will be added to Docker Enterprise, too, in the "coming months," Chanezon promised.

The Duffle tool, which supports "all of the core capabilities for working with CNAB," can be used now. Duffle has a graphical user interface that will let users "create new bundles, cryptographically sign them, and verify their integrity," Butcher explained. In addition, Microsoft has released a Visual Studio Code extension that lets users build and host CNABs, he added.

For more information about CNAB, see this Microsoft video discussion.

About the Author

Kurt Mackie is senior news producer for 1105 Media's Converge360 group.

Featured