Opentack和私有云的困惑
原文 http://dockone.io/article/371
【编者的话】毫不讳言OpenStack目前遇到困难,但是OpenStack的整体成长性毋庸置疑。
如何定位好私有云,并且和新兴超分布式模式(hyperscale web)融合,将会是下一个考验。
如果私有云还只是定位在用Openstack架构提供类AWS服务,它还能应对超分布式模式带来的考验吗?
私有云市场,其兴也勃焉,其衰也忽焉。但因其肇始于一个有缺陷的想法,因此推责于Openstack是不公平的。
如同AWS被认为是云端服务标准,VMware被认为是本地服务器虚拟化标准,而OpenStack则被一度誉为是VMware的开源实现标准,它帮助催生了很多私有云创业公司和私有云产品 - 但围绕该项目现在出现了很大分歧。
据BusinessInsider四月文章中介绍,OpenStack基金会与大量技术供应商合作,但每个合作方都是为了在其中刻上自己的烙印。作者写道,该项目提供“终生支持”,并“为OpenStack的创业公司提供风险投资支持,但是似乎资源都干涸了。”
一些支持者认为该项目(声称是不可否认的)需要假以时日变得成熟和并赢得用户,但是另外一些人则指出,用户成长慢于预期,而且一些高调的初创公司业务变化或者关闭是非常不好的预兆。
某些怀疑是公平的,但问题的核心是,OpenStack ——既不会空前也不会绝后 —— 正在云软件层玩一场不可能赢的游戏,因为Opentack和其它同领域的私有云技术,正在试图创建有争议的本地化AWS。
云简史
在本世纪初,就有不少关于什么是私有云系统本质性技术的探讨。他们通过术语如网格计算,公用计算和弹性应用平台进行了描述。技术术语不同,但总的想法是一样的:创建一个资源池,为应用程序提供所需要的资源,并提供可调度,高可用性和故障转移等特性。
电网的类比可以给我们带来清晰的云计算意义。从理论上讲,我们不需要关心单个服务器,就像我们不需要关心电网内单一发电机的情况,我们只需要将“应用程序”接入到电网,就自然获得所需的电力。
在2006年底,亚马逊AWS发布了令人眼前一亮的弹性计算云。你不需要拥有本地服务器,所有运算都在亚马逊的数据中心运行的!你可以付费,按小时租用这些资源!(Sun Microsystems公司提出了原始设想,但AWS第一个实现并推广此模式,并使它成为主流。)
但随着革命,AWS强化了服务器的某些方面的需求,但是却仍然保留了某些特质。
与以往任何时候相比,用户可以即快又容易部署设备,获取计算能力,但同时用户仍然租用包括CPU,内存和本地存储分配在内的虚拟机,以及自己唯一的IP地址。
基础设施即服务,即IaaS,这意味着研发人员应该尽可能少去考虑服务器,但他们还是不得不考虑。
应用人员希望尽量抽象化。当云计算成为清晰未来图景后,微软Azure,谷歌App Engine和Heroku上都试图把应用平台从服务器管理层面抽象出来,被称为平台即服务,也就是PaaS。
但是事实已经是这样了,不管或好或坏(可能在很多方面更好),AWS的模式已经赢了。传统应用供应商面临全部闭店或被遗忘,而被采用亚马逊模式的私有云初创公司和大型应用供应商的蓝海取代 -——这催生了OpenStack及围绕其生态环境的创业公司和大量采用这类技术的大型应用供应商 。另外即使原来的PaaS产品仍然存在,微软和谷歌最终也被迫推出与AWS类似的IaaS云服务。
私有云窘境
尽管如此,技术上说,重建类似AWS的平台,很多私有云缺乏资金,知识储备和眼光,更不用说创新。要知道,当OpenStack的在2010年推出时,AWS已经花了近4年来增加新的功能和服务。
在一定程度上,打造各行各业的普适产品,与其说这就是AWS,还不如说是资源密集型平台。特别是在最初几年,AWS就是打算一次性部署好平台,然后告诉用户要么接受,要么离开。如果游戏的名称就是配置虚拟服务器,共享存储和网络,另外还可能有一些认证需求那么简单,那么AWS和VMware早已经存在。
这很容易理解为什么人们会兴奋的谈到私有云,然后就谈OpenStack为基础的私有云。但是,当他们等待这些技术变的成熟和产品化后,似乎很多人只会说,“好吧。我们将使用AWS和VMware。“
也许大的高科技厂商正在推动的OpenStack为基础的私有云,其目的更多是为了给企业级用户提供一个愿景。任何一个客户如果有足够的资金,智慧和经验,他们也可以这样做。或者,无论他们和这个世界将如何变化,拥抱云计算已经是大势所趋。
开发者和超分布式网络兴起
几年前,有两个重要的转变几乎同时发生:开发人员和超分布式网络(hyperscale web)的兴起。事实证明,两者交织在一起使他们几乎形影不离。它们有助于鼓励创新,使人需要重新思考私有云的本质是什么。
对于应用开发者,AWS意味着自由。通过方便地访问计算资源和服务,他们开发出更多的应用程序,并设法使他们的生活更轻松。这种模式产生出很多新工具和新技术的 —— 一个全新的商业市场,一个以开发者为中心,大幅提高开发者生产力的模式。
其中有些是非常成功的,从媒体报道,用户数量和投资活动衡量来看,docker,MongoDB和Elastic,每个都在过去的几年中筹得超过1亿美元的风险投资。 New Relic的现在是一个上市公司。其他家喻户晓的则包括GitHub和Stripe。
但他们只是冰山的一角。无论你走到哪里,总会有另一家投资创业或开源项目,或者试图提高数据库的经验,或者通过API提供一个业务流程分析,或以其他方式加快从概念到代码,从测试到生产的过程。
当AWS把开发人员解放出来,让他们以新视野看这个世界的同时,一些互联网上最大的公司 - 即谷歌,非死book,LinkedIn,雅虎和推ter - 却都都达到了超分布式规模(Hyperscale)。为了应对具有服务于数百万,甚至几十亿用户需求所带来的疯狂挑战,他们开始雇佣最聪明的计算机科学家在世界上建立全新的数据库,基础设施以管理和分析数据。
然后他们开始谈论这些系统 - 在许多情况下开源它们。这在很大程度上要归功于这些公司,使我们可以使用例如Hadoop(和Hive),Cassandra,Mesos和kafka,以及其他数十项重要开源技术。即使他们不总是很容易使用,但他们确实总是强大。
当基于云的新应用开发(大部分还是基于AWS)需求量很大时,日常开发和超分布式网络世界变得交织在一起。有些云应用会每月稳步增长,而某些应用则可能一夜之间病毒式的传播开来。
突然之间,谷歌的可扩展性挑战成为Pinterest的(或Airbnb的,或Instagram的,或Spotify的)可扩展性的挑战。谷歌分析用户数据的机会,也一下成为了Pinterest的,Instagram的和Spotify的机会。
一个良性的循环已经开始。现在,创业公司从一开始就采用这些超分布式技术,最终使得他们的项目受益,并经常开源自己的工具,以使其它更多人受益。
这种循环已经影响到每一个行业内的初创公司。
云计算的真正价值
随着开发者和超分布式网络大规模的发展和融合,其重要性已经毋庸置疑。这需要我们对云计算的本质进行反思。至少这远远不是从如亚马逊,微软或谷歌购买虚拟服务器和采取了一些他们所创建的技术那么简单。
如今,各种规模的企业都意识到,无论他们基础架构运行在云中或在自己的数据中心,他们都需要像经营大规模网络公司那样的系统 —— 灵活,高效和自动。这需要从硬件层面(开放计算)到网络层面(软件定义网络),到调度层面(Mesos),到应用层面(容器)的变化。
后两个层面是特别有趣,因为他们需要重新思考如何在云中(共有或私有)部署应用程序。最后,云计算成为主导标准十年后,我们应该会停止谈论服务器,就像应用计算那些伙计们给我们描绘的愿景一样。
谷歌和微软在很多年前,基于自己的数据中心和应用模式进行数据管理操作后,终于不再担心这些了。最著名的例子是谷歌的Brog系统(以及随后的 Omega系统),他们通过运行在linux control group中,承担智能调度工作,确保应用获得所需的资源。开发人员只需要指定服务的链接资源,以及他们的应用程序所需要的资源,剩下的都由智能调度系统来完成了。
但是到目前为止,Brog和Omega,仍是谷歌内部使用。在世界其他地方,是通过其他类似的技术实现的,如Mesos,Docker和 Kubernetes(谷歌贡献)。Docker使开发者发现了一种更加容易和移植的配置应用方法,而Mesos和Kubernetes让开发商可以动态横向扩展他们基于容器的应用。
这种组合,以及其他一些重要的新技术,可以允许尖端公司以一种池化的方式来管理所有服务器(物理或在云中)。大数据和数据库系统和Web服务在同一集群上运行,智能地共享资源,而不是互相争夺资源。可动态扩展技术使得若干服务器宕机并不那么重要,微服务架构正在取代垄断式应用程序架构。
这种架构,对管理数据中心和建立自己应用架构是非常强大的,而且AWS、google和微软也证明了这点,他们已经每年从出租虚拟服务器业务上获利数十亿美元,而现在也迅速转向了基于容器的管理平台,然后,迅速在界面上出现了关于容器方式的管理选项。
服务器和虚拟机都不会消失,但我们与他们之间直接的互动将会越来越少。
大型互联网公司在过去十年中发展出的可扩展的,可分布的,基于服务的架构将会深刻影响未来。但是昨天的架构不一定就不适合明天的应用,前提是:是否能够提高开发者的工作模式,提高运维团队的工作模式,从而使得公司更加有竞争力。如果不能做到,那么必将会有所替换。
再问:私有云是什么?
原文链接: The rise, fall and resurrection of the private cloud (翻译:杨峰)
==========================================
译者介绍
杨峰,目前供职于EMC公司,负责ISILON集群存储相关技术领域工作。