
1.5 现状与发展
说了这么多数据中心发生的变化,固然激动人心,但是视角仍略显单一。单单从技术角度考量,历史上许多优秀的技术革新与发明创造都具有划时代的意义,但其中很多却没有如大家预期产生应有的影响,或者拖延了很久才重新被人们所认识。例如RISC架构的处理器设计、虚拟化技术、瘦客户机、分布式文件系统等,数不胜数。因此,我们不妨暂时走出纯技术的思路,站在旁观者的角度看一下产业界是如何看待和发展软件定义数据中心的。
在对待软件定义数据中心的态度上,用户是最积极的。这里所说的用户,并不是每天逛淘宝的买家,也不是拿着手机不停刷微博、微信的“准网瘾患者”,而是运行这些应用的服务提供商。这些“用户”传统上会租用成熟的数据中心,把自己的服务器、存储托管在数据中心的机房。这种模式的优势显而易见,数据中心会负责机房管理、日常维护、电力供应、防火、空调等自己擅长的工作,保证硬件设备的最大可用性;同时,应用服务提供商可以专注维护他们自己的应用系统。但是好景不长,数据中心的大客户们很快发现随着自己业务的增长,已经没有一个单独的数据中心能满足自己的需求了,而软件、硬件的采购与部署也日益成为业务发展的瓶颈。2012年谷歌在全球有数十万台服务器为用户提供服务,并且每天在全球各地的数据中心都有以机柜计数的服务器上架运行,以至于谷歌的基础架构设计师也无法确切知道到底全球有多少台服务器在为它服务。
面临急剧增长的计算需求,这些往日数据中心的大客户不得不自己动手定制数据中心。谷歌是这一潮流的先行者。有趣的是,它将自己的数据中心技术作为公司的核心机密。据称,谷歌与接触数据中心技术的雇员签订了保密协议,即使这些雇员离职,一定期限内也不能透露其数据中心的技术细节。社交网络巨头Facebook也清楚地意识到下一代数据中心技术对于未来互联网乃至整个IT技术发展至关重要的意义。与谷歌不同,Facebook并没有试图包揽从数据中心硬件到软件的所有设计,而是拉来了很多合作伙伴,并把自己数据中心的设计“开源”出来变成了“开放计算项目”(Open Compute Project,OCP)。OCP并不仅限于软硬件设计,还包括数据中心的建筑规范、电力、制冷、机架机械设计等内容,是一份建设数据中心的蓝图。国内的互联网和IT巨头也在发展自己的数据中心技术。由BAT(百度、阿里巴巴、腾讯)发起的“天蝎计划”(Scorpio)主要包括一套开放机架设计方案,目标是提供标准化的计算模块,能够迅速部署到数据中心提供服务。他们的共同特点是模块化的设计和为大规模迅速部署做出的优化。细心的读者可能会发现,在这些标准中,涉及软件的部分很少。这么大规模的硬件部署,是如何管理的呢?是不是在下一个版本的文档发布时就会说明了?非常遗憾,这正是互联网巨头们的核心机密。
系统集成商和服务提供商对于数据中心发展的看法与传统的数据中心用户略有不同,而且并不统一。IBM和HP这类公司是从制造设备向系统和服务转型的例子。在对待下一代数据中心的发展上,这类公司很自然地倾向于能够充分发挥自己在设备制造和系统集成方面的既有优势,利用现有的技术储备引导数据中心技术的发展方向。
微软作为一个传统上卖软件的公司,在制定Azure的发展路线上也很自然地从PaaS入手,并且试图通过“虚拟机代理”技术(VM Agent and Background Info Extension)模糊PaaS和IaaS(Infrastructure as a Service)之间的界限,从而充分发挥自身在软件平台方面的优势来打造后台由System Center支撑、提供PaaS服务的数据中心。最后还有一个特例。几年以前,某家公司跟IT服务还不沾边,勤勤恳恳卖了多年的书,赚了些钱,又继续卖了许多年的百货商品,突然有一天,它开始卖计算和存储能力了。没错,这就是亚马逊。之所以不把亚马逊作为谷歌、Facebook一样的数据中心的用户,是因为AWS(Amazon Web Service)虽然脱胎于亚马逊的电子商务支撑平台,但是已经成为一套独立的业务发展了。作为特例的亚马逊有特别的思路:“需要数据中心服务吗?来用AWS公有云吧。”
最后还有传统的硬件提供商。Intel作为最主要的硬件厂商之一,为了应对巨型的、可扩展的、自动管理的未来数据中心的需要,也提出了自己全新架构的硬件——RSA(Rack Scale Architecture)。在软件、系统管理和服务层面,Intel非常积极地与OCP、天蝎计划、OpenStack等组织合作,试图在下一代数据中心中仍然牢牢地占据硬件平台的领导地位。从设计思路上,RSA并不是为了软件定义数据中心而设计,恰恰相反,RSA架构希望能在硬件级别上提供横向扩展(Scale-Out)的能力,避免“被定义”。有趣的是,对RSA架构很有兴趣的用户发现,硬件扩展能力更强的情况下,软件定义计算、存储与网络正好可以在更大的范围内调配资源。
通过概览未来数据中心业务的参与者,我们可以大致梳理一下软件定义数据中心的现状与发展方向。
●需求推动,有先行者。未来数据中心的需求不仅是巨大的,而且是非常迫切的,以至于本来数据中心的用户们等不及,必须自己动手建立数据中心。而传统的系统和服务提供商则显得行动不够迅速。这有些反常,但却又非常合理。以往用户对数据中心的需求会通过IDC的运营商传达给系统和服务提供商,因为后者对于构建和管理数据中心更有经验,相应的能提供性价比更高的服务。然而,新的、由软件定义数据中心是对资源全新的管理和组织方式,核心技术落在“软件”上,那些传统的系统和服务提供商在这一领域并没有绝对的优势。数据中心的大客户们,例如谷歌、Facebook、阿里巴巴本身在软件方面恰恰有强大的研发实力,并且没有人比他们更了解自己对数据中心的需求,于是他们干脆自己建造数据中心就是很自然的事了。
●新技术不断涌现,发展迅速。软件定义数据中心发端于服务器虚拟化技术。从VMware在2006年发布成熟的面向数据中心的VMware Server产品到本书编写只有短短的7年时间。在这段时间,不仅仅是服务器的虚拟化经历了从全虚拟化到硬件支持的虚拟化以至下一代可扩展虚拟化技术的发展,软件定义存储、软件定义网络也迅速发展起来,并成为数据中心中实用的技术。在数据中心管理方面,VMware的vCloud Director依然是最成熟的管理软件定义数据中心的工具。但是,以OpenStack为代表的开源解决方案也显现出惊人的生命力和发展速度。OpenStack从2010年出现到变成云计算圈子里人尽皆知的明星项目只用了不到两年时间。
●发展空间巨大,标准建立中。与以往新技术的发展类似,软件定义数据中心还处于高速发展时期,并没有一个占绝对优势的标准。现有的几种接口标准都在并行发展,也都有了自己的一批拥护者。较早接受这一概念和真正大规模部署软件定义数据中心的用户大多是VMware产品的忠实使用者,因为从性能、稳定性、功能的丰富程度各方面,VMware都略胜一筹。热衷技术的开发人员则往往倾向于OpenStack,因为作为一个开源项目,能在上面“折腾”出很多花样。而原来使用Windows Server的用户则比较自然地会考虑微软的System Center解决方案。就像在网络技术高速发展时期,有许多网络协议曾经是以太网的竞争对手一样,最终哪家会逐渐胜出还得看市场的选择。