大约18个月之前,科技出版物中充斥着“容器,以及他们将如何从根本上改变企业IT”的新闻。我们在这些说的天花乱坠的新市场中提取信息,汇总到“容器的现状”博客。基于我们的研究,可以清楚的看到,容器的确造就了市场趋势,而且代表了十年来的一次在企业基础设施方面的转型,这样的转型会重新塑整个IT行业。

很显然,容器和应用程序层都只是开始,我们调查差距在哪些地方:比如像安全,网络,管理和编排这样的领域,了解我们支持下一代革新的领域。我们采访了100多位专注于将革新带入企业IT堆栈浪潮的企业高管和创始人,同时对两家公司做了研究:Core OS和Cockroach Labs。随着最近越来越多的商业建立在Kubernetes的基础上,我们在这里花一点时间来将它和其它的编排工具进行优缺点对比,以及表述为什么我们坚信Kubernetes会成为容器编排工具之中耀眼的明珠。

一点历史

在不久之前,虚拟化还统治着世界。在大型企业中,运行手册和部署脚本被用来交付自动化应用程序。但是这样往往容易出现人为错误,配置管理工具的产生犹如雨后春笋,他们旨在解决世界500强企业中复杂开发环境中的问题。之后,正如大家所知,软件统一了世界。

今天的互联网巨头,比如谷歌,Netflix和Facebook都已经在使用容器和微服务架构了,在这些地方,小模块化组件围绕特定业务功能建模,并进行协同工作——促使开发人员继续交付新的产品,功能以及大规模增强功能。世界500强继续开发由大型中心化管理团队支持的专用软件栈,花费数月来交付新的功能和产品,比互联网同行花费更多时间精力。

不仅仅企业应用程序架构和部署十分复杂,扩展也是及其困难的一件事。跟基于云的分布式微服务架构不同,企业数据中心的正常使用率通常大约只有20%——真是个又贵又浪费的问题,但是又无能为力。尽管世界500强企业高管已经开始羡慕数据中心运维支出,另一个巨大的商业利益就是,它加快了互联网公司为客户、合作伙伴和雇员交付解决方案的速度。数据中心的利用率和有灵活性的产品规模化成为破局者,世界500强企业意识到数字化转型的必要性。

把我们带到今天的是什么

现在,几乎每一个世界500强企业都在向基于软件的业务转型,努力在瞬息万变的市场中竞争。在充分了解企业使用微服务的情况下,世界500强的高管知道,敏捷开发实践和容器技术是数字化转型的关键。然而,容器形式自身仅仅只是开始——它很大程度上已经是一个商业化的积木块。世界500强采用的关键基础件是容器管理,市场份额的这场仗已经打响了。

以下是我们对云基础设施管理生态系统系统的评估,每个都带有各自的特点:

clipboard.png

Cloud Foundry

Cloud Foundry是一个开源云计算平台服务。目前由VMware开发,Pivotal(是由EMC,VMware和General Eletric合资的企业)软件持有。Cloud Foundry支持整个开发生命周期,从最初的开发,贯穿到整个测试阶段,再到部署阶段。因此它非常适合连续的交付策略,但是它的这个方法不是以容器技术为中心的。

OpenStack

OpenStack开始于2010年的由Rackspace公司,和美国航天局的一个项目合作。它是一个自由、开源的平台,作为一种服务解决方案(IaaS)。OpenStack包括了一套控制面板API,以及允许企业在自己的数据中心部署虚拟机和定义其他软件的基础设施环境的软件。虽然简化异构企业开发环境十分有价值,但是OpenStack经常被批评,因为它安装极其困难。然而,最近的demo中,OpenStack用Kubernetes运行得十分顺畅,就如同安装任意运行在Kubernetes上的应用程序一般,这就给基于IaaS的容器和虚拟化的企业带来了便利。

Docker Swarm

