云计算 频道

《让云触手可及:微软云计算实践指南》

  1.1 我们需要什么样的计算

  我认为全球电脑市场的规模大约为5台。——IBM创始人托马斯·J·沃森(Thomas J. Watson),1943

  当我们站在微软美国芝加哥数据中心一层的时候,数据中心管理人员告诉我这一层有好几万台计算机,但是我们一台也没看到。这是我见过的最大的数据中心,因为它的占地面积相当于16 个美式足球场。这也是我见过的噪音最小的数据中心,在这里面说话您不用像在一般数据中心里那样扯着噪子喊。这也是我到过的温度最为适宜的数据中心,在这里呆上多久您也不会像在平常的数据中心里那样感到特别寒冷。数据中心管理人员告诉我这一切都是因为这里的成千上万台计算机连同UPS 等设备都被封装在了集装箱中。这就是计算机运算工厂,微软在全球的几十个数据中心就像大型发电厂为社会供电一样,为我们这个信息时代带来了动力。我感觉自己像进了一个新世界,似乎看到了一个新的数字时代在向我们走来。

  1.1.1 历史总是惊人的相像

  在回答需要什么样的计算之前,我们先简单回顾一下电力的发展过程。电力的出现,使大型工业水车成为了历史遗骸。讨论电力工业的发展离不开一个人,他就是天才的发明家、科学家和企业家爱迪生。在19 世纪70 年代,爱迪生开始想要发明白炽灯的时候,当时没有实用的灯泡也没有完善的供电系统,他心中的目标非常远大,并不仅仅为了发明灯泡,而是要创立整个电力应用系统并推广他发明的灯泡。为此,爱迪生必须要在多个方面进行技术突破和完善。除了白炽灯之外,他必须要创造出一种有效的发电设施,一种能够方便地将电输送到家庭和办公场所的电力网络。当然,爱迪生也是一个企业家,因此从商业的角度他还需要发明一种给用户的用电服务进行准确计费的方法,他要确保整个电力系统运行起来之后是可以盈利的。

  1879 年10 月21 日,爱迪生制成了一盏使用碳化灯丝的灯,它持续点燃了40 个小时。除了灯泡,爱迪生和他的工作小组在2年内还开发了几乎所有跟推广和应用白炽灯有关的关键部件。他们设计了新型的发电机,完善了并联电路和开关,发明了一种电表用于检测用户用了多少电。为了更好地推广和利用他们的发明,爱迪生在1879 年创办了爱迪生电力照明公司。虽然他在纽约的曼哈顿创建了第一个中央电厂,并通过地下电缆网把电输送到了周围大概一千平方英里范围内的建筑,但是爱迪生对于经营中央电厂不感兴趣。他的真正商业兴趣在于将他那些有专利注册的电力系统通过特许经营和专利许可的方式交由其他经营者去经营,然后他的公司通过卖设备来赚钱。

  爱迪生的第一批发电厂是用直流电输送电力的,由于功率在电线摩擦中迅速损耗掉,以致发电厂输送电力的距离最远不超过一英里。爱迪生对自己设备系统的完美充满自豪,他坚持认为发电应该走小规模和直流电的方式。他发明了第一个有实用价值的电厂系统,并建了一个全国性电网来输送这些电力,但无法设想进一步统一建设大规模电厂,因此他反对采用交流电。而公司的经济利益也进一步强化了他的偏见:因为小型的发电厂建得越多,卖掉的设备就越多。但是,中央电厂具有非常好的规模经济效应,而且在用户增多以后不同用户之间用电模式的差异可以更有效地利用电能,使供电成本低于小型发电厂。实践最终证明,交流电具备很多优点:动机结构比较简单,重量较轻,而且供电稳定,还可以调高或调低,能够实现远距离送电。远距离输电方法的产生和运用,让大规模集中供电成为了可能,为工业电气化解决了电力的供应问题。从此,从城市到农村,从平原到山区,都可以得到电的供应,电气化的时代开始。

  这是技术的胜利,但更是经济规律的胜利。这种集中供应的方式可以大大地降低单位产品或服务的成本。实际上这种经济学上的规模效应在许多领域中都发挥着巨大的作用。所以当现在的人们习惯于打开水龙头用水,打开电灯开关用电的时候,我们从来没有想过这个水和电到底是从哪个自来水厂或者是哪个发电厂输送过来的。我们已经习惯于这种依赖公共事业的服务方式。我们的日常生活中有许多这样的例子,比如电话、管道煤气等都是类似这种集中供应的方式。所以一个自然而然的问题就是,信息技术服务同样会按照这种方式演变吗?

  1.1.2 计算模式的演变

  1946 年2 月14 日,标志着现代计算机诞生的ENIAC (Electronic Numerical Integrator and Computer )在美国费城公诸于世。ENIAC 代表了计算机发展史上的一个里程碑,被认为是第一台通用计算机。它是当时电子管计算机的一个代表,其主要特点是采用电子管作为基本电子元器件。ENIAC 占地63 平方米,使用了将近1.8 万只电子管,每小时耗电25 千瓦,总重量达到27 吨!但是,这个当时耗资高达50 万美金(约等于现在的600 万美金)的庞然大物每秒只能进行5000 次加减法运算,远不及现在的一个普通计算器。

  图1.1 标志着现代计算机诞生的ENIAC

  第一代计算机的一个明显特征是使用真空电子管和磁鼓储存数据。另外它们的操作指令是为特定任务而编制的,每种机器有各自不同的机器语言,功能受到了限制,速度也慢。穿孔卡片仍作为计算机输入数据的一种手段。在这个时期,没有系统软件,使用的是机器语言和汇编语言编程。计算机只能在少数尖端领域中得到运用,一般用于科学、军事等方面的计算。实际上ENIAC 是在第二次世界大战的背景下由美国政府和宾夕法尼亚大学合作开发的,其主要设计目的就是为美国陆军的弹道实验室计算作战用的弹道曲线。

  在那个时代,人们如何看待计算机的发展呢?

  IBM 的创始人托马斯·J ·沃森(Thomas J. Watson )在1943 年说过一句名言:“我认为全球电脑市场的规模大约为5台”。1949 年美国的《大众机械》杂志也曾宣称,“将来的计算机重量可以不超过1.5 吨”。

  但是,计算机技术的发展和市场对计算的需求远远超出了大部分人的想象。随着计算机按照冯·诺依曼体系结构的演变可以在自己的存储器中存储操作指令,并且随着系统软件的出现,计算机可以通过编程来执行许多功能,它不再是一个局限于军事和科学领域的只能完成数学运算的计算器,而成为了一种通用计算平台。首先产生出大量需求的是一些需要处理复杂商业计算和统计的大型公司和政府部门。比如政府的人口普查局采用计算机来进行人口统计。大型商业公司通过计算机来做一些工资管理和会计工作,甚至一些销售预测、工厂调度等工作都开始通过计算机来处理。随后,航空公司开始利用计算机来构建航班预定和出票系统,银行利用计算机来管理支票和储蓄账户。当越来越多的商业企业和政府部门开始接受计算机的时候,计算机的制造和应用变成了一个有利可图的市场,从而拉开了人类信息技术时代的序幕。

  由于当时的计算机非常昂贵和复杂,这意味着一般的职员几乎无法直接使用计算机。这些计算机都是单独放在特别的房间里,并由身穿白色工作服的专业人员来操作。当用户需要使用计算机的时候,他要先把需要运行的程序和数据通过卡片或者磁带交给专业人员,然后根据任务的优先级和先后顺序由主机操作人员统一运行这些批处理任务,当运算结果出来之后再由操作人员分发给各个用户。这种基于大型计算机的集中计算方式,一般称为主机计算模式(Host Computing ),这是通用计算机出现之后二三十年中最为主要的计算模式。显然,在这种计算方式下,人和计算机之间存在着流程和技术的屏障,计算机的运算不是由用户直接控制执行的。这使得计算机对于一般人而言显得非常神秘,不仅限制了人们对计算的需求,同时也限制了计算机的应用范围。虽然后来随着计算机硬件和网络的发展,主机计算能力迅速提高,其应用方式和范围也有所变化,但是集中于少量大型计算机的模式基本没有改变。在主机时代所提出的分时(Time-Sharing )原理也是计算资源共享的最早体现。

  随着大规模集成电路技术的发展,计算机的小型化成为可能。在20 世纪70 年代,一些先进的科研机构开始有了一些供单个人员使用的微型计算机。但是,真正标志着个人计算时代开始的事件是IBM 公司在1981 年正式推出的全球先进台个人计算机——IBM PC ,该机采用主频4.77 MHz 的Intel 8088 微处理器,运行微软公司专门为其开发的DOS 操作系统。

  图1.2 IBM PC

  为了推动个人计算机的产业化发展,1982 年IBM 开放了IBM PC 的主要技术,从而逐渐形成了PC 的“开放标准”,使得不同厂商的标准部件可以互换,从而产生了大量的IBM PC 兼容机。至此,PC 以前所未有的广度和速度向大众普及。比尔·盖茨在创立微软伊始就提出一个发展愿景,让每一张办公桌上和每一个家庭里都有一台个人计算机。这个愿景虽然在当时几乎是天方夜谭,但是现在却正在成为一种现实。英特尔基于x86 体系架构微处理器和微软Windows 操作系统的结合大大加快了个人计算机的普及,并被外界称为“Wintel”联盟。个人计算机的出现不仅深刻地影响了计算机技术本身的发展,同时也使计算机技术渗透到了社会生活的各个方面,极大地推动了计算机的普及。

  个人计算机的蓬勃发展和局域网技术的成熟使得用户通过计算机网络共享计算机资源成为可能,从而出现了一种新的计算模式。虽然个人计算机相对于大型计算机的资源有限,但是在网络技术的支持下应用程序不仅可以利用本机资源还可以通过网络共享其他联网计算机的资源。这种分布式的计算模式与传统集中的主机计算模式不同,一般称为客户/服务器(C/S,Client/ Server )模式。

  在C/S 模式中计算机被分为两类:一类是向其他计算机提供各种服务(如数据库、打印、文件等服务)的计算机,称为服务器;另一类是通过网络访问这些服务的计算机,称为客户机。虽然C/S 模式只是从应用架构上规定了服务之间的调用关系,两类计算机只是服务角色不同,但是在企业实际应用中客户机一般是个人计算机,而服务器则是根据服务访问量而配置的具有更高处理能力的计算机。C/S 模式充分发挥了客户端个人计算机的处理能力,许多工作可以在客户端处理完后再提交给服务器,这同时也降低了网络负担。随着个人计算机的普及,C/S 模式从20 世纪80 年代中后期开始逐渐替代主机计算而成为广泛使用的企业计算模式。

  Internet 的发展使得计算机之间的通信和互联超越了地域的限制,而万维网(WWW )和浏览器的出现使得互联网从科研机构走向大众,就算普通用户都能够方便地上网冲浪。万维网在本质上是使个人和机构可以通过分享信息来进行通信的一个平台。从企业计算的角度来看,万维网推动一种新的计算模式的出现。这种基于浏览器、Web 服务器和应用服务器的计算结构被称为浏览器/服务器(B/S,Browser/Server )模式,该计算模式在20 世纪90 年代中期开始逐渐形成和发展起来。

  B/S 计算模式继承和发展了之前C/S 模式中的一些计算特点,但是具有C/S 模式所不及的许多特点,比如更加开放、应用的可扩展性和系统维护更加方便等。在C/S 模式中,不同的操作系统需要对应不同的语言和开发工具,客户机上除了负责图形显示和事件输入外还包含了一部分应用逻辑和业务处理规则的实现,因而越来越臃肿。应用开发的重点主要落在了客户机上,而这种客户机也被形象地称为胖客户端。由于客户机配置了大量的应用软件,软件的变动和版本升级,以及硬件平台对软件的支持能力等都造成了整体应用系统管理维护成本的上升。而在B/S 模式下,应用逻辑和业务处理规则的实现都在服务器端,这样客户端可以做得非常简单,其最常见的形式就是一个浏览器。与C/S 的胖客户端相对,这种客户端被称为瘦客户端。

  B/S 模式采用的技术规范是由标准化组织所制定的、开放的标准如HTML 、HTTP 等,从而不依赖于单一厂商。由于主要维护和安装工作都在服务器端,因此整体系统的维护成本大大降低。浏览器的使用相对简单,可以用较低的培训成本推广企业应用系统。一旦用户掌握了浏览器的用法,也就掌握了运用系统上各种信息资源的钥匙,通过浏览器就可以自由方便地访问信息系统。B/S 模式简化了客户端的要求,主要计算工作都在服务器端完成,计算又一次开始向服务器端集中,计算方式进入了

  Web 时代。

  自从万维网出现以后,网站如雨后春笋一般层出不穷,尤其是2000 年以后基于Web 的应用更是蓬勃发展。图1.3 是互联网服务器研究公司Netcraft 在2010 年5月公布的全球互联网网站服务器调查数据,其中清楚地记录了主机名和活动网站数量的发展情况。

  图1.3 Netcraft的网站调研结果(2010年5月)

  这种基于Web 的计算方式要求网络连接快速可靠,要求服务器端能够处理大量并发访问,从而对数据中心和通信链路建设提出了更高的要求。互联网上数目众多的网站一方面为用户提供了足够多的访问选择,另一方面也让用户面临一个棘手的问题—— 信息大爆炸。为了帮助用户在浩如烟海的互联网信息中快速找到自己所需要的,像Yahoo 、Google 、必应(Bing )和百度等这样基于互联网的搜索引擎出现了。如果说电子邮件是互联网初期的杀手级应用,那么搜索引擎就是万维网的杀手级服务。由于要处理的数据量非常巨大,这些搜索引擎的索引、计算和排序等计算工作量也远远超出了传统大型服务器和集群架构的处理能力。这促使搜索引擎服务提供商开始寻找一种新的技术实现方式。

  计算能力不再依赖于单台物理计算机的性能,而是通过大量计算机

  的分布计算来实现。

  在构建大型数据中心时为了降低成本采用标准和廉价的硬件,比如

  基于x86 的服务器。

  海量数据的存储不再采用传统关系型数据库的方式,而是采用新型

  的分布式文件系统方式实现。

  新的应用架构模型和开发方式,使得应用能够并行处理海量数据。

  由于计算机数量巨大,因此平台的运维和管理要尽可能地采用自动

  化方式。

  平台的可靠性通过软件层保障,应用对于底层计算节点的故障有比

  较好的容错能力。

  随着富互联网应用(RIA,Rich Internet Application )的广泛应用、动态网页技术的发展以及HTML5 标准的快速演进,Web 应用能够呈现的内容变得更加丰富,人们已经不再满足于简单的内容浏览,而是希望生产和参与到信息的生产、分享过程中。人人参与正是Web 2.0 的精髓。同时,互联网也进一步变成通信和社交的平台,像Facebook 、Twitter 和开心网等已经融入到了许多人的生活当中。这些社交类应用服务正在改变人们使用Web 的方式,吸引了大量的用户,比如Facebook 目前就拥有超过5亿用户。互联网上的计算集中化趋势已经非常明显,据网站分析公司Compete 称,排名前10 的网站在2001 年占据了美国31% 的网页浏览量,在2006 年占到40%,而到了2010 年已占到约75% 。无论是这些大规模的网站应用还是搜索引擎服务,这些计算需求都催生出了一种基于资源集中和互联网共享的计算模式—— 云计算。

  图1.4 计算模式的演变

  在100 多年前,电力供应方式经历了从分散到集中的变革,我们相信同样的变化正在信息技术服务领域发生。这种集中供应计算能力的方式,加上现在层出不穷的各种智能终端设备,让信息触手可及的愿望正在成为现实。

  在长途跋涉之后,我们似乎又回到了原点。

0
相关文章