谈谈开放容器项目及其意义
DockerCon 2015大会于上月22在美国旧金山揭幕,大会上Linux基金会与行业巨头联手打造开放容器技术项目Open Container Project,旨在实现容器标准化。作者从行业角度分析了这个项目背后的意义。
昨天看到了在旧金山公布的开放容器项目(Open Container Project)。这个由Linux基金会打造的项目,旨在实现容器镜像格式与运行时的标准化。怎么看都是个“好东西”。
有许多平时持怀疑态度的公司也出现在签署支持该项目的公司名单中,这也是件好事:Amazon Web Services、Apcera、思科、CoreOS、Docker、EMC、富士通、高盛、谷歌、惠普、华为、IBM、英特尔、Joyent、 Linux基金会、Mesosphere、微软、Pivotal、Rancher Labs、红帽和VMware 。(作者:我是惠普员工。)
让我们来理理头绪:首先是虚拟机。虚拟机是一种在有多余空间的计算机上存储更多计算资源的方式。早在20世纪70和80年代的IBM大型机时代,这个思路就出现了,现在,VMware使得这一过程在Intel架构中变得很容易。数据中心的虚拟机需要管理和编排。管理指一台真机或虚拟机用于创建(要运行的)、启动和停止单个主机的进程,而编排是一种与真机或虚拟机的集合或集群的通讯方式。
运行(Bootstrap)整个操作系统肯定是费时费空间的。那么,如果有一种方式能够减少过程中所需记忆空间和时间呢?本质上来说,如果我们能在计算资源上以更快的速度高效打包应用程序的工作负载呢?用容器。容器是个非常贴切的比喻。我们可以看到,在运输和货物流通行业,容器是被标准化的。根据容器中货物的速度、成本、存取要求,可以把容器分别装载到船只、货车和卡车上(并存储在仓库中)。
谷歌在探索和使用容器的路上走了十年了。他们之前发布Kubernetes作为空间创新的合作方式。Docker项目出现没几年,这个围绕开源许可项目建立的公司继续快速成长,但在他们探索商业模式的过程中改变了对容器的定义。CoreOS以相似方式差不多同时开始涉足容器的管理和编排。2014 年底,CoreOS开始为小型容器定义协议进行游说,并在appc上大赌了一把。 Cloud Foundry(现属Cloud Foundry基金会)也有一个容器编排计划(Warden)和一个发展中平台(to Garden)。
这些公司各自为政的举动使行业变得混乱了。大量资金涌入容器行业(例如Docker有1.5亿美元、CoreOS有2千万美元),新的 micro-Linux容器应用到处都是(CoreOS、RancherOS、Photon、Clear Linux),卖主们各自的虚拟化、云和容器化方案的叫卖声此起彼伏,而碎片化成了严重隐患。
必须要谈谈云计算空间的问题。云计算说明,横跨内部数据中心(私有云)和外部数据中心(公有云)机器集群的虚拟机,其界限是可以被模糊的(计算、软件定义存储、软件定义网络架构)。我们认为,当前虚拟机相较于容器来说,是更为安全的解决方案,但容器作为云的first order participants,它并不只是云的延伸,有很多实验已经证明这点。
声明一个标准容器形式并提供参考软件运行这样的标准化容器,成为至关紧要的一步。而找到一个让所有参与者都信任的非营利性组织来保管规范的知识产权则更加重要。因为如果开源许可产权掌握在任何一个公司手中,那就是一种威胁,就算这个公司非常热衷合作也不行。投资者将操纵小公司的专利决策。盘踞行业的大公司经常这么做。(一个相当大的公司掺和进去收购一家关键性的小公司及其专利,称为“专利策略”,然后我们就会看到小公司的前CTO抱着一大笔钱抱怨他们社区做错了,接着产业中的这一片热土在它本想迅速创新的时候分崩离析了。)