微软在新闻发布会上表示,微软和Docker共同宣布了一个新项目,该项目将创建“用于打包和运行分布式应用程序的开源,与云无关的规范”。

所谓的Cloud Native Application Bundle(CNAB)为开发人员提供了一种在许多计算环境中打包和运行容器化应用程序的标准方法,从工作站上的Docker到云实例中的Kubernetes。

[InfoWorld解释: 什么是云原生? 开发软件的现代方式 | 入门: Azure云迁移指南 •教程: Google Cloud入门 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

CNAB的规范描述了构成应用程序的“捆绑”或资源组。 捆绑软件还描述了如何安装,升级或删除应用程序,以及如何在环境之间移动应用程序,即使目标环境不在线(例如,气隙系统)。 微软声称“即使底层技术本身不支持,也可以对应用程序捆绑包进行数字签名和验证。” 捆绑包可以部署在组织内部,也可以通过现有的分发系统(例如Docker Hub和Docker Trusted Registry)进行大规模部署。

已经存在用于在容器环境中创建应用程序包的技术,例如Kubernetes的Helm,它描述了如何组合多个容器来定义应用程序堆栈。 CNAB的目标是一套更全面的用例,它不仅可以与Kubernetes一起使用,而且还可以与其他用于部署和管理容器的系统一起使用。

CNAB的另一个既定目标是减少创建应用程序定义所需的工具数量。 CNAB定义可以自动生成特定于部署目标的定义文件(例如,Helm图表或Compose模板),因此用户不需要掌握多个工具集即可部署到多个目标。

Docker和Microsoft都计划发布CNAB的开发工具。 微软宣布将提供Visual Studio Code扩展,以使其更易于创建CNAB捆绑包,以及实现CNAB规范的开源示例(“ Duffle”)。 Docker打算将CNAB支持添加到Docker App工具的新版本中以便可以在Docker Enterprise实例中维护CNAB定义的应用程序。