2018 年 12 月份,微软和 Docker 宣布了一个新的联合开源项目,Cloud Native Application Bundle(CNAB),旨在简化云原生应用程序的生命周期管理。从本质上讲,CNAB 只是一个规范,允许开发人员声明如何打包和运行应用程序。有了 CNAB ,开发人员可以定义资源,将应用程序部署到本地工作站或公共云。
该规范诞生于微软内部,但当团队和 Docker 交流时发现,Docker 的 工程师正在开展一个类似的项目。双方决定将力量结合起来,并将结果作为一个开源项目推出。“大约一年前,我们意识到我们都在做同样的事情,”微软的 Gabe Monroy 说。“我们决定将力量结合起来,并将其作为行业标准汇集在一起。”
作为其中的一部分,微软推出了自己的 CNAB 客户端参考实现,叫做 Duffle,它允许用户执行所有常规生命周期步骤(安装、升级、卸载),创建新的 CNAB 包并以加密方式对其进行签名。Docker 正在努力将 CNAB 集成到自己的工具中。
微软还推出了用于构建和托管这些软件包的 Visual Studio 扩展,以及一个软件包存储库服务器和一个 Electron 安装程序的示例实现,它允许你在 GUI 的帮助下安装软件包。
现在值得注意的是,我们在这里谈论的是规范和参考实现。显然,当今市场上存在一个庞大的生命周期管理工具生态系统,这些工具都有自己的优点和缺点。“我们无法统一这种工具,”Monroy 说。“我认为这不是一个可行的目标。但我们可以做的是我们可以统一模型,特别是生命周期管理经验以及打包和发布体验。这实际上是 Docker 能够处理单工作负载的情况。“
随着时间的推移,微软和 Docker 希望规范最终成为供应商无关的基础。哪一个还有待观察,不过似乎开放式容器计划看起来天然就是类似项目的归属。
评论