2015年DockerCon大会上传出惊人消息,微软与其一批最大的竞争对手(包括谷歌和亚马逊)都已经加入“开源容器项目”(Open Container Project)中。“开源容器项目”是Linux开源操作系统管理机构——Linux基金会旗下的非营利组织,而Linux操作系统曾被微软视为最大竞争对手。
微软与这些竞争对手将联手开发超热门的软件容器技术,以便设立更好的行业标准。Linux基金会执行董事吉姆·泽姆林(Jim Zemlin)表示:“开源容器项目的创建是10年来业内最重要的技术进步之一。”参与这个项目的其他公司还包括惠普、IBM、英特尔、Red Hat、VMware以及高盛等。
开源应用容器引擎Docker已经开创了容器市场,这家公司近来获得9500万美元融资,据说其估值已经达到10亿美元。Docker开发的容器技术可以让开发者打包他们的应用并将其移植的容器中,然后在任何其他地方更容易地运行。随着网络应用越来越多,这种技术变得越来越重要。
容器技术允许开发者在自己的个人笔记本上开发应用,然后将其发给本地服务器团队进行测试,然后在Amazon Web Services、Google Cloud Platform或Microsoft Azure等公共云服务平台上运行,而这一切都无需改变代码。这种技术不但简单,而且功能强大,开发者无需浪费更多时间担心代码的配置,因此可以有更多时间编写更好的软件。
Docker宣称,其技术目前可支持超过500万个容器,而且可跨越主要操作系统和云服务平台。Docker首席执行官本·戈卢布(Ben Golub)将该公司的容器描述为“事实上的标准”。的确,亚马逊、谷歌、微软、IBM以及其他大科技公司都表示支持Docker容器技术。
但是这其中也存在一些戏剧性变化。谷歌支持的初创企业CoreOS曾是Docker的最大支持者之一,但后者却不看好Docker项目的发展方向,特别是涉及到安全问题时。为此,CoreOS撤回支持,并继续开发“appc”以代替Docker,其已经获得谷歌、VMware以及Red Hat的支持。
这不禁令人产生错觉:用户需要在Docker和CoreOS中选择一方支持。谷歌甚至推出官方微博,澄清其计划支持所有的主流容器格式。这种“二选一”式的困境令许多开发者感到紧张,担心自己选择错误的容器格式。这将导致他们将来有一天可能不得不付出沉重代价改变容器格式,有时候甚至整个开发者团队都被颠覆。如果他们正用于管理Docker容器的工具无法兼容“appc”怎么办?反之亦然。
这就引领我们重新回到“开源容器项目”上,这个行业组织将制定标准,令容器格式兼容,以便于结束各方的担忧。戈卢布表示,这是所有人都希望看到的,它有助于开发伟大的工具。
Linux基金会帮助组织这个项目。自从2000年以来,“开源容器项目”就开始为Linux操作系统和其他开源软件项目提供指导。事实上,许多Docker的技术都是基于Linux多年研发的容器技术开发的。
谷歌云计算平台产品经理克雷格·麦克拉克伊(Craig Mcluckie)说:“创建Docker与appc通用容器格式非常重要,因为这种格式将成为沟通工具和开发容器公司之间的桥梁,也是工具与托管容器公司联系的纽带。单一标准可以促进更有活力的生态系统。”
但是CoreOS、Docker以及其他决定容器技术的玩家依然存在竞争。像Canonical和Red Hat等大公司一样,他们通过出售各自普通版Linux操作系统赚得大量收入。CoreOS的旗舰RKT容器产品与Docker的容器尽管在“开源容器项目”标准方面取得一致,但双方都将以各自不同的方式将其转化为商品。毕竟,像任何其他市场一样,竞争在软件容器领域的竞争同样重要。鲍尔维说:“如果我们真诚地希望存在行业标准,我们还必须允许竞争机制存在下去。”
但是与之前激烈竞争的主要区别在于,这两家公司的客户都将可以安心,毕竟所有的容器管理工具(如谷歌Kubernetes项目)、所有的云服务平台(如Microsoft Azure和Amazon Web Services)都将继续支持每种容器格式。
微软Azure架构师约翰·格斯曼(John Gossman)说:“看到无论客户选择哪种操作系统或云服务供应商,都可以使用通用容器技术的倡议,令人兴奋不已。我们期盼Windows Server、Linux Container以及云计算平台支持开源容器项目。”泽姆林也说:“我们对Docker以及开源容器项目创始成员的行为表示赞赏,它们可确保容器技术继续不断的创新。”