开放容器项目及其意义

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

Lucarelli 经 Wikimedia Commons。CC-BY-SA 3.0

昨天在旧金山宣布了开放容器项目。 这是一个 Linux 基金会项目,将持有使用软件容器的规范和基本运行时软件。 这都是“一件好事™”。

支持这项工作的参与者名单包括了常见的名字,这也是一件好事:Amazon Web Services、Apcera、Cisco、CoreOS、Docker、EMC、富士通有限公司、高盛、Google、HP、华为、IBM、英特尔、Joyent、Linux 基金会、Mesosphere、微软、Pivotal、Rancher Labs、Red Hat 和 VMware。(披露:我在 HP 工作。

一个快速理清思路的方法:首先是虚拟机。虚拟机是一种在具有过剩容量的计算机上堆叠更多计算资源的方法。虽然 VMware 使在 Intel 架构上实现这一过程变得容易,但这个想法可以追溯到 1970 年代和 1980 年代的 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 容器编排也是如此。这里有很多基础性工作。

回复 ,作者:Oliver Leitner (未验证)

Solaris 容器 [https://en.wikipedia.org/wiki/Solaris_Containers] 怎么样?或者那是不同的东西吗?

回复 ,作者:Oliver Leitner (未验证)

“容器是一个不错的比喻。” - 因此,为了描绘它们,只是不要使用让人联想到有毒废物的桶(即使它们的颜色看不见)......

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

回复 ,作者:Dime (未验证)

这与 OpenStack 有什么不同?

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

回复 ,作者:pd (未验证)

Creative Commons 许可协议本作品根据 Creative Commons 署名-相同方式共享 4.0 国际许可协议获得许可。
© 2025 open-source.net.cn. All rights reserved.