看CoreOS的联合创始人如何谈论容器,Rocket 以及 Docker


【编者的话】Alex Povil是CoreOS的CEO和联合创始人,本文是Linux.com对Povel的一个访谈记录。在访谈中,Povil谈到了他们创建CoreOS的初衷是基于安全性的考虑,为了使系统变得更加安全,他们使用容器技术构建了CoreOS,以此让操作系统和应用程序相分离。此外,CoreOS对于容器技术也进行了更深入的思考和布局,他们发布了App Container Spec制定了容器的实现规范,而Rocket项目就是对于这个规范的一个标准实现。Povil希望Rocket在提升安全性的基础上能成为一个“纯粹”的容器供开发者使用,而并不像Docker那样成为一个平台。最后Povil还描绘了CoreOS的商业策略。

Alex-Polvi-CoreOS.jpg

作为一个新的Linux发行版(专为大规模可扩展部署而设计),CoreOS在过去几年声名日隆。公司的一些明星产品也随着Linux容器(一个CoreOS的核心部件)的流行而知名度上升,他们的开源组件,也被广泛地应用于分布式计算的前沿技术中。

这周,CoreOS发布etcd的2.0版本,这是官方发布的首个稳定版本,目前使用etcd的项目的公司超过上百个,包括Kubernetes、Apache Mesos、Cloud Foundry等大型项目中都在使用etcd。而就在一周前,CoreOS发布了Rocket 0.2.0和App Container Specification 0.2.0。

“容器和分布式应用将会革新你的基础架构”,Alex Polvi说。“毫无疑问,这是一个崭新的方式,将从根源上影响企业现在的工作方式”。

这种新模式对企业IT意味着一个新的,还没有被完全定义的角色,Polvi称它为"分布式DevOps"。

Polvi将在Linux基金会2月18号到20号的会议上,分享容器和分布式计算是如何改变企业信息化,并综述其中的重点开源项目和公司。

在这个Q&A部分,他将提到容器和企业IT,比较Rocket和Docker,描绘开源在CoreOS商业策略中扮演的角色,并提前告诉我们一些他在CollabSummit会议上发言的内容。

Linux com: 你为什么要开发CoreOS?你希望解决什么问题?


Alex Polvi: 在2013年1月,Brandon(飞利浦联合创始人)离职,我的公司被收购,我们开始寻找一个有意义、有商业影响的项目。我们想看看,如何能从根本上提高互联网的安全性。


在调查中,我们发现,所有的安全问题都可以归结为软件更新能力的问题。你可以使系统变得更强壮、更安全,但是,没有什么软件是完美无缺的。我们想,那就让我们构建一个可以自动更新的服务器,它和人们现在对服务器的认知有所不同。如果这可行,我们相信它可以创造更多的价值,包括提升提升服务的安全性、可靠性以及服务本身的性能,这几乎就是你想运行最新软件所需要的一切。


我们所做的全部事情,都源于这个最初的使命,尽管你可能会认为我们是一个基于容器操作系统。我们的确非常关注容器,这是因为我们希望用户可以通过自动更新的方式运行服务器。为了能够让服务自动更新,你必将基本操作系统和应用程序进行隔离,不应该将它们绑一起。我们通过容器技术来达到目的。我们​​将应用程序打包为一个独立单元,并让我们更新基本操作系统时,不破坏应用程序。
Linux com: Linux容器在过去几年发展迅猛。这个对企业IT有什么影响?


Alex Plovi: 容器技术充满希望,令人激动拥有崭新未来,人们开始对基于容器技术建立的新平台投资。虽然我们还没有人大量在生产环境使用它,除了那些在Docker之前就已经使用此类技术的服务提供商。


问题的关键是,未来我们使用基础设施的方式存在着多种可能性,未来的基础设施很可能是由容器和分布系统共同构成的。随着新兴类型的基础设施的不断发展,会出现很多种关于分布式系统的主题。正是因为容器技术的关键作用,像Kubernetes和Mesos,这些项目才和容器的生态系统紧密相联。


