OpenStack、Kubernetes和Mesos,谁将掌控未来?

来源:互联网 发布:音乐编辑软件 编辑:程序博客网 时间:2024/04/29 07:08

哪个软件层会最终控制全球公司正逐步建立起来的计算、存储和网络架构?是OpenStack?Mesos应用调度器?还是Kubernetes?

这些问题的答案可能并非我们想象得那么简单,但是讨论一下还是非常有意思的。本文编译自theplatform.net网站,作者为Timothy Prickett Morgan,编译者范范,在此表示感谢。

OpenStack成为控制功能的重心

OpenStack在数据中心中正在受到广泛的关注,而Mesos和Kubernetes虽然还相对处于早期阶段,但同样也吸引到了软件堆栈更高层级的关注。这样一来,数据中心的谈话重心从基础设施虚拟化和编排转向了集群中服务器节点上软件的混存。这些集群使用了容器来提升利用率,大幅简化了应用部署与维护的流程。

我们很自然地就会想到OpenStack最终会成为所有控制功能的重心,至少对于那些将开源软件作为首选的数据中心控制功能来说是这样。微软和VMware拥有庞大的虚拟化服务器安装基础,并且自己拥有大量可创建和管理云的管理工具,例如带Azure Pack插件的微软系统中心,VMware拥有vSphere和vCloud扩展组件。目前它们都努力在虚拟化基础设施顶层采用Docker容器格式,以便与Linux、Kubernetes和Docker容器混合方案展开竞争。

在OpenStack出现之时,容器技术已经存在了很长一段时间,但是随着虚拟机和服务器整合像风暴一样席卷数据中心之后,它们一度黯然失色。

五年前推出了OpenStack项目的时候,最高目标是为横跨100多万个服务器节点和最大6000万台虚拟机的大型云创建一个中央控制器。这是一项宏伟的事业。虽然规模对于集群来说目前是一个重要的问题,但是许多公司希望裸机数量与虚拟机数量一样多,前者更适合于某些工作负载。行业和终端用户公司的实际顾虑已经改变了OpenStack项目的优先顺序,OpenStack已经成为虚拟计算、存储和网络编排的重心,与最初的计划相比,这是一个更为困难的任务。

容器风生水起

软件容器出现后,对OpenStack的需求未必会减少。Mesos和Kubernetes调度器的出现,以及容器化应用开发与部署理念的出现成为了人们最新的关注点。人们很自然地想知道哪种控制器最终将统治未来的应用集群。

目前有两大阵营在公开地为争夺控制权展开竞争。OpenStack所处理的事务与Mesos所处理的事务之间存在着重叠,不过公平地说重叠部分很小。Kubernetes支持者和Docker支持者都宣称他们正在解决的问题都非常重要,并且棘手。除此之外其他的所有问题都是次要问题,他们会随着时间的推移让他们的堆栈做OpenStack能够做的事情。OpenStack支持者的做法则截然相反,他们认为容器已经出现了很长一段时间,容器编排在技术上是一个很容易解决的问题。OpenStack正在解决物理基础设施和虚拟机的编排问题,未来也许可以加入到Kubernetes中,在堆栈中加入容器编排。

Magnum整合两个世界

目前,人们正在通过Magnum对两个世界进行整合。Magnum在OpenStack和谷歌的Kubernetes、Docker Swarm、CoreOS Tectonic以及其他的容器管理系统之间提供了连接能力。Magnum项目于2014年11月份启动,其代码还没有为黄金时间准备就绪,因此那些希望将OpenStack与Mesos或Kubernetes整合在一起的人必须要手动干预才行。他们使用OpenStack配置裸机或虚拟机,然后再使用容器管理系统。准确地说,计算能力是如何被编排的目前还不清楚。

Mesosphere不希望给人们留下他们的生产级Mesos工具DCOS(数据中心操作系统)与OpenStack和VMware vCloud等云控制器之间存在冲突的印象。

Mesosphere主管营销的高级副总裁Matt Trifiro曾表示:“我们与OpenStack和VMware社区展开了大量合作。”虽然虚拟化不能帮助我们更好地编排容器,但是对于许多企业客户来说,用“DCOS+VMware”的方式管理容器可以收到1+1=5的效果。

但是,CoreOS和Mesosphere的创始人都曾从事于互联网行业,有着统一的集群,最大的问题是管理容器和应用。但在具有多元化特征的企业领域,多样性是一个庞大且复杂的难题。因此在企业堆栈中,不同于推特和谷歌堆栈,可能同时存在VMware vSphere和微软Hyper-V以及来自多家厂商的存储等,这些客户希望通过一个单一的接口控制裸机和虚拟服务器。

但是,不知道哪个阵营将会胜出,也不清楚企业是否将走向单一的选型,以及他们的堆栈是否会变成一个整体。

考虑到应用在企业数据中心内存在的时间,这看起来不太可能。但是这可能会发生在一些新公司中,因为他们正在创建新的云,甚至会使用新的超级计算机。

多样化带来的机会

只要企业对他们基础设施保持多样化,而不是同质化,OpenStack将会获得一席之地,同时Kubernetes和Mesosphere将会对OpenStack进行补充。

OpenStack简化了数据中心多样性的管理。OpenStack目前的价值在于许多厂商正在编写并积极维护大量物理基础设施驱动。而OpenStack是一个API架构,允许对裸机和虚拟基础设施进行编排,无论它们是计算、存储还是网络。Kubernetes和Mesos是PaaS的底层组件。它们擅长管理和扩展被打包在容器中的应用。OpenStack擅长处理数据中心的多样性,但是却不擅长应用和容器管理。服务提供商可以在OpenStack之上放置Kubernetes或Mesos,这是一个非常优秀的技术组合。

CoreOS的CEO Alex Polvi表示,让Tectonic在OpenStack上运行的工作可以真正满足许多客户的需求,OpenStack是Tectonic可以在其上部署的众多不同虚拟化基础设施堆栈中的一个。

Polvi说:“我们的观点虽然可能有点偏袒我们的产品,但是CoreOS加Kubernetes的组合确实是一个非常出色的通用基层,这也是我们为什么正在坚定不移地推动它们的原因。有许多办法可以实现在Mesos上运行Kubernetes,我们甚至可以将它们放在OpenStack上。不过我们认为,’CoreOS+Kubernetes’的组合是可接受的最低限度,我们可以将其他应用放在它们上面。如果愿意的话,Mesos也可以放在它们上面。我知道虽然Mesos的工作原理完全不同,但是我们并没有不这么做的技术障碍。我们相信谷歌、Facebook等公司管理他们基础设施的方式是我们的终极目标。如果创建了谷歌Borg的公司正在将Kubernetes作为一个理想版本,那么随着时间的推移他们最终将会胜出。”

Mesos和Kubernetes之间的竞争似乎不可避免,面对Mesos,Kubernetes还有许多不具备的功能,但是这可能只是发展时间的问题,毕竟Kubernetes的发展时间太短了。而自从谷歌加入到OpenStack基金会之后,Kubernetes的发展可能会得到快速增长。也有很多人表示,相信Kubernetes将成为分布式数据中心的Linux。它们将像Linux一样,采用内置所有东西的设计思路。

0 0
原创粉丝点击