Microsoft Connect(); 2018发布的众多最新科技,都让全球开发者惊艳不已。其中一项最令开发者瞩目并迫不及待——微软联合Docker发布了云本地应用捆绑包(Cloud Native Application Bundle,以下简称CNAB),这意味着分布式应用的日子就要到来!
CNAB是一套全新的开源包格式规范,通过与Docker密切合作创建而成,并得到了HashiCorp、Bitnami等的广泛支持。借助于CNAB,无需使用多个工具集,开发者可以使用单个可安装文件来管理分布式应用,以及在不同的环境中可靠的配置应用资源,并轻松的管理应用生命周期。
CNAB依赖于开发者熟悉的技术,如JSON、Docker容器和OpenPGP等,并描述出一种用于打包、安装和管理分布式应用的格式。在设计上,它是与云无关,适用于从Azure到本地(on-prem)OpenStack、从Kubernetes到Swarm、从Ansible到Terraform的各种东西。它可以在工作站、公有云、无线隔离的(air-gapped)网络或者受约束的物联网环境中执行。它具有足够的灵活性,可以满足从面向客户的市场到内部构建管道的各种平台需求。
总体而言,CNAB带来了目前的生态系统中所不具备的若干功能:
❖ 将多个离散资源作为构成一项应用的单个逻辑单元进行管理
❖ 使用和定义操作谓词以进行应用的生命周期管理(安装、升级、卸载)
❖ 签署并以数字方式验证捆绑包
❖ 证明并以数字方式验证捆绑包已经达到了该状态,以便控制捆绑包的使用方式
❖ 支持捆绑包和所有依赖项的导出,以便在另一个环境进行可靠的复制,包括离线环境
❖ 将捆绑包存储在库中,以便进行远程安装。
为让CNAB可更快速地应用,微软推出Duffle。作为CNAB客户端的开源参考实现,Duffle提供了与CNAB协同工作所需要的所有核心功能。它可以安装、升级和卸载CNAB捆绑包;可以创建新的捆绑包、对其进行加密签名以及验证其完整性。作为一个参考实现,Duffle提供了如何构建基于CNAB的解决方案的示例。
同时,微软还发布了一套VS Code(代码)扩展,可简化构建和托管CNAB捆绑包的过程,将捆绑包的安装转变为简单的点击式体验!
通过把这套规范与相关工具组合到一起,让立即着手使用CNAB成为可能。
无论是运行自己的应用,还是专注于为无线隔离(air-gapped)网络编写应用,或是打算把应用分发到各种不同的云环境中,CNAB都是一种可以提供帮助的打包格式。
为了推动CNAB在业界的发展,微软的生态系统合作伙伴——Docker、HashiCorp和Bitnami ,将提供标准化内容(CNAB捆绑包),以供客户从CNAB兼容的目的地(如DockerHub、GitHub等等)托管或下载。
感兴趣的开发者们,快来了解运用吧!
原文地址: https://mp.weixin.qq.com/s/MTAN967yK4zoO6gwwkORug
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com