开放容器项目及其意义

尚无读者喜欢这篇文章。
Shipping containers stacked in a yard

Lucarelli,来自 Wikimedia Commons。CC-BY-SA 3.0

昨天在旧金山宣布了开放容器项目(Open Container Project)。这是一个 Linux 基金会的项目,旨在保管软件容器的规范和基本运行时软件。 这绝对是“一件好事™”。

参与支持这项工作的名单中包含了一些常见的名字,这也是一件好事:Amazon Web Services、Apcera、Cisco、CoreOS、Docker、EMC、Fujitsu Limited、Goldman Sachs、Google、HP、华为、IBM、Intel、Joyent、Linux 基金会、Mesosphere、Microsoft、Pivotal、Rancher Labs、Red Hat 和 VMware。(声明:我在 HP 工作。)

快速理清思路的方法:首先出现的是虚拟机。虚拟机是一种在具有过剩容量的计算机上堆叠更多计算资源的方法。虽然 VMware 使在 Intel 架构上实现此过程变得容易,但这个想法可以追溯到 20 世纪 70 年代和 80 年代的 IBM 大型机。数据中心中的虚拟机需要进行管理和编排。可以将管理视为每台机器(物理或虚拟)的流程,用于配置(正在运行的内容)、启动和停止单台机器;而编排则是指一起讨论机器(物理或虚拟)的集合或集群。

现在,引导整个操作系统需要时间和空间。那么,有没有一种方法可以减少此过程所需的空间和时间?本质上,如果我们能够更高效地在计算资源上更快地打包应用程序工作负载,会怎么样?容器应运而生。“容器”是一个很好的比喻。我们看到了容器标准化在运输和货物分销行业中所起的作用。容器可以根据容器内容的速度、成本和访问需求,装载在轮船、火车和卡车上(并存储在仓库中)。

谷歌探索和使用容器已经有十年了。他们不久前发布了 Kubernetes,作为在该领域创新协作的一种方式。Docker 项目是几年前启动的,围绕开源许可项目成立的公司继续快速发展,但随着他们探索商业模式,他们的容器定义也在发生转变。CoreOS 在类似的时间范围内启动,并以略有不同的方式处理容器管理和编排。CoreOS 在 2014 年底开始游说达成更小容器定义的协议,并通过 appc 确立了自己的立场。Cloud Foundry(现在由 Cloud Foundry 基金会管理)有不同的容器编排计划(Warden),并且正在发展该平台(到 Garden)。

而问题就出在这里。随着大量资金涌入容器领域(例如,Docker 获得了 1.5 亿美元,CoreOS 获得了 2000 万美元),新的微型 Linux 容器设备层出不穷(CoreOS、RancherOS、Photon、Clear Linux),以及新老供应商大声宣传其虚拟化、云计算和容器化解决方案,严重的碎片化成为一种真正的可能性。

云计算领域也必须参与讨论。云计算证明,人们可以跨数据中心(私有云)内部和数据中心外部(公共云)的机器集合,模糊虚拟机(计算、软件定义存储和软件定义网络架构)的界限。如今,虚拟机仍被认为是比容器更安全的解决方案,但容器作为云中的首要参与者并非牵强附会,并且已经进行了大量的实验。

声明标准的容器格式,并为运行这种标准化容器提供参考软件,成为一个紧迫而重要的步骤。将规范和运行时的知识产权交给所有参与者都信任且充分理解的非营利组织保管,甚至更为重要。只要这种开源许可的资产由单个供应商持有,它就存在风险,无论所有者进行协作的意图有多好。投资者将推动小公司做出专有决策。大型根深蒂固的供应商也经常做出此类决策。(我们只需要一家相当大的专有公司出现,并决定收购一家较小的主要参与者及其知识产权作为其“容器战略”,我们就会再次陷入困境,一位现在富有的前 CTO 抱怨他们的社区受到了不公正待遇,并且在这个行业想要快速创新的时候,这个角落完全碎片化。)

还有很多工作要做,但 Linux 基金会在照顾和支持这些努力方面处于理想的位置。周一的公告对行业有利。

如果您对容器世界感兴趣,我鼓励您查看以下一些资源以了解更多信息

User profile image.
我是一名技术主管、创始人、顾问、作家、国际商务人士、系统开发人员、软件构建极客和标准专家。我喜欢组建团队和开发让客户欣喜若狂的产品。自 1980 年以来,我一直以客户和供应商的身份在 IT 行业工作。

7 条评论

实际上,容器的想法可以追溯到很久以前,虚拟机也是如此。很久以前我们就有了 chroot,加上 grsec gnu/linux 补丁,它就像一个容器一样,还有 openvz,在 bsd 上有 jails。

我觉得有点... 令人不安的是,现在每个人都认为“嘿,这是新的”,但事实并非如此,而且有很多现有项目也非常需要赞助,因为它们已经有了可靠的解决方案,而且并非所有解决方案都是专有的。

是的。完全正确。我对某种程度上 Docker 发明了容器这种说法感到有点不舒服。这与事实相去甚远。Cloud Foundry 中的 [W|G]arden 容器编排也是如此。这里有很多基础性工作。

回复 的评论

“容器是一个很好的比喻。” - 所以要想象它们,就不要使用会让人联想到有毒废物的桶(即使看不到它们的颜色)……

同意。我想编辑们找到了他们可以使用的图片(已获得 CC 许可),并且这已经是他们能找到的最接近的图片了。

回复 的评论

这与 OpenStack 有什么不同?

Openstack 是一种(目前)管理计算、存储和网络资源的方式。对于计算资源,它在机器级别(虚拟或物理)工作。容器更紧密地打包工作负载。Openstack 世界中有一个项目 (magnum) 将容器视为一等公民。

回复 的评论

Creative Commons License本作品采用 Creative Commons 署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.