这绝对是一个运行基础设施的全新方式,和今天的企业相比,在基础设施的工作方式上,未来的企业可能会有根本性的变化。
Linux com: 它会更安全吗?


Plovi: 当然,如果他们使用我们的产品(笑)。我这样说不是过于自信,而是我们发自内心的关注互联网后端的安全问题。如果我们不能完成这个最初的使命,我们公司就是失败的。我们将竭尽全力地去改善安全问题,不仅仅能它正常工作,而且还要让它好用。越来越多的企业开始意识到,繁多的不同安全技术是很难去使用的。是时候认真对待这个问题了。
Linux com: 回到容器怎样改变企业IT的话题上,其中有一个方面,就是它让企业开始重新思考,对吗?


Polvi: 是的。我认为正在从传统的 “IT系统管理员”向“分布式系统管理员”转变,对于系统管理而言,这可能会成为一个类似“DevOps”的新的术语。对我来说,分布式系统管理意味着容器和分布系统相集合的方法论。这种方式与以往截然不同,我们已经看到它出现在Google的服务基础设施上。目前,这中模式已经逐渐被Google以外的公司开始使用。
Linux com: 你说的分布式系统管理,本质上而言,指的是网络级别的IT吗?


Polvi: 是的,目前还没有一个整个行业都认可的术语。分布式系统管理就类似于Google运行它们服务器那样。问题在于只有大型企业可以实现网络级别,但是这种基于容器的分布式系统管理适用于各种规模的公司和各种类型的服务。
Linux com: 你觉得今年容器技术会怎样发展?


Polvi: 我认为我们将在Docker成熟和我们研究这些技术之间,发布第一个产品级容器,和Canonical及其它关注于容器研究的公司一样。我相信你们将在2015看到易用的容器。这是我的一个预言。
Linux com: 那么关于Rocket呢?它到底是什么,为什么它是必要的?


Polvi: 在Docker的早期(还在快速开发中),它能被内建在很多的平台中,所以它是一个被其它公司来构建基于容器的平台的很好的组件(像AWS和谷歌云,及Mesos)。Kubernetes就是特别针对Docker容器构建的一个平台。


最近Docker本身开始转变为一个平台,这就难免和其他已经存在的平台开始竞争。这是很好的。我明白如果他们想把平台当作一个公司来组建,这么做这有很好的商业价值。问题是我们仍然需要简单的容器来构建平台。


我们想要帮助人们在已有的平台上简易地使用容器。所以Rocket设计成Docker原有的那样简单,一个帮助你将容器加入你已有平台的工具。
我们曾经考虑对于一个容器的设计而言,其关键的组件应该有哪些,并且我们也尝试修复容器技术中所存在的安全问题。Docker本身的架构会引起一些安全上的缺陷,这些问题的确很难处理。我们希望Rocket的功能可以像最初的Docker那样,作为一个“纯净”的容器,并且在安全性上,能表现得更好。


当Docker发布的时候,非常酷的事就是它的程序可移植性的理念。这也是第一次,我们可以对一个应用程序进行打包,并且将它运行在不同的环境中。Docker在亚马逊和Google都有应用。他们可以持续地运行一个程序。这也是第一次,使得不同的云平台之间具有了可移植性。


问题是,Docker并没有对打包之后的格式进行详细的描述以方便第三方工具在其基础上进行扩展。本质上,你只有运行Docker环境才能使用Docker,我们觉得应该有一种更为开放的模式。


在我们发布的App Container spec(appc spec)中,我们明确定义了,容器是什么,容器应该运行什么,然后不同的工具可以构建在它上面来运行程序容器。我们开发了一个叫Rocket的命令行工具,作为程序容器的运行环境。这是第一个程序容器的实现,在去年12月之后才陆续有效仿者。
Linux com: 我感觉我对Rocket了解得更多的是安全性而不是可移植性。


