【IT168 评论】在结绳记事的年代,最好的计算机就是人,绳子当然就是最好的存储设备。后来计算机和存储设备被封装成大大小小的金属盒子。大的可以有一整个房间那么大(所以IBM曾经预言全世界只要5到6台计算机就够了),小的变得越来越小,也越来越无所不在。如今好,计算机和存储设备开始“蒸发”了,变成“云”的形态从而可以非常容易地在任何地方获取到!从绳子到盒子到数据中心再到云,从稀缺资源到无所不在再到非常容易可随时随地随意获得。技术的进步不仅使计算、存储的形式发生了巨变,也使人们在如何获取计算、存储资源的方式上正在发生着变化。其实这句话说反了:正是由于人们在数据、信息处理的要求上、对于计算、存储资源获取的方式上不断提出新的需求才促使和催生了新的技术进步、发展以满足之。
我们可以先用一种简单的方法对云作一番解释:云计算、云存储实现了让人们用获得服务的方式随时随地获得计算、存储的资源而无需自己购置、管理这些设备。这个简单的说法着重并且狭义地反映了云技术的出现是为满足人们在获取计算、存储资源的方式上出现的新需求:象获得如水、电、气等通常的基础设施服务那样来获得计算、存储服务。从需求推动技术进步发展的角度来讲,云计算、云存储技术的出现很自然。人类活动凡涉及信息方面正在全方位网络化、互联化,所以信息处理向基础设施服务转化也是理所当然,并没有什么特别深奥的道理(或者象笔者常听到的,是炒作IT新概念的“阴谋”,为了掀起新一轮销售热潮 )。当然,把计算、存储这种相当高端的东西归类到通常基础设施服务似乎有点“矮化”云技术之嫌,事实上这样的说法也有局限性。传统基础设施服务的消费使用都是发生在用户端(所谓前端),而云计算、云存储的最显著特点是服务的消费使用主要发生在远离用户的服务端(所谓后端)。既然信息处理要远比发电、水处理等复杂得多,云计算、云存储即便按如上简单狭义理解为一种基础设施服务,则在服务需求、种类及复杂度上也应该远比传统的基础设施服务要有名堂得多。本文试图从几方面把这些名堂做一番梳理。
1 下一代数据中心的需求
后端数据中心是云技术的一个核心部分。据估计迄今仅在全美国已有7,000多个数据中心。其中绝大多数是在多年前的设计基础上不断添加服务器发展起来的。所以在一个老的数据中心可以看到很有意思的历史痕迹:服务器硬件的技术更新以及不同年代开始跑在不同服务器上的应用软件。如此构造起来的数据中心是非常低效的。通常一个服务器上只跑一个应用。根据McKinsey和Uptime Institute调查,服务器的平均利用率在6%。更有甚者,大约30%的服务器更本就不在提供任何服务!原因是无人知道哪台服务器正在跑哪个应用。若真想要知道,常用的方法是:“把插头拔了,看看谁会打电话进来!” 现在的数据中心已经发展为超大规模。如微软在芝加哥郊外Northlake新建的一个,也许是迄今为止最现代化、最大、最昂贵的数据中心吧:占地4万6千平方米,清一色毛坯简易房,一层楼可以放200个标准货运集装箱,每个集装箱里可以塞进两千五百台PC服务器!
绝大多数的数据中心使用Windows操作系统,也就具有一个共同的缺点:应用与服务器之间存在紧偶和关系,一个服务器跑一个应用。这样做也许是为了避免万一由一个应用崩溃造成的死机而拖累了别的服务吧。所以长期以来在数据中心存在着一个叫做服务器蔓生(Server Sprawl)的现象:每来一个新的服务应用需求就增加一台服务器。如果说服务器越来越便宜这不是个问题,那么为运转大量服务器以及为冷却它们所需耗费的电能呢?维持如此低的服务器利用率当然是不可持续的。
下一代数据中心要采用硬件虚拟化技术。在一个服务器上可以虚拟出若干个虚拟机,每一台虚拟机上可以跑独立的操作系统和应用。不同虚拟机之间有很好的隔离,互不干扰。应用是跑在虚拟机上的。如果一个虚拟机被应用给搞崩溃了,其他的虚拟机不会受到影响。更重要的是虚拟化技术打破了应用与服务器之间的紧偶和关系。因为一个虚拟机实际上是一个软件,可以象文件拷贝一样从一台服务器迁移到另一台。这样的迁移甚至可以在虚拟机不间断服务的情况下进行。通过虚拟机迁移可以大大提高服务器的利用率。虚拟化技术的核心软件叫做虚拟机监控器(Virtual Machine Monitor, VMM)。你可以把VMM看作是服务器上的电子交警,管理服务器上所有的虚拟机,监控它们使用硬件的情况,确保它们互不干扰。VMWare是一家专门从事虚拟技术的软件提供商。VMWare的CEO Paul Maritz(曾经是微软资深人士)这样评价虚拟化技术:“我们把计算作业载荷与硬件分开,这样做从某种意义上我们是在弥补微软所犯下的罪过。” (In a way, we’re cleaning up Microsoft’s sins, and in doing so we’re separating the computing workload from the hardware)。 VMWare已经在2008年9月推出一款全新的“虚拟数据中心操作系统”(Virtual data-center operating system)。VMWare期望用这一技术使硬件资源的虚拟化不必局限于单个独立的硬件,从而可以把整个或若干个数据中心按需求整合为一个计算、存储、网络的资源池。