Docker Swarm是Docker原生的容器集群管理工具,将多个Docker主机抽象成一个虚拟主机。Docker的新版本包括了它自己的编排系统,叫做SwarmKit,该系统增加了内置于Docker容器格式的容器管理。这使开发人员能够用简单易用的方式来管理容器,但要应用到生产环境,仍然有很长的路要走。从社区角度看,Swarm最终由一个公司控制,而不是开源社区,这也就增加了一些风险。类似于像Mesos和Kubernetes这样的解决方案支持更加强大的功能设置,吸引更大的企业。

Apache Mesos

Mesos是一个最初在加州大学伯克利分校开发的开源软件。它位于应用程序层和操作系统之间,使在大规模集群环境中部署和管理应用程序更加轻松,高效。Mesos的内核是一个通用的调度系统,但是它可以跟其他调度器进行很好的整合。这就令像Hadoop和Marathon这样的系统可以顺畅的一起运行。由于Mesos它起源于科学计算,所以不那么着重于运行容器这方面。它在容器技术开始活跃前就存在,并已经重新调整以更好的支持容器服务。

Kubernetes

Kubernetes是一个从底层向上设计的,用容器来创建,管理和编排分布式应用程序的理想平台。它包括用于副本和服务发现,作为其内核的一部分,需要了解如何正确配置,Kubernetes的版本就是开发一个允许企业以最高效,安全和轻松地来管理大规模应用程序部署的系统。

期待

随着企业使用案例,世界500强公司现在正寻求超越“Docker”的科学项目。他们目前的下一步计划就是,评估能否用上述解决方案来替换旧系统。很多都是将这些之中的几个进行部署,由团队和用户案例进行存储。在这个过程中,谨慎是很重要的:同时使用这些系统会在未来造成很明显的障碍——成本损失。当考虑到管理,安全,支持和人类对于这些平台所需的专业知识的时候,以及再在此基础上再考虑可靠和高效问题——那么,管理他们就很容易成为一个噩梦。

有前瞻性的思维机构已经意识到,对于抽象和集中数据中心资源来说,Mesos和Kubernetes是最佳平台。Kubernetes在Mesos以及其它提供的工具中脱颖而出的原因就是,目前正有一个开源社区围绕着它在形成,推动它与其它关键基础设施组件(比如SoundCloud的普罗米修斯和CoreOS的etcd)的开放式集成,形成多厂商的开源社区支持企业堆栈。这样做的原因,据Apprenda高管Chris Gaun说,就是Kubernetes提供了一个“模仿Hadoop的非常强大的模型”。在这个模型中,Hadoop十分成功,因为它不再是只由单个大供应商主导了。

这篇帖子中提到的基础设施平台很大程度上在一个或者多个大厂商的指导下的,而且他们基本上跟其它开源组件一起运行得不是很好。最近Accel在Work-Bench举办的Open Source上描述,他们缺乏必要的开源社区,网络贡献者,以及一线开发人员和客户,成为深受大家欢迎拥护的基础技术。Kubernetes用户的爆炸式增长,也从另一方面说明了大家社区概念的接受度颇高。

此外,Kubernetes建立在谷歌15年运行云基础设施产品工作基础上,同时来自其社区不断增长的贡献者和公司的实践经验,他们还在积极添加功能。Kubernetes社区已经为运行企业规模的分布式基础架构奠定了一个坚实的基础,同时其它公司比如Core OS的团队正在将Kubernetes与其他强大的开源技术结合在一起,来帮助实现企业级安全,可靠地运行容器。虽然这看起来就好像这些容器公司都在争夺同一杯羹,但是其实不太可能出现一家通吃的情况,而且这些不同的平台支持不同客户的不同场景,各有千秋。几年后企业将发生怎样的变化我们拭目以待,同时我们也继续期待Kubernetes每个新版本的发布。

原文链接


Caicloud
337 声望89 粉丝

Caicloud 作为中国最早期的容器技术云平台开拓者之一,启用新一带容器集群技术(Container Cluster),推出全新容器云计算平台和云平台运维管理系统以服务企业和开发者。核心团队成员来自美国谷歌(Google)、亚...