Polvi: 关于Rocket有三个主要命题,分别是安全性、组合性、开放标准(开放标准涉及到App Containers)。这三个主题可以说是彼此独立进行的。Github/Appc是对于App Container规范的说明,在CoreOS中的Rocket项目,是对与这个标准的一个具体实现,是我们程序容器的实现说明。我们在尝试将App容器变成HTTP容器。没有人拥有HTTP,因为Http服务于大家并且几乎被到处使用。
Linux com: 你们的商业化策略是怎样的?


Polvi: 我们有两个不同的选择。


第一个是纯粹的开源组件。开源一个核心,没有企业版。我们所有的开源组件可以免费被使用,被内嵌到大家的项目中。我们的职责就是构建它们,这是我们对这一领域的馈赠。我们构建它们是因为我们确定能在这个空白领域用新的方式来管理基础设施。


在商用方面,我们出售使用开源组件构建的商用产品。我们提供优秀的产品来帮助你用新的方式来管理基础设施。


我们的另一个贡献就是CoreUpdate,它可以帮助你“滚动升级”服务器,这样你就可以专注于构建应用程序。如果你只是想构建自己的服务,开源的版本已经足够,而在商业版我们帮你打包好了最好的开源组建,并且有一个Managed Linux的工具来管理其它的部分。这包括CoreOS的基础管理,自动安全更新,容器的软件包管理器和专业支持。


还有我们的企业级的Registry,通过Registry公司可以共享和下载他们的docker容器,并且在他们自己的环境里运行。同样的,你可以选择开源版本,但也可以选择商业版本,尤其是本地部署运行。如果不想和开源的拼凑在一起,我们会持续地将产品加入到我们的产品线,开发企业级的版本。
Linux com: 你认为Linux、开源、CoreOS,三者怎样融合在一起?


**Polvi: ** Linux和开源是我们的核心。 Brandon和我第一次见面是在俄勒冈州的开源实验室,帮助运行Kernel.org、Drupal.org、Apache.org这些大系统工程。我在Mozilla基金会成绩的早期就加入,并且在那里创建自己的公司。Brandon是一个Linux内核开发者。


我们所做的一切都是非常开源的。我们定期提供为linux主线内核提供补丁。我们使用主线,但我们不直接修复它,因为我们在主线已经得到所有我们需要的补丁。我们是彻头彻尾的开源forks。现在,我们想成为一间独立的公司来开源并来填补这个空白,同时开发具有商业化的软件以支持自主创新。
Linux com: 哦,顺便说一下,你现在做的事情正在改变互联网。


Polvi: 希望如此!它是我的梦想。如果我们可以和一个伟大的团队一起工作,如果能用开源的技术来建立一个独立的企业,夫复何求?
Linux com:下个月的合作峰会上你将分享什么内容?


Polvi: 我想主要是一些新兴事物(基础设施方面),以及我们和其它项目有何不同。不同的开源项目,他们是如何商业化,预测它们是如何在容器和分布式系统中起作用。我想说说Kubernetes、Docker和Mesos的不同之处;Docker平台和Docker容器,Rocket,还有我们正在进行中的项目。我想和大家分享容器技术带给我们的种种变革,因为我们正处在这种变革当中。这是开源与商业一个非常有趣的平衡。我希望这些对大家能有很好的帮助。
原文链接:CoreOS Co-Founder Alex Polvi Talks Containers, Rocket vs. Docker, and More (翻译:刘汉忠 审校:王哲)

======================
译者介绍
刘汉忠(Louis Liu),现就职于广州向日葵,从事技术开发工作。Javaer,Rubist,以及Docker粉,期待让自己以及同事能从各种技术组合中得到效率的提升。这个时代很美好,让我们做自己喜欢的事,与大家分享,Let's enjoy it and play hard :)

0 个评论

要回复文章请先登录注册