让云触手可及:微软云计算实践指南行业资讯

2011-01-21    来源:IT168    编辑:赵立威 方国伟
从实践的角度阐述了企业在选择、采用云计算时应考虑的要点和必需的准备;运用案例对微软云计算平台策略、开发实践做了清晰的介绍。

  本书由微软专家集体奉献。从实践的角度阐述了企业在选择、采用云计算时应考虑的要点和必需的准备;运用案例对微软云计算平台策略、开发实践做了清晰的介绍。对于身处向云计算时代转型的IT业界具有重要的参考价值。

  张亚勤推荐

  云计算正在改变整个IT产业!

  顺应这个潮流,微软携手合作伙伴正致力于向客户提供最佳云计算服务,使他们能够专注于公司业务而非IT基础设施。云计算同时也为微软及合作伙伴开启了一扇通往下一代创新应用的门,打开这扇门,我们将被带到一个由Windows Azure 平台带来的前所未有的崭新世界。

  微软对云计算满怀热忱。在这样一个令人激动的时代,我们愿意把十多年运营云计算服务的经验,结合持续不断的创新,奉献给每一个企业、每一位个人,造福于亿万用户。

  今天的中国,不仅经济高速发展,企业创新也层出不穷,这是发展云计算产业的大好时机。微软非常幸运,能够置身这个时代并与中国本地产业共同发展。最近,我们在上海成立了微软云计算创新中心,帮助客户及合作伙伴加速向云计算的转型;微软也将以此为新的起点,为中国市场带来最好的云计算平台、技术、及世界一流的服务。

  《让云触手可及——微软云计算实践指南》既是对微软云计算远见和洞察力的呈现与总结,也是微软对IT产业未来发展的战略及承诺,相信每位读者都会从中获益!

  张亚勤博士

  微软公司全球资深副总裁

  谢恩伟推荐

  “云+端”的计算

  35年前,微软提出让每一个桌面上,每一个家庭都有一台 PC。这在当时看似天方夜谭的愿景如今已逐渐成为现实。

  35年后,微软又给自己设立一个新的挑战目标:为每一个人,每一个企业提供不间断的云计算服务。在互联网时代,微软的愿景是借助互联网的力量,通过软件的魔力,在不同的设备上为用户提供无缝的体验。为了实现这个目标,微软现在已全力以赴投入到云计算这个变革中。

  人们在面对一种新事物的时候往往倾向于过高估计它在短期内的作用而又过低估计其长期的影响。有观点认为,下一个十年里,包括软件、硬件、服务等在内的计算资源,将由分布式应用不断向互联网聚合 ——计算将由端走向云,最终全部聚合到云中,成为 “纯”云计算的时代。一时间,云计算似乎等同于只需要浏览器的计算。未来用户获取计算资源也许会像我们现在用电、水那样简单方便且价格低廉,只要插上插头,数据、服务、应用就全都从 “云”里“飘”过来,但问题在于,用户这边的插头插上 “电”以后仍然需要各种 “电器 ”来实现不同的应用,就好像我们烹饪饭食时不只是用电一样,倘若没有电饭锅和微波炉这些终端,那就什么美味佳肴也做不了。

  微软的云计算是 “云+端”的计算。

  我们认为客户端和云不是相互独立,而是相互联系的有机整体。云是一个复合平台,把智能客户端通过宽带连接到云服务而构成一个集成平台。客户端决定了最基本的用户体验,因此各种形式的个人计算永远是其中最重要的组成部分之一。我们看到移动计算环境的重要性也日益增加,与此同时,越来越多的汽车开始连到网上。最终,新的显示技术、网络技术等将扩展到人们工作和生活的大多数场景 ——办公室、家庭以及移动装置中。自然用户界面(NUI)技术的发展将进一步拓展客户端的计算方式,并提升用户使用云计算服务的体验。一个很好的例子就是 Kinect,它是 Xbox 360新的传感器,其革命性功能已经引起了业界的广泛兴趣,它将彻底地改变游戏的方式。

  在网络的另一端,云平台和基础设施也在飞速发展。几年前,事实证明通过扩展企业数据中心去获得像互联网服务那样的超大规模设施是不可行的,因为对于传统数据中心来说这样成本太高,而且在管理、能源、散热等多方面都会遇到瓶颈。数据中心和云计算平台构建方面的很多事情必须进行根本性的变革。微软的 Windows Azure技术就是为解决这类问题而开发和设计的,它不只是供微软内部使用,而且还创造了一种新的模式 ——可以把云设施提供给需要本地化运作的人。在微软的芝加哥新数据中心,不必像传统数据中心那样安装活动地板、配置能源和散热以及空调制冷。实际上,我们在集装箱中设计了 Windows Azure Appliance,其在工厂中就根据要求的规格事先进行了完整的组装,基本上只需要连接上水源、光纤以及电插头之后,就完全自我配置和自我管理了。

  云计算在中国受到了很大关注,并已成为学术界和产业界的一大热点。大约在两年前中国电子学会专门成立了云计算专家委员会,一些具有创新精神的企业也在开始建造自己的私有云或使用一些公有云服务。无论从历史经验还是从现实需求看,中国都应该及早投入云计算的大潮,在全球计算和通信产业的新一轮风暴中抢占到有利于未来发展的制高点。

  开发工具和平台事业部在微软公司内部一直负责最新技术的应用推广工作,包括 VS2010、IE9、Silverlight4、Windows Phone7等。本书作者一直从事微软 “云+端”技术的一线推广工作,同时也参与了微软在中国的多个云计算实施项目。希望他们介绍的内容和分享的经验对广大读者有所参考,并祝愿云计算事业在中国蓬勃发展!

  谢恩伟

  微软大中华地区 首席云战略官

  开发工具和平台事业部 总经理

  作者序

  云计算是什么?对于这个问题不同的人可能会有不同的回答。有人认为它是 Web 2.0,有人认为它是分布计算,也有人认为它是外包的一种。当然也有人认为它纯粹是新瓶装旧酒的一种文字游戏或者市场炒作。由于是从不同的角度来看云计算,这些理解都有其正确的成分。从根本上,我们认为云计算是 IT服务方式的变革。就像制造业的大规模化生产变革一样,云计算是 IT服务本身的规模化生产。经济学上的规模化效应同样可以应用在 IT服务上面,只不过这里的IT服务可以通过互联网来进行快速放大。

  从用户的角度来看,人们一直追求价廉物美的东西,而云计算的目标就是为用户提供“价廉物美”的 IT服务。在规模化生产的基础上,通过资源集中和共享、通过自动化的管理手段,云计算可以帮助服务供应商提高资源的利用率,从而能够用更低的成本提供服务。像微软、亚马逊云计算数据中心的单位硬件存储、计算和网络带宽的价格要远远低于一般企业数据中心。微软数据中心的每个管理员能够管理 2000~4000台服务器,而一般企业的这个数字大概是几十到几百不等。因此,云计算服务的“价廉”也就显而易见了。当我们讲云计算可以提供自服务、弹性扩展和动态资源分配等特性的时候,实际上我们在讲为用户提供优质服务。通过云计算,用户申请资源不需要长时间的等待,用户访问应用不会因为访问量的变化而出现服务水平的下降,用户也可以通过不同的终端在任何地方都能访问应用……因此云计算在为用户提供“物美”的服务。让信息就像水和电一样方便使用并触手可及是人们的一个梦想。云计算和各种自然用户界面技术如多点触摸等在客户端的广泛应用,让我们切实感觉到信息就在指尖流动。我们离梦想的距离似乎已不再遥远!

  “话说天下大势,合久必分,分久必合”。计算方式从最早的主机,到分布式的 PC,现在又通过云计算的方式重新集中。新一代基于云计算理念和技术构建的数据中心何尝不是一个新型的巨型计算机,只不过它是基于标准硬件构建、计算能力更强、扩展性更好的计算机。相对于传统计算机,这个巨型计算机更依赖于软件。这是我们对云计算时代数据中心的一种看法,这也是我们把Windows Azure称为云操作系统的一个原因。

  微软的“三屏一云”战略包括以电脑、电话和电视机为代表的三种客户端以及后台的云计算服务。本书作者大都长期从事微软最新技术和方案在国内的推广工作,其中既包括像 Windows 7、Silverlight 4、Windows Phone 7、IE9等客户端产品和技术,也包括像虚拟化、系统管理和云计算等方案。这些技术内容很好地支撑了“三屏一云”的主题。作为长期工作在一线的技术团队,我们参与了国内多个云计算项目的推广和实施,并与电信、金融、制造等行业的许多大型客户进行过不同层次的云计算需求和技术讨论,同时也积极与政府各个相关部门探讨过云计算安全和标准化的工作。与任何新生事物一样,云计算在国内还处于相对初级阶段,云计算的概念就像它的名字一样似乎还有点云山雾罩。有鉴于此,我们决定把我们的一些认识和实际经验通过图书的方式与广大读者进行分享和探讨。为了能把这些内容及时展现给读者,成书难免仓促,如有纰漏,请各位专家和读者包涵并不吝指教。

  本书分为上下两篇。上篇主要讨论云计算概念、影响以及企业采纳云计算的发展规划。下篇主要围绕微软实际的云计算方案和实践展开。本书的写作由赵立威统筹协调,把握脉络,方国伟负责统稿和项目管理。各章执笔者的分工如下:第 1、2、4章以及第 5.1节方国伟;第 3章王希;第 5章平台部分段雪明;第6章王立楠;第7章费良宏;附录A由崔宏禹完成。

  也许最好的计算机是看不见的计算机,云计算和自然用户界面的发展正在推动我们向这个方向前进。今年是我国三网融合战略正式展开的第一年,巧合的是微软的“三屏一云”与我们国家的三网融合有着非常完美的对应关系。无论是三网融合还是云计算,我们都相信会给人们带来更便捷和丰富的信息化生活和工作。我们同时希望本书能够帮助大家更好地认识和利用云计算,让云触手可及!

  目 录

  上篇 让云触手可及

  第1章 云计算的前世今生 ................................................001

  1.1我们需要什么样的计算 ........................................................ 003

  1.1.1历史总是惊人的相像 ...................................................... 003

  1.1.2计算模式的演变 ........................................................ 005

  1.2什么是云计算 .............................................................012

  1.2.1云计算的概念.............................................................. 013

  1.2.2云计算的资源使用模型........................................................... 016

  1.2.3 适合云计算的典型场景 .................................................. 017

  1.3云计算特点......................................................................019

  1.3.1按需服务............................................................... 020

  1.3.2资源池 .................................................................. 020

  1.3.3高可扩展性.................................................................. 021

  1.3.4弹性服务................................................................... 021

  1.3.5自服务、自动化和虚拟化 ....................................................... 022

  1.3.6便捷网络访问.......................................................... 023

  1.3.7服务可度量 .............................................................. 023

  1.4云计算的SPI服务模型 .............................................. 023

  1.4.1软件即服务(SaaS,Software as a Service) ............................. 024

  1.4.2平台即服务(PaaS,Platform as a Service) ............................. 025

  1.4.3基础设施即服务(IaaS,Infrastructure as a Service) ............... 026

  1.4.4三种服务模型之间的联系和区别 ............................................. 027

  1.5云计算的部署模型 ............................................................... 029

  1.5.1公有云 ................................................................. 029

  1.5.2私有云 .................................................................. 030

  1.5.3其他云形态 ................................................................. 031

  1.5.4发展趋势..................................................................... 031

  1.6云计算对IT产业的影响 ................................................ 033

  1.6.1硬件模型的改变 ....................................................... 034

  1.6.2应用模型的改变 ........................................................... 035

  1.6.3服务模型的改变 ............................................................ 036

  1.7云计算的价值 .......................................................... 037

  1.7.1降低成本............................................................... 037

  1.7.2把固定成本转变为可变的运营成本 ......................................... 040

  1.7.3云计算对不同企业的价值 ....................................................... 040

  1.7.4提升用户体验................................................................ 042

  1.7.5绿色环保................................................................... 042

  1.8云生态系统............................................................... 043

  1.8.1云生态系统的组成........................................................... 043

  1.8.2典型的云计算服务商 ........................................................ 044

  1.9云计算带来的新挑战 ........................................................... 047

  1.9.1新的IT基础设施挑战 ....................................................... 048

  1.9.2新的用户隐私挑战......................................................... 049

  1.9.3新的安全挑战.................................................................. 050

  1.9.4新的数据主权挑战...................................................... 051

  1.9.5新的立法挑战................................................................ 052

  1.9.6新的标准挑战................................................................. 054

  第2章 企业云计算路线图...........................................................057

  2.1CIO看云计算................................................................ 058

  2.1.1云计算对企业IT的影响.................................................. 059

  2.1.2从SOA到云计算 ............................................................... 062

  2.1.3云计算服务的管理............................................................ 065

  2.2如何选择云计算 .................................................................. 067

  2.2.1私有还是公有................................................................... 067

  2.2.2不同企业对云计算的策略 ................................................. 070

  2.2.3发展路线............................................................. 071

  2.2.4云计算服务商的选择 .................................................... 072

  2.2.5不适合云计算的一些场景 ....................................................... 077

  2.3迎接云计算 ............................................................. 079

  2.3.1云计算参考架构 .............................................................. 079

  2.3.2五项准备工作................................................................... 082

  2.4采用云计算的五大步骤 ................................................... 090

  2.4.1制定云计算战略 .............................................................. 090

  2.4.2评估和调研 ................................................................... 093

  2.4.3制定云计算发展路线 .......................................................... 095

  2.4.4展开试点................................................................ 097

  2.4.5实施和推广 .............................................................. 098

  2.5实施云计算的五大建议 ........................................................100

  第3章 云的基石——虚拟化360度 ...................................................104

  3.1云计算与虚拟化技术 ............................................................106

  3.1.1虚拟化技术概览 ........................................................... 106

  3.1.2虚拟化技术360度.............................................................. 107

  3.2服务器虚拟化技术 ...............................................................109

  3.2.1基本原理.................................................................. 110

  3.2.2Hyper-V体系架构............................................................. 113

  3.2.3Hyper-V的技术特性 ....................................................... 115

  3.2.4案例分享................................................................. 118

  3.3应用程序虚拟化 ...................................................................119

  3.3.1App-V 体系结构 .............................................................. 120

  3.3.2App-V完整基础结构的工作原理............................................. 123

  3.3.3更新虚拟应用程序........................................................... 126

  3.4虚拟化的管理................................................................130

  3.4.1管理产品概述及核心价值 ....................................................... 130

  3.4.2System Center Virtual Machine Manager .................................. 135

  3.4.3System Center Operations Manager.......................................... 145

  3.4.4System Center Configuration Manager ..................................... 148

  3.4.5System Center Data Protection Manager................................... 149

  第4章 企业动态数据中心构建 ................................................... 153

  4.1企业IT的发展 .................................................................154

  4.1.1传统数据中心的情况 ...................................................... 155

  4.1.2数据中心架构的演变 ....................................................... 157

  4.2动态数据中心基础 ...............................................................159

  4.2.1动态数据中心的思想 ........................................................ 159

  4.2.2动态数据中心与云计算........................................................... 163

  4.2.3基本架构模型................................................................. 165

  4.3动态数据中心方案 ...............................................................167

  4.3.1整体架构...................................................................... 167

  4.3.2自服务门户 .................................................................. 170

  4.4核心功能实现...............................................................175

  4.4.1面向服务的接口设计 ...................................................... 176

  4.4.2虚拟化服务 ...................................................... 177

  4.4.3系统监控服务............................................................ 178

  4.4.4配置管理服务.............................................................. 180

  4.4.5数据保护服务............................................................ 182

  4.5技术特点....................................................................183

  4.5.1企业和服务商两种应用场景 .............................................. 183

  4.5.2基于标准的架构 ................................................. 184

  4.5.3统一的物理和虚拟环境部署..................................... 185

  4.5.4应用和补丁的分发............................................................. 186

  下篇 微软云计算实践

  第5章 云中平台................................................................... 189

  5.1微软云计算服务概述 ............................................................190

  5.1.1面向消费者的云服务 ..................................................... 190

  5.1.2面向企业的云服务和云计算解决方案 ...................................... 191

  5.1.3微软云计算特点 ............................................................ 194

  5.1.4平台发展目标.................................................. 197

  5.2Windows Azure平台简介 ............................................. 200

  5.3Windows Azure:云中操作系统...........................................201

  5.3.1Windows Azure的计算服务..................................................... 204

  5.3.2Windows Azure的存储服务..................................................... 207

  5.4SQL Azure:将数据平台延伸到云中.....................................216

  5.4.1SQL Azure数据库体系架构 ..................................................... 218

  5.4.2SQL Azure数据库和SQL Server数据库服务对比 ...................... 220

  5.4.3SQL Azure数据库服务的优势.................................................. 223

  5.5Windows Azure platform AppFabric:云中的应用服务平台 ... 226

  5.5.1服务总线(Service Bus) ................................................ 227

  5.5.2访问控制服务(Access Control)............................................ 228

  5.6Windows Azure成功案例分析 ............................................. 229

  5.6.1 西门子的软件分发方案................................................... 229

  5.7Windows Azure的服务提供方式.......................................... 233

  5.7.1Windows Azure 服务平台的账户管理和计费模式 .................... 235

  5.7.2Windows Azure Platform Appliance ......................................... 240

  第6章 云计算应用程序开发 ........................................................242

  6.1云计算应用程序开发概述 .................................................... 243

  6.2云计算启用程序开发........................................................... 245

  6.2.1开发一个基本的云计算应用——“Hello Cloud”.................... 245

  6.2.2向Windows Azure部署云计算应用程序 ................................... 249

  6.2.3动手实践:在Windows Phone上开发云计算的客户端应用....... 255

  6.3云计算应用程序的构架设计 .................................................261

  6.3.1案例背景分析.............................................................. 262

  6.3.2用例分析和基本构架设计 ....................................................... 263

  6.3.3地理分布问题................................................................ 266

  6.3.4资源弹性问题................................................................. 267

  6.3.5IT整合问题 .................................................................. 268

  6.3.6安全与隔离问题 ............................................................. 269

  7.1云计算与在线服务的安全性................................................. 272

  第7章 微软在线服务的安全实践 ................................................271

  7.1.1 使用在线服务的原因 ................................................ 274

  7.1.2 可信任计算:微软在线服务的基础 ......................................... 275

  7.1.3 安全性开发生命周期:开发安全服务 ...................................... 276

  7.2 微软在线服务风险管理计划 ................................................ 278

  7.2.1 风险管理计划目标............................................................ 279

  7.2.2 风险管理计划的成功标准 ........................................... 279

  7.2.3 风险管理核心准则.......................................................... 280

  7.3 在线服务的安全性............................................................... 280

  7.3.1 物理安全性 ..................................................... 281

  7.3.2 逻辑安全性 ................................................................. 284

  7.3.3 运维............................................................... 289

  7.4 在线服务中的隐私保护 ....................................................... 297

  7.4.1 设计数据隐私........................................................ 297

  7.4.2 供应商与合作伙伴..................................................... 298

  7.4.3 访问、安全性、数据完整性和强制执行 .................................. 299

  7.4.4 客户导向................................................................ 299

  7.4.5 国际数据传输............................................................. 300

  7.5 服务持续性管理 ........................................................301

  7.5.1 消息存档持续性 .......................................................... 302

  7.5.2 数据储................................................................. 302

  7.5.3 可用性和持续性 ........................................................... 304

  7.5.4 专用支持................................................................... 304

  7.6 合规性 ................................................................. 305

  7.6.1 遵从性管理 ............................................................. 306

  7.6.2 在线服务遵从性框架 ...................................................... 307

  7.6.3 独立认证................................................................ 309

  7.7 小结 .....................................................................311

  附录A 构建绿色的数据中心........................................................314

  A.1 微软数据中心发展策略.........................................................315

  A.2 坚持可持续发展,构建绿色、安全的数据中心 ....................316

  A.3 微软芝加哥数据中心简介 ....................................................318

  A.3.1 微软数据中心概述 .................................................... 318

  A.3.2 芝加哥数据中心.................................................... 321

  A.4 第四代数据中心展望...................................................... 326

  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 操作系统。

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

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

  1.2 什么是云计算

  云计算被认为是分时系统发明和PC 出现之后信息服务提供方式的一次最大的变革。在过去的两年多时间内,云计算这个名词在厂商和媒体的推动之下已广为人知。但什么是云计算,这是所有第一次接触云计算这个概念的人都会首先想到的一个问题。要回答它却不是一件容易的事。据说在2008 年底的一个国际云计算大会上,主持人关于这个问题随机采访了20 位听众,结果得到了22 个答案!时至今日,云计算还缺乏一个统一的定义。

  1.2.1 云计算的概念

  作为一个相对比较新的概念,业界关于云计算定义的争论从未停止过,由于看问题的视角和商业利益的不同,不同的人对云计算有着不同的定义和解读。这种类似盲人摸象的现象在IT 领域并不少见,在电子商务、SOA 、Web 2.0 等概念刚出来的时候都曾发生过。对于云计算这个概念,也不例外。

  图1.5 对云计算理解的现状

  对于大部分经常使用Web 电子邮件、网页搜索等互联网服务的人来说,也许下面由维基百科(Wikipedia )提供的云计算定义就非常好理解。

  “云计算就是基于互联网的计算,它能像电网供电一样,按需把共享的资源、软件和信息提供给计算机和其他设备。”(http://en.wikipedia.org/ wiki/Cloud_computing)

  虽然对于一般互联网用户而言,这个定义给出了他们日常使用互联网服务的直观描述,但是其描述过于抽象,而且局限于通过互联网提供的服务。接下来我们再看一下美国国家技术和标准研究院(NIST,National Institute of Standards and Technology )对外公布的一个云计算定义。

  “云计算是一个提供便捷的可通过网络访问一个可定制的计算资源共享池能力的模式(计算资源包括网络、服务器、存储、应用和服务);这些资源能够快速部署,并只需要很少的管理工作或与服务供应商很少的交互。”

  这个定义相对来说更为具体,也更为技术。它强调了一个共享的计算资源池,然后用户可以方便地通过网络访问。它没有强调必须通过互联网,这样就把企业自建的计算服务涵盖进去了。

  如果需要用一句话来描述,云计算就是信息技术作为服务(IT as a Service )的一种计算供应和消费方式。要理解云计算这种计算提供方式,对于下面几个关键点的理解将非常重要。

  1. 云计算强调资源的共享,而不是独占

  云计算通过资源共享方式来提高资源的利用率,现实中的应用程序在资源使用的模式上往往具有互补的特性。比如,有些应用的高峰访问在白天,有一些是在晚上。如果从全球配置的角度看,由于时差的存在,资源互补性就更为明显。显然,这种资源共享的方式可以降低计算的成本。如果以现实生活中的例子,我们可以用自助餐和桌餐的差别来类比云计算与传统计算方式的差异。

  2. 云计算强调的是资源集中,而不是分散

  资源集中是资源共享的前提。在云计算中首先要通过资源集中形成一个资源池,然后再让不同用户来共享访问。云计算的这种特点就与网格计算之间有了非常明显的区别。这也就是为什么在云计算时代大型数据中心的构建显得非常重要,同时由于经济学上的规模效应还可以进一步降低计算的成本。云计算中的资源集中首先是物理集中,以便于资源的管理和利用,但是由于用户地域的分散性和物理集中规模上的一些限制,一个大型的云计算服务提供商可以有多个大型的数据中心分布在世界各地,这样又形成了物理上的分散,但是云计算服务本身在逻辑上还是集中的。

  3. 云计算强调的是一种服务,而不是技术

  云计算强调的是一种服务,这是很多技术人员一开始不容易把握的地方。所谓强调的是一种服务,实际上是强调从用户需求出发,而不是从技术实现或管理员出发。有一些人认为虚拟化加上系统管理就是云计算,这是典型的从系统管理员角度出发考虑问题的例子,而没能把握云计算作为服务的特点。

  4. 云计算强调的是动态资源配置,而不是静态资源分配

  既然是一种服务,那用户当然希望能够得到优质的服务,其中重要的一点就是服务的响应时间。云计算需要对用户资源需求作出及时响应,一般而言这种资源需求的服务请求响应时间应该是秒级或分钟级别,而不是传统IT 系统中资源申请以天、周甚至月为单位的服务水准。许多云计算实现中采用虚拟化技术,主要是因为虚拟化技术可以降低不同资源之间的耦合度,从而提高资源的动态配置能力。

  5. 云计算强调的是专业分工,而不是事必躬亲

  云计算从某种意义上讲是“专业的人干专业的事”思想的一种体现。最终用户不需要了解“云”中基础设施的细节,不必具有相应的专业知识,也无须直接进行控制,只需关注自己真正需要什么样的资源就可以通过网络来得到相应的服务。对于第三方提供的云计算服务来说,它也是外包思想的一

  种体现,把部分IT 的具体实现和运维“外包”给了云计算服务提供商。

  1.2.2 云计算的资源使用模型

  要理解云计算的概念以及它能带来的各种好处,还需要理解云计算的资源使用模型。传统的IT 使用模型是根据业务发展情况预计一个应用系统的负载增长率,然后制定一个固定时间比如3~5年的投资计划。在这种方式下,用户需要一个比较大的前期投资,以满足一定时间段的用户需求。这种前期投资对于小企业和初创公司来说就是一个很大的进入障碍。就算在理想的状况下,即应用系统的负载量与预期负载一致,这种构建方式也会造成IT 能力的浪费。而实际情况是应用系统的负载很难做到精确,这样就更加加剧了IT 能力供给和需求之间的矛盾。实际系统的IT 能力的过配和短缺变得相当普遍。一些大型用户为了保证关键应用的正常运行,系统过配现象就非常严重。这种传统的IT 资源使用模式如图1.6 所示。

  图1.6 传统IT的资源使用模型

  云计算的出现使我们可以用更为灵活的方式来配置系统资源。一方面由于采用新的租用的业务模式,因此用户的进入门槛相对较低,用户不需要有大量的前期投资就可以开始使用资源。另外,由于云计算可以根据实际需求来进行资源调配,因此用户不用担心高峰时期资源的短缺,也不用担心系统在压力小的时候资源会闲置。这种弹性的资源配置使得用户的投资能够取得最佳回报。云计算的资源使用模型如图1.7 所示。

  图1.7 云计算资源使用模型

  1.2.3 适合云计算的典型场景

  许多人在一开始接触云计算的时候,往往倾向于认为云计算是无所不能的。虽然我们认为云计算是IT 发展的未来方向,但是在云计算发展的初始阶段,并不是所有的应用都适合云计算的方式。根据云计算服务的特点,下面几个应用场景可以从应用云计算中得到最为显著的效果。

  (1)间断性应用场景。

  间断性应用场景包括临时性的一些应用需求或者是一些批处理工作等。这些应用场景的特点是不需要连续地使用计算服务。比如,企业要进行一场为期一周的市场推广活动需要使用计算服务,但是通过传统方式来处理这类计算需求就显得非常笨拙,一方面响应比较慢,另一方面还会造成许多资源的浪费。云计算通过按需分配的方式可以比较好地符合这类应用场景。

  图1.8 间断性应用场景

  (2)快速增长应用场景。

  快速增长应用场景指的是应用需求量增长比较迅速的情况。传统IT 构建方式都是事先估计一个阶段的需求然后根据需求做系统容量配置。在这种方式下应用系统的容量扩展不是动态的,而是呈阶梯型上升。对于快速增长的应用,传统方式会导致IT 系统需要进行频繁的调整。而云计算可以通过动态分配资源的方式来满足应用快速增长的需要。

  图1.9 快速增长应用场景

  (3)需求突增性应用场景。需求突增性应用场景是指应用的使用量短时间内快速增加又很快回落

  的情况。这种使用量的变化有的是无法预测的,比如当突发性事件发生时新闻网站访问量突增;也有一些是可以预测的,比如每年除夕的短信息发送需求,节日的在线购物需求等。无论是哪种突发性需求对于应用系统的容量估算和保障都非常有挑战性,但是采用云计算就可以相对容易地解决这个问题。

  图1.10 突发性应用场景

  1.3 云计算的特点

  业界虽然对如何定义云计算还未达成共识,但对于云计算的特点已有很多深入的讨论。当需要判断一个计算服务是否是云计算时,可以从下面这些云计算的特点出发进行分析。

  图1.11 云计算特点

  1.3.1 按需服务

  云计算是把信息技术作为服务(IT as a Service )提供的一种方式。这种服务的概念都是从消费方(用户)角度出发、而不是从服务提供方出发来考虑问题,因此一个基本特点是要求按需服务,即用户可以根据需求即时得到服务。从这个角度讲,云计算就像我们公共服务中的自来水、电和煤气一样,集中供应并按需服务和计费。对用户来说这种按需服务的方式可以降低他们使用服务的进入和退出门槛,从而降低服务绑定的可能性和投资风险。

  1.3.2 资源池

  云计算带来的一个好处是能够提高资源的利用率,一般需要通过共享的方式来达到这个目的,而共享需要先把资源集中到一个公共的资源池中。因此,云计算需要把计算资源集中到一个资源池中通过多主租用的方式来为不同用户提供服务。对用户来说,具体物理资源的位置对他们而言是透明的,用户一般也不能控制具体资源的位置。但是,有时候出于法规遵循和数据传输性能的考虑,云计算服务商会提供一些高层次的位置信息,比如在哪个国家和地区或在哪个数据中心。在云计算当中,这个资源池中的资源可以是多种类型的。根据这个资源池中资源的类别,我们把云计算的服务模型分为三大类,即所谓的SPI 模型(参见第1.4 节“云计算的SPI 服务模型”)。

  1.3.3 高可扩展性

  对互联网应用来说,其用户数量和资源需求量的变化都非常大,很难事先有个准确的系统容量估算。而对于传统应用来说,不同时间段中用户使用应用的模式也有很大的差异。云计算平台的高可扩展可以很好地满足应用负载和需求变化的要求。云计算平台的资源池相对于单个用户的需求而言是比较大的,考虑到会有大量不同用户共用一个资源池,他们之间的资源使用模式一般存在一定的互补性,所以对于某个用户的需求而言,云计算具有很高的扩展性,其资源几乎是无限的。另外,云计算平台在做架构设计的时候,都需要考虑到如何让用户可以平滑扩展他们的资源需求,比如计算资源、存储资源等。

  1.3.4 弹性服务

  弹性服务指的是云计算的资源分配可以根据应用访问的具体情况进行动态调整,包括增加或减少资源的要求。也正因为如此,云计算对于非恒定需求的应用,比如需求波动很大、阶段性需求等,具有非常好的应用效果。在云计算的环境中,资源的扩展方式可以分为两大类:一种是事先可以预测的,比如一些季节性的需求;另一种则是完全基于某种事先设定的规则进行实时动态调整。无论是哪一种,都要求云计算平台提供弹性的服务,而对于云计算用户而言他们感觉能在任意时间根据需要得到计算资源。

  1.3.5 自服务、自动化和虚拟化

  对于习惯于使用ATM 机或网上银行的人,或者喜欢使用机场自助打印登机牌的人来讲,自服务带来的灵活和方便是他们喜欢自服务的最主要原因。而对于服务提供商来讲,自服务不仅能够提高客户满意度,还能降低服务成本。试想一下,当您通过互联网打印了登机牌时,您就为航空公司节约了人工服务成本、打印成本和登机牌的印刷成本等,而同时您对得到的服务还感到满意。与这些日常生活中的服务类似,在云计算中自服务同样是降低服务成本,提高服务便捷性的一种途径。

  自动化概念本身比较好理解,而把自服务和自动化放在一起则是因为它们之间的内在联系。对于云计算服务提供方来说,自服务要求提供尽量简单的用户操作界面,简化用户操作,降低用户使用服务的难度,只有这样自服务才能被用户所接受。而且由于是人机交互,因此服务响应速度的要求就会更高。所有这一切都需要通过后台自动化的方式才能实现,也就是说后台自动化是前台自服务的保障。因此从这个意义上讲,自服务是目的,而自动化则是手段。

  虚拟化是把资源从硬件束缚中解放出来的一种方式,使得资源的动态分配成为可能。

  这几个概念之间的关系如图1.12 所示。

  图1.12 自服务、自动化和虚拟化之间的关系

  云计算自服务一般通过Web 门户来体现,就像在亚马逊的云计算服务中,用

  户通过自服务门户预定需要的计算资源就像在电子商务网站上订购一本书一样方便。自动化一般通过程序和大量自动化脚本来实现,使得前端自服务界面用户触发的操作后台平台能够自动化完成并及时响应,从而保证良好的用户体验。

  1.3.6 便捷网络访问

  让用户可以在任何地方通过任何设备来访问需要的信息服务是人们追求的一个理想,云计算的发展让我们离这个目标更近了一步。云计算另外一个特点是便捷的网络访问。资源的集中供应必然要求用户通过网络来访问,云计算服务的供给就像当电力和自来水集中供应之后通过电网和自来水管道网络来提供服务一样:用户可以用不同的设备,包括PC 、手机、平板电脑等通过网络访问云计算服务。丰富的终端设备结合网络技术的发展将解决信息服务“最后一公里”的问题。

  1.3.7 服务可度量

  管理学之父德鲁克曾经说过一句名言:“如果您不能测量它,您就不能管理它”。云计算作为服务提供的方式,需要对服务进行度量。一般服务提供方和用户之间需要有一个服务水平协议(SLA )。这对于私有云来说,可以根据服务情况进行内部费用核算;而对于公有云来说,服务可度量就是计费的前提,然后可以根据实际使用量来进行计费。

  1.4 云计算的SPI服务模型

  虽然目前对于云计算还没有一个统一的定义,但是大家对云计算的服务模型已有了一个相对统一的认识。我们知道云计算是通过共享资源池的方式来提高资源利用率的。在云计算中,根据其资源池中资源的类别,可以把云计算的服务模型分为三种,即所谓的SPI 模型,如表1.1 所示。

  表1.1 SPI模型

  资源类别 云计算服务模型(SPI)

  应用程序 Software as a Service (SaaS)

  系统平台 Platform as a Service (PaaS)

  基础设施 Infrastructure as a Service (IaaS)

  1.4.1 软件即服务(SaaS,Software as a Service)

  软件即服务(SaaS )是用户获取软件服务的一种新形式,也是目前最为常见并且使用最多的一种云计算服务方式。用户一般不需要将软件产品安装在自己的电脑或服务器上,而是按某种服务水平协议(SLA )直接通过网络从专门的提供商获取自己所需要的、带有相应软件功能的服务。本质上而言,软件即服务就是云计算服务提供商为满足用户某种特定需求而提供其消费的软件的计算能力。SaaS 类型的云计算服务有以下主要特点。

  (1)用户主要通过标准的Web 浏览器来使用互联网上的软件服务。

  (2)多主租用(Multi-tenancy) 。

  (3)用户不必购买软件,只需按需租用软件或通过广告模式免费使用。

  SaaS 实际上是一个比云计算出现得更早的概念,而且在业界称其为SaaS,之前还有一个与之关系密切的概念叫应用服务提供商(ASP,Application Service Provider ),但是现在我们把它归纳为云计算的一种服务模型。当前,SaaS 有多种典型的应用,如在线邮件服务、网络会议、在线杀毒等各种工具型服务,还有在线CRM 、在线HR 、在线进销存、在线项目管理等各种管理型服务。SaaS 是应用软件的一个发展趋势,目前已吸引了众多厂商的参与。像微软Office365 中的在线服务、Salesforce 的在线CRM 等都是典型的SaaS 服务,国内的用友、金蝶等软件厂商也都推出了自己的SaaS 应用。

  1.4.2 平台即服务(PaaS,Platform as a Service)

  平台即服务(PaaS )是指将一个完整的应用程序运行平台作为一种服务提供给客户。在这种服务模式中,客户不需要购买底层硬件和平台软件,只需要利用PaaS 平台,就能够创建、测试和部署应用程序。

  图1.13 一个IT层面PaaS的服务

  PaaS 类型的云计算服务有以下主要特点。

  (1)提供应用服务平台的编程接口,开发人员需要根据平台提供的服务接口进行应用程序开发。

  (2)提供应用程序的托管平台,针对这个平台开发的应用程序一般只能部署在这个平台上面。

  为了便于理解平台即服务的服务模型,我们可以把它看成是一个基于云计算的操作系统,而开发人员可以针对这个新的云操作系统开发应用程序。目前PaaS 的典型实例有微软的Windows Azure 平台、Google App Engine 等。PaaS 不仅自身拥有很好的市场应用前景,而且能够推进SaaS 并与其共同发展。对于想进入SaaS 领域的服务提供商而言,PaaS 关键是降低了他们开发和提供SaaS 服务的门槛,提高了开发的效率。

  1.4.3 基础设施即服务(IaaS,Infrastructure as a Service)

  基础设施即服务(IaaS )是指把IT 基础设施作为一种服务通过网络对外提供。在这种服务模型中,用户不用自己构建一个数据中心,而是通过租用的方式来使用基础设施服务,包括服务器、存储和网络等。在使用模式上,IaaS 与传统的主机托管有相似之处,但是在服务的灵活性、扩展性和成本等方面IaaS 具有很强的优势。用户无须购买物理硬件,只需通过网络申请服务即可搭建自己的系统环境。这个服务模式相当于把IT 基础设施像日常生活中的水和电一样以服务的形式集中供应,并按照服务内容和实际使用量进行计费。由于要保证资源的动态分配和定制资源的分配粒度,因此在IaaS 的平台实现中一般都需要使用各种虚拟化技术。

  图1.14 IaaS功能架构

  IaaS 类型的云计算服务有以下主要特点。

  (1)以服务的形式提供虚拟硬件资源,包括服务器、存储、网络等。

  (2)用户对基础设施环境需要自己进行系统管理。

  在这个服务类型中,最著名的是亚马逊提供的AWS(Amazon Web Services )服务。亚马逊通过不同的服务方式把自己庞大数据中心的基础设施对外提供出租服务,比如通过弹性计算服务(EC2 )提供虚拟机租用服务,通过简单储存服务(S3 )提供存储租用服务等。

  我们可能还会看到一些别的服务形式名称,比如Office as a Service 、Hardware as a Service 、Database as a Service 、Integration as a Service 等,这些都可以看成是上面三种主要服务模型的延伸或细分,一般都可以把它们归到业内认可的SPI 模型中的一种。

  1.4.4 三种服务模型之间的联系和区别

  云计算的三种服务模型中的任何一种都可以独立对外提供服务,云计算服务提供商也可以直接从底层硬件平台开始构建自己要提供的服务。比如,一个SaaS 服务商完全可以自己构建一个SaaS 平台来提供服务。但是,从层次上讲这三种不同的服务是处于不同层次的服务,而且相互之间可以有一定的依赖关系。这三种服务之间的关系可以用图1.15 来表示。

  图1.15 三种服务之间的联系

  假设一个ISV 想提供SaaS 服务,它可以自己建造数据中心,然后采购软硬件,并开发相应的应用程序来提供服务。但是一个相对简单的方式是利用其他服务商提供的PaaS 平台,这样这个ISV 就可以把主要精力放在构建应用程序的业务逻辑上面,而不用在基础平台构建、运维,平台扩展性和灾备等方面花费太多精力。同样对于IaaS ,无论是最终用户、SaaS 提供商还是PaaS 提供商都可以从基础设施服务中获得应用所需的计算能力,但却无须对支持这一计算能力的基础IT 软硬件付出较大的原始投资成本。

  云计算的三种服务模型所针对的用户类型实际上是不一样的。SaaS 由于提供的是应用服务,因此针对的是最终用户,也就是一般的应用程序使用人员。用户在使用SaaS 的时候一般不需要对技术本身有特殊要求,只需要了解软件服务本身的一些操作规则即可。用户一般也不需要对服务商提供的SaaS 服务进行二次开发,只需要简单的设置就可以使用。PaaS 提供的是平台服务,因此针对的用户是开发人员。PaaS 需要开发人员针对平台的编程接口进行应用程序设计和开发,然后部署在上面。如果这个部署的应用是对外提供软件服务的,那就是SaaS 服务。IaaS 提供的是最底层的IT 基础设施服务,因此它直接针对的用户是IT 管理人员。IaaS 提供的服务首先需要IT 管理人员来进行配置和管理,然后才能在其上进行应用程序的部署等工作。相对于最终用户的需求,三种服务类型所提供功能的差别如图1.16 所示。

  图1.16 三种服务之间的功能对比

  SaaS 的好处在于对用户的要求比较低,基本上是现成的应用,用户可以直接应用,但问题是用户的需求不是都有现成应用服务来解决的。PaaS 的好处在于用户可以直接在上面开发应用程序,而不用关心底层系统平台的维护,但是它的问题在于不利于已有应用的迁移。IaaS 对已有应用的迁移相对比较平滑,用户使用平台的灵活度相对要大一些,但是要做的事情也相对更多。

  图1.17 三种服务之间的自动化和灵活度对比

  所以,三种云计算服务类型所提供的功能和所针对的用户是不同的,用户可以结合实际需求来选取相应的云计算服务。最后一点需要说明的是,上面三种服务模型的划分不是绝对的,有时候不同层次的服务覆盖面上有一些相互重复,而云计算服务提供商也会根据用户需求等情况对自己的服务进行一些调整和延伸。

  1.5 云计算的部署模型

  根据云计算服务的用户对象范围的不同,我们可以把云计算按部署模式大致分为两种,即公有云和私有云。

  1.5.1 公有云

  公有云,有时也称外部云,是指云计算的服务对象没有特定限制,也就是说它是为外部客户提供服务的云,其所有的服务是供别人使用。当然,服务提供商自己也可以作为一个用户来使用,比如微软公司内部的一些IT 系统也在其对外提供的Windows Azure 平台上运行。

  对于使用者而言,公有云的最大优点是其所应用的程序及相关数据都存放在公有云的平台上,自己无须前期的大量投资和漫长的建设过程。云计算优势中所描述的把前期的资本投资转变为运营费用的作用只有在公有云里才能得到充分体现。在云计算愿景中描述的服务提供方式也主要是以公有云形态存在的。

  公有云目前最大的问题是,由于应用和数据不存储在用户自己的数据中心,因此用户对其安全、隐私等问题存在一定的担心。尤其是对于大型企业和政府部门,他们对这方面的要求会更高一些。另外,公有云的可用性不受使用者控制,这方面也存在一定的不确定性。公有云的推广一方面需要从技术和法规等方面来完善所提供的服务,另一方面也需要用户观念和意识的转变。就像银行刚开始出来的时候,有人对于把钱存放在银行里就有各种担心。

  1.5.2 私有云

  私有云,有时也称内部云,是指组织机构建设的专供自己使用的云平台,它所提供的服务不是供他人使用,而是供自己的内部人员或分支机构使用。对于那些已经有大量数据中心投资,或者由于各种原因暂时不会采用第三方云计算服务的机构,私有云是一个比较好的选择。私有云比较适合于有众多分支机构的大型企业或政府部门。随着这些大型数据中心的集中化,私有云将会成为他们部署IT 系统的主流模式。

  不同于公有云,私有云部署在企业内部网络,因此它的优势是数据安全性、系统可用性等都可由自己控制。但缺点是依然有大量的前期投资,也就是说它还是采用传统的商业模型。还有一个问题是它的规模相对于公有云来说一般要小得多,因此经济学上的规模效应也无法充分发挥出来。私有云实际上是机构应用一些云计算相关技术来提高自身信息服务效率的一种方式。

  1.5.3 其他云形态

  公有云和私有云是根据服务对象来区分的两种主要的云计算部署模型,而在实际使用中还有一些衍生的云计算形态。首先是社区云,也有人称之为垂直云。社区云服务的用户是一个特定范围的群体,它既不是一个单位内部的,也不是一个完全公开的服务,而是介于两者之间。比如,针对某个机构中的所有单位,某个软件园区的所有企业,某个企业的相关合作伙伴等。公有云、私有云和社区云的概念可以类比互联网(Internet )、企业内部网(Intranet )和外部网(Extranet )。

  前面讲的三种云计算部署模型都是按照所服务对象的范围来区分的。另外还有一种云计算形态是根据用户使用云计算服务的方式来定义的,即混合云。混合云与其说是一种云计算的部署方式,不如说是一种用户使用云计算服务的方式。它是指用户使用云计算服务的时候,既使用了公有云服务,同时也使用了私有云的服务。比如一个组织使用了亚马逊的公有云弹性计算服务,但是它把一些核心的数据同时存储在基于自己数据中心的私有云平台上面。当然,在使用混合云的情况下,用户可能需要解决不同云平台之间的集成问题。

  1.5.4 发展趋势

  虽然说私有云一般不需要多主租用方面的考虑,但是从技术上看几种不同的云计算形态并没有本质的区别。它们最大的差异在于服务的业务模型,私有云在业务模式上还是采用传统的自己构建和运维的方式,而公有云则采用服务租用的方式。从长远来看,公有云是云计算未来发展的趋势。传统数据中心会逐渐朝着虚拟化数据中心、私有云和公有云方向发展,如图1.18 所示。

  图1.18 云计算演变

  但是,云计算的发展是个渐进的过程。一方面由于传统的大型企业和政府组织机构已经有大量投资在构建自己的数据中心和软硬件平台上了,因此从保护投资的角度看自有平台也不会立即消失。另一方面,许多组织会由于安全、隐私等方面的原因而采用私有云平台。因此,在很长一段时间内,我们看到的都是混合云的使用方式,也就是说用户将根据实际业务特点和情况决定应用和服务的使用方式,如图1.19 所示。

  图1.19 用户自由选择不同的云计算类型

  比如,用户可以把部分应用如ERP 等部署在自己私有的平台上,同时利用公有云平台提供的电子邮件、CRM 等服务。

  1.6 云计算对IT产业的影响

  大约每隔15 年左右,IT 产业就会进行一次变革性的转变。不同技术力量相互碰撞和倾轧,并最终产生出一种能改变整个产业生态的革命力量。我们认为云计算就是这样一种力量,它将从根本上改变IT 产业。从计算演变的历史我们可以发现,每个计算时代都有自己深深的烙印,也都有这一时代独领风骚的企业。无论是主机时代的IBM,PC 时代的微软,还是Web 时代的Google ,都是各自时代的杰出代表。云计算对IT 产业的影响无疑是巨大和深远的,我们认为它会带来划时代的变革。当云计算时代到来的时候,IT 行业将面临重新洗牌,也必将诞生这一时代的领头羊。这种新老交替的过程对传统厂商来说是痛苦的,但是其中孕育的巨大商机仍将促使大家都争先恐后地加入到云计算的浪潮中来。

  云计算正在改变信息产业的格局,它将使IT 基础设施变成如水电一样按需使用和付费的公用基础设施,它将改变软件产业的开发和部署方式,使其像传统工业流水线一样高效,极大地简化企业的IT 管理,有效降低企业的IT 基础设施成本,降低个人使用信息服务的难度,并全面提高社会整体信息化水平。

  图1.20 云计算对IT产业的影响

  1.6.1 硬件模型的改变

  英特尔的创始人之一戈登·摩尔在1965 年发表文章指出,芯片中的晶体管和电阻器的数量每年都会翻番,这就意味着半导体的性能与容量将以指数级增长,并且这种增长趋势将继续延续下去。1975 年,摩尔又修正了这一定律,他认为每隔24 个月晶体管的数量就将翻番。虽然摩尔定律描述的是计算机处理芯片的一个经验式定律,但是IT 产业中的许多硬件都有类似的发展规律。在过去的几十年中,芯片的发展基本符合摩尔定律的描述。然而随着传统芯片制造工艺逐渐逼近物理极限,单核处理器的制作方式要想进一步提高晶体管密度就遇到了非常大的障碍。聪明的芯片工程师设计了一个变通的方法,就是采用多核芯片,使之满足“横向扩展”而非传统的“纵向扩展”,从而提高晶体管的总数和性能。这种多核的架构采用了“分而治之”的方法,通过划分任务,应用能够充分利用多个内核,通过并行计算的方式提高芯片性能。

  云计算的出现同样以类似的方式改变了硬件模型。在传统硬件模型的架构下,如果需要更高的处理能力,更大的存储空间,人们一般都要通过采用更高级、更强大的服务器来实现,比如选择大型服务器或高端的小型机等。但是随着应用规模越来越大,尤其是对于许多互联网上的应用,这种方式对用户有多个挑战。比如,系统的纵向扩展能力比较有限,无论是什么样的服务器,所能扩展的处理器和内存都相对有限。另外,对于大规模应用来说,这种构建方式下系统的构建成本比较高。传统的大型机和小型机由于不是采用标准化的构建方式,其成本始终居高不下。云计算的出现,使人们开始重新考虑硬件平台的构建方式。绝大部分云计算平台目前都是采用标准化、低成本的硬件,然后通过软件方式来横向扩展,以构建出一个庞大和稳定的计算平台。我们认为这是未来的“主机”,它会比传统主机的性能要强上千倍,但是成本却只有后者的几分之一。

  1.6.2 应用模型的改变

  传统的基础架构或系统平台中的资源都不能动态配置,因此应用程序在设计的时候主要考虑自身业务逻辑的实现。应用程序本身的监控和管理都是通过其他系统管理软件如System Center 、Tivoli 等来实现。有一些管理得比较好的应用程序,可以通过这些系统管理软件实现部分资源动态调整。但是,这些传统的应用程序本身对底层平台的运行情况是没有任何感知的。随着云计算的出现,应用程序本身的自动化逐渐成为可能。这些具有运行环境感知功能的应用程序可以称为“自我感知应用”(Self-Sensing Application )。

  自我感知应用的出现是应用程序发展的一种趋势,是自动化在应用程序运行过程中的一种体现。在做传统应用程序设计的时候,我们把主要的精力都放在了功能性的需求方面,而对于一些非功能性的需求则往往采用手工配置的方式来实现。云计算平台的出现使得计算平台的资源具有了可编程的特性,因此我们在应用程序的架构设计中可以通过基础架构平台的一些接口来感知应用程序的实际运行情况,并可以结合访问情况对应用程序的运行资源进行动态调整,以实现完善的自动化程序运行。

  云计算平台具有可编程的资源分配,因此我们还可以设定自动化的部署过程,也就是可以让应用程序自动化地完成部署、升级等工作。自动化部署也是应用程序动态扩展的一个前提。这样,当需要更多计算实例来处理更多的用户请求的时候,新的计算实例可以动态地生成出来并自动启用。从应用模型的角度来看,云计算平台的出现使得开发人员可以快速地构建高可用并且几乎可以无限扩展的应用。

  自我感知应用是应用程序朝着成为具有独立、自治单元的方式发展的一种体现。应用架构师在做设计的时候,面对的是底层抽象的、几乎无限的计算资源,而不是传统意义上的物理资源。从另外一个角度看这种设计方式也是应用程序与底层计算平台松耦合的一种体现,从而使得应用程序不绑定具体物理硬件。云计算平台从底层提供几乎无限的计算、存储和网络资源,其上的应用程序就像一个个具有人工智能的独立单元,它们在完成自身业务工作之外,还能够具有自我管理和自我修复的功能。

  从用户使用服务的角度来说,应用模型的另外一个变化是用户消费服务的方式将会更加灵活。云计算的出现使得大量的计算工作从终端设备逐渐迁移到云计算平台上,因此对于终端设备的计算要求相对有所下降。我们会看到越来越丰富的终端设备,无论是PC ,平板电脑,智能手机等都可以成为用户使用服务的方式。

  1.6.3 服务模型的改变

  云计算使得信息服务的社会化成为可能,改变并精细化了大众需求,催生新的市场和新的服务业。信息服务的方式将逐渐向类似于传统公共设施的服务方式,也就是通过集中供应然后按照用户使用量来计费的模式转变。随着云计算的发展,许多传统的IT 厂商都将逐渐从纯粹的产品和方案的供应商向云计算服务供应商进行转变。个性化的需求会延续传统的信息技术应用方式,但是对于大众化的、比较具有共性的信息服务,需求将快速转型到新的服务模型。

  传统软件行业的业务模式是通过销售软件许可证,然后用户自己一次性购买软件使用权的方式。在这种方式下,用户不但需要自己购买软件,还需要采购与之配套的硬件环境,并需要专门的人员进行管理和维护。另外,当软件有了新的版本之后还需要定期进行升级。软件的这种业务方式将随着云计算的到来而逐渐结束。在新的方式下,用户不再需要购买任何软件和硬件,只需要按照使用量支付费用,就可以通过互联网随时使用自己所需要的服务。软件厂商将应用软件部署在统一的云计算平台上,改变传统销售软件许可权的方式而变成软件服务供应商。显然,这种方式也更有利于软件厂商保护自己的知识产权。对于最终用户而言,这种新的方式免除了他们对服务器硬件、网络安全设备和软件升级维护等的支出。

  我们会逐渐看到云计算对软件、硬件和服务等领域的影响。无论是服务器、个人计算机、咨询服务、软件开发、网络硬件,甚至是电信运营等各个领域都会由于云计算方式的出现而发生改变。公有云的服务从某种程度上也可以看成IT 外包的某种形式,因此传统IT 外包业务也会受到云计算的冲击。有一些IT 行业的工作种类也会受到影响(比如一般的系统管理员),当然云计算也会创造出一些新的工作岗位。云计算对整个IT 行业的影响是如此巨大而深远,因此以云计算为载体的信息技术公用设施化的发展,其影响必将超越IT 本身,甚至会最终重塑经济和社会形态。

  1.7 云计算的价值

  云计算的发展有两个最为重要的推动力,同时也是其最为根本的两大价值,一个就是帮助用户降低IT 服务成本,另外一个就是提升用户使用IT 服务的体验。实际上这就是人们在商品社会追求“物美”和“价廉”的一种体现。云计算在最近几年受到广泛的关注,成为炙手可热的概念,与全球经济的发展状况也有很大的关系。当经济状况变得相对具有挑战性的时候,人们对成本的敏感度就会上升,企业IT 方面的投入就会变得更加谨慎。因此,当云计算可以帮助企业降低成本的时候,大家对云计算所爆发出来的热情也就不难理解了。当然,云计算还有许多不同方面的价值,下面我们将从不同角度阐述云计算带给我们的各种好处。

  1.7.1 降低成本

  云计算能够为企业和用户降低成本,但是对不同规模企业采用不同类型云计算服务的时候,其成本优势是不一样的。云计算之所以能够降低IT 服务的成本,最主要的原因是云计算服务的构建方式能够充分利用IT 资源,并大量采用自动化的手段降低管理成本。另外,相对于传统IT 构建方式云计算具有相当好的规模效应,这一点在公有云中表现得尤为明显。大型云计算服务如微软的Windows Azure 、亚马逊的AWS 等使用的服务器、存储、网络带宽,甚至是电力的单位成本都比一般企业要便宜得多。

  图1.21 云计算与传统IT服务的成本对比示意

  我们从图1.21 可以看出,公有云的成本相对较低。但是对于那些不方便采用公有云的企业来说,私有云也可以帮助他们降低IT 服务的成本。与采用公有云服务不同,私有云还是需要企业有大量的前期投资,但是它在资源利用率和管理成本上会比传统方式有比较大的进步。私有云对企业的另外一个意义是可以充分发挥现有IT 硬件的能力。根据调研,大多数机构对服务器等IT 资源的利用率一般都低于15% ,但为了应对业务峰值的需要或预期负载的偏差,用户又不得不闲置超过85% 的IT 能力。但是,通过运用云计算的技术,可以让用户实现均衡的、优化的硬件资源管理,从而使企业不再需要进行过度的投资。传统IT 服务和私有云方式的成本比较如图1.22 所示。

  服务

  新应用开发

  新应用的开发软件或直接成本节省

  能源

  软件

  运营费用能源运营费用

  硬件硬件

  图1.22 传统IT服务和私有云的成本比较

  下面我们对传统IT 服务和私有云两种不同方式对硬件的需求进行一下简单分析。在传统IT 服务方式下,由于不同应用之间没有硬件的共享能力,因此对硬件的配置要求是所有应用系统高峰值的总和。我们可以用下面的公式来表示。

  传统IT 服务方式对硬件的需求= ∑[ Max (App1)+ … + Max (Appn) ]

  在私有云方式下,不同应用之间可以共享一个资源池,因此在理想的状况下对硬件的需求是所有应用系统累加的高峰时刻。我们可以用下面的公式来表示其资源需求。

  私有云方式对硬件的需求=Max(∑(App1+ …+Appn))t ,其中t为任意时刻。

  从上面两个公式可以推导出,在理论上私有云与传统IT 服务方式的硬件资源需求在两种情况下是相同的。一个是当应用数量为1的时候,另一个是当所有N个应用的资源需求都是在同一时刻达到最大值时(实际上前者也可以看成是N=1 的特殊情况)。同时还可以看出,当不同应用之间的资源需求在时间上比较分散时,从资源利用率方面私有云的效果会更加明显。一般的,应用程序数量越多,相互之间差异的可能性也就会越大,从而越容易显现出云计算的规模效应和共享优势。

  1.7.2 把固定成本转变为可变的运营成本

  对于公有云来说,用户在使用IT 服务时的一个最为根本的变化是业务模式的转变。云计算将企业自己构建和运维数据中心的方式改变为根据使用的云计算服务量进行付费。数据中心及其中的软硬件都是需要前期投资的,从财务上来看属于固定资产,然后按照会计原则根据使用年限进行折旧。这种成本的计算方式虽然符合传统固定资产的折旧方式,但是它不能反映资源使用率和业务的发展情况。而云计算的方式可以根据实际IT 服务的发生量来计费,更能直接反映业务的发展情况。从财务和现金流量上来看,更多公司愿意采用这种把一次性固定成本转变为更能反映实际情况的可变成本。另外,从财务上的固定资产投资回报率来看,由于数据中心属于固定资产而且通常构建成本都比较高,因此采用云计算的方式可以大大提高公司整体的固定资产投资回报率。

  把固定成本转变为可变运行成本的一个直接结果就是实现了业务的灵活性,这是所有业务都追求的一个永恒话题。虽然在技术发展过程中如电子商务、SOA 都曾在某种程度上促进了业务的灵活性,但是云计算对业务灵活性的提升更为直接和明显。对于一个新创企业或已有企业的新业务,云计算能够让企业通过利用第三方IT 服务快速走向市场,不需要大量的前期投资,只需要根据使用量来付费。在这种模式下,企业不需要构建数据中心,不需要采购软硬件,甚至不需要进行大量应用的开发,就可以快速开展一项新业务。企业可以把注意力完全放在业务上面,而不是底层的IT 基础服务上。如果项目结束或者公司不再继续业务,只需要停止使用相应的云计算服务即可。采用云计算的方式,可以让企业更有效分配在战略业务和IT 服务之间的投入。

  1.7.3 云计算对不同企业的价值

  云计算对IT 的运维、服务的提供方式、安全性等多方面都产生了巨大

  影响。不同行业、不同规模的企业对成本、安全性等方面的敏感性是不一样的。因此,云计算在不同企业中的价值也略有差别。

  图1.23 云计算对不同企业的影响

  中小企业由于自身IT 建设相对较弱,IT 投资也相对有限,因此一般更愿意采用第三方的公有云方式来使用IT 服务。借助云计算,中小企业的IT 投资将大为降低,无论是从应用开发还是IT 基础设施等方面,都能有效降低成本。而且,对于中小企业来讲,最为重要的一点是云计算可以让他们及时进入原本需要大量固定投资而不能进入的领域。不仅如此,中小企业由于自身IT 建设的水平限制,一般很难建立一支庞大而专业的运维队伍,因此通过专业的第三方云计算服务,还能提高IT 运维水平和安全性。对于一些规模相对较小的企业,甚至可以不需要专门的IT 部门,而完全依赖于第三方提供的云计算服务。

  相对于中小企业,大型企业对于成本的敏感度要低一些,而对于安全方面的要求则要高一些。大型企业一般都有比较大的IT 投资,许多甚至已经构建了自己的数据中心。因此,大型企业在目前更倾向于使用混合云的方式。一方面逐步改造现有IT 环境为私有云,另一方面根据实际应用需求情况采用一些公有云的服务。通过云计算的方式,大型企业的IT 部门将能够更有效地监控各业务部门对资源的使用情况,可以通过内部结算的方式进行IT 资源的调配,促使各业务部门更为有效地使用IT 资源。综合来讲,云计算对于大型企业来说也可以带来比较明显的成本收益和业务灵活性。

  1.7.4 提升用户体验

  在基本功能逐渐得到满足之后,良好的用户体验越来越成为产品和服务提供商追求的目标。云计算对于提高IT 服务的用户体验也非常重要。从大部分IT 用户的角度看,云计算使他们从底层复杂的技术细节中解放了出来,可以把注意力放在相对高级、更靠近业务的工作中去。在传统方式下,用户在申请计算资源的时候,通常需要等待几天、几周甚至是几个月。而云计算能够动态分配资源,因此用户一般只需要几分钟甚至更短的时间就可以得到想要的计算资源。云计算还可以帮助用户更高效地完成任务。高效并不一定指能多快地做事情,而是有多少事由于自动化不用做了。

  从最终用户的角度看,云计算的发展让用户有了更多的服务选择。自服务的方式让用户在使用云计算的时候有更多的自主权,可以根据需要7×24 小时随时使用。云计算服务也降低了用户使用服务的难度,当数据存放在云平台时,用户就不用再担心数据丢失等问题。云计算充分利用了网络的功能,让共享和协同工作变得更为简单。用户只需要根据使用场景选择合适的终端来使用云计算服务,而其他一切都可以交给云计算服务商。

  1.7.5 绿色环保

  工业革命以来,在人们享受物质文明的同时,气候变化的阴霾已悄然笼罩,温室效应带来的各种影响已经开始威胁人类的生存,于是,低碳问题逐渐变成当今世界关注的热点。让许多人没有想到的是信息技术产业也是一个碳排放大户。IT 市场研究公司Gartner 的专家估算,信息技术产业所排放的二氧化碳约占全球碳排放量的2% ,基本上与航空业相当。随着人们对计算、存储和通信技术需求的快速增加,全球IT 行业的碳排放量也在迅速增长。

  让人感到幸运的是,云计算这种新的IT 服务方式可以帮助我们建设资源节约型社会。云计算可以极大地提高资源利用率,有效降低能源消耗。通过资源的整合,可以减少许多重复的IT 建设。在相同计算能力的前提下,通过云计算可以从整体上降低企业对IT 的投资。我们可以从云计算数据中心的节能效果上来看一下云计算对绿色环保的推动作用。新型的云计算数据中心的能效指标(PUE,Power Usage Effectiveness )比传统的要低得多。像微软、Google 等的新的数据中心的能效指标都能达到1.2 左右,而许多传统的数据中心还停留在2.0 以上。也就是说,和传统数据中心相比,新型的数据中心能够节约66% 以上的电能消耗。当然,除了这些直接的节能减排效果,云计算还可以帮助其他行业来进行碳减排。

  1.8  云生态系统

  1.8.1   云生态系统的组成

  在云计算的生态系统中,有三个核心角色,即使用者、提供者和建设者。使用者是指各种云计算服务的最终使用者,包括个人消费者、政府、教育和企业客户;提供者是指各种云计算服务的提供商,包括SaaS (软件即服务)、PaaS (平台即服务)和IaaS (基础设施即服务)三类提供商;建设者是为提供商提供各种基础资源、解决方案和服务的供应商,如软硬件产品、信息安全、支付、网络服务等。具体的角色如图1.24 所示。

  图1.24 云计算生态中的不同角色

  云计算的使用者既可能是企业用户,又可能是个人消费者。企业用户包括各种规模的社会组织,尤其是社会经济活动中的企业。通常情况下,这些企业在云计算生态系统中寻求能够满足自己需要的IT 解决方案,旨在解决如库存管理、销售管理等内部管理和供应链管理、客户关系管理等问题;同时,作为企业用户,他们也有可能在云计算的生态系统中直接寻求云计算服务,用来作为企业自有数据中心或者现有IT 基础架构的一种补充。个人用户主要指公众,通常是云计算服务的直接消费者,完成诸如文档编辑、电子表格、网络游戏、网络邮件等个人操作,以及在网上直接存储和编辑视频、照片等。

  1.8.2 典型的云计算服务商

  当前云计算提供商可以分为三大阵营,即SaaS 阵营、PaaS 阵营和IaaS 阵营,但是一个厂商可能同时提供多种不同的云计算服务。下面是几个典型的云计算厂商。

  1. 微软

  微软在十几年前就开始提供像MSN 、Hotmail 等互联网服务,并于2005 年开始向“软件+服务”型的公司转型(这里的服务是指基于互联网的服务而非咨询服务)。自2008 年以来,微软进军云计算的战略开始越来越清晰,动作力度也越来越大。微软在短时间内打造了多个顶尖水准的数据中心,即“超级云计算中心”,每个中心耗资约5亿美元。微软已经开始向企业客户提供选择:让微软在数据中心中为他们运行电子邮件、协作和CRM 应用软件,并将这些应用软件作为一种SaaS 服务通过Web 提供给客户。

  2008 年10 月,微软相继发布了一系列产品以迎接“云计算”时代的到来。例如,推出了新的Windows Azure 云计算平台,用户可以通过互联网使用Windows Azure 提供的PaaS 类型云计算服务。微软以“即用即付”模式对Windows Azure 定价,一方面提供更高层次的平台服务,另一方面其价格与亚马逊等竞争对手的服务相比非常有竞争力。用户也可以预付费,并获得一定幅度的折扣。在消费领域,除了Xbox Live 、MSN 之外,新版本的Windows Live 可以让个人用户与好友一起存储、恢复和共享图片、博客和其他网站内容,并把Hotmail 与基于Web 的Office 版本以及SkyDrive 紧密集成在一起为消费者提供更好的云计算服务。

  2010 年3月,微软对外宣布公司全面转向云计算。

  2. Google

  Google 本身就是以互联网搜索作为核心业务,因此Google 从介入“云计算”开始,就直接提供纯粹基于互联网的服务,包括电子邮件、在线日历、聊天和各种Google 应用软件套件等。Google 的云计算平台及云计算网络应用程序,主要包括针对云计算提出的大规模分布式计算的基础架构以及在此基础之上构造的云计算应用服务程序。

  Google 在2007 年推出了Google Docs 云计算服务,提供在线Office 的一些服务。2008 年4月,Google 推出了AppEngine 服务平台,其基本功能是让外部开发者借助该平台开发基于Python 的Web 应用,而Google 通过自己强大的云中心向用户提供上述应用的网络服务。2008 年9月,Google 推出了Chrome 浏览器,其主要目的同样指向云计算。Web 是Google 的中心,Google 提供的大量产品和服务都是通过Web 从云计算中心发布的。

  目前,Google 已经将其许多产品与云计算相结合,比如Google 地图,目前已将卫星图片和地图结合起来,在云计算支持下,可以从各个角度观看一个地图上的事物。同样,Google 翻译也加入了云计算,机器翻译的数据库需要非常大的数据量,Google 翻译的数据库已经达到千亿级。另外,Google 也在大力推广其客户端产品Android 和Chrome OS ,以使用户能更方便地使用其云计算服务。

  3. 亚马逊

  亚马逊作为一家在线书店和电子零售商在业界享有盛誉,但事实上它也是云计算的先锋厂商。亚马逊作为首批进军云计算新兴市场的厂商之一,最初是在构建自身零售平台的时候使用了云计算的方法。之后,亚马逊将自己以IaaS 为主的云计算平台开放给外部开发人员使用,为尝试进入云计算的商业技术企业开创了良好的开端。

  亚马逊的云计算是Amazon Web Services( 亚马逊网络服务),由多个服务组成:Simple Storage Service( 简单存储服务,S3);Elastic Compute Cloud( 弹性计算云,EC2);Simple Queuing Service( 简单队列服务)以及SimpleDB (简单数据库服务)等。亚马逊目前所提供的是可以通过网络访问的存储、计算处理、信息队列和数据管理等多种云计算服务。

  亚马逊网络服务最初的市场定位并非瞄准大型企业,而是以低廉的价格、可上下扩展的能力和IT 资源的灵活性获得中小型企业的青睐。为了更好地支持大客户,亚马逊开始推出全天候电话支持和企业级服务水平协议。

  1.9 云计算带来的新挑战

  人们在认知一个新概念的时候,往往会有这样一个习惯,就是过高地估计它在短期内的作用,然而又过低地估计它长期的影响。对于云计算这个新概念,人们倾向于认为它优于老的一切并会完全替代已有的一切。但是现实世界中的云计算将是一个逐渐发展的过程,就像现在还有一部分企业在使用大型主机。

  云计算的快速发展给政府、企业和个人带来了巨大的创新潜力,能够提高效率和降低成本等。虽然这些好处是很明显的,但是同时我们也要看到一些新的障碍和挑战,而不能认为这些技术带来的好处是自然而然的事情。为了享受这些好处,我们还需要建立人们对云计算服务的信心,但是这需要各方,包括政府、企业和个人的共同参与。

  我们可以把安全和标准看成是云计算的两翼。但是光有这两个翅膀还不够,云计算的发展还需要相应的政策和法律法规来作为其飞翔的天空。

  图1.25 云计算的起飞

  1.9.1 新的IT基础设施挑战

  云计算在给我们带来许多便利和优势的同时,也带来了许多新的挑战。首先是对IT 基础设施的挑战。从云计算的概念我们可以看出,云计算的推广有一个非常重要的前提,那就是相关的IT 基础设施需要得到提升。首先就是网络环境的问题。因为云计算的服务是通过网络来消费的,因此,如果没有一个高速的网络,那么一切云计算服务都将变成空中楼阁而没有办法得到广泛应用。所以,如果要让云计算成为现实,走入人们的日常生活和工作,我们必须首先提升网络的带宽,同时需要拥有一个普通消费者可以承受的价格。而网络建设中最为重要的光纤和无线网络,这两方面的发展都需要企业和公共部门合作才能够实现。

  另外一个挑战就是如何应对云计算对计算环境的新需求。由于云计算需要大规模的计算,因此通过传统方式构建数据中心就遇到了挑战。云计算需要大规模的、容易扩展的数据中心作为它的物质基础。因此,大部分云计算平台都是基于标准化的硬件来构建的,比如基于x86 体系架构的服务器。我们可以认为云计算平台就相当于21 世纪的主机,它更符合新的计算要求,并比传统主机的处理能力强大许多倍,但是价格只相当于传统主机的几分之一。

  1.9.2 新的用户隐私挑战

  无论是对本地应用还是云计算应用,保护用户的隐私信息都是非常重要的。在过去的30 多年中,人们已经习惯把自己的信息从传统的抽屉、文件柜中迁移到自己的计算机硬盘上。当越来越多的信息从个人计算机或企业的服务器中迁移到第三方云计算服务平台的时候,这些信息的隐私问题变得越来越突出。

  这种信息存储位置的变化会带来两方面的问题。一个是关于用户和云计算服务提供商之间针对数据产生的关系问题。虽然是用户的数据,但是它们存放在别人的(服务提供商的)服务器中,这样就会产生一系列问题。比如,服务提供商会使用这些信息做些什么?他们会在什么时候做?那些频繁收到手机广告短信的人对这个问题肯定深有感触。

  这种信息移动带来的另外一个问题由于跟司法相关而显得更为复杂。当您的信息在自己计算机中的时候,任何人都需要经过您的允许才能合法地查看这些信息,这是有法律保障的。但是,当信息在云计算平台上的时候,现在并没有明确的法律规定服务方或政府不能查看这些信息。保护用户的隐私信息对于促进用户建立对云计算的信心非常关键,因此需要着手解决这个问题。

  1.9.3 新的安全挑战

  正所谓树大招风,云计算平台由于集中有大量用户的数据和应用,因而更容易吸引恶意的攻击和偷窃。这些攻击有些是通过网络进行的,有些甚至可能是通过物理攻击的。从技术的角度讲,云计算的安全与传统安全的不同之处主要在于以下几个方面。

  (1)多主租用(Multi-tenancy )带来的安全问题。

  这里要考虑到不同用户之间的相互影响,如何做到相互隔离。需要通过技术手段防止用户有意或无意的“越狱”行为。另外,由于用户的程序是运行在数据中心之内的,因此还要预防恶意用户从云计算平台内部发起攻击。

  (2)采用第三方平台带来的安全问题。

  在云计算中由于数据是存放在第三方平台上的,因此一个非常现实的问题是服务提供商管理人员的权限设置问题。这需要通过技术手段和管理流程一起配合来应对。

  (3)服务的连续性问题。

  服务的连续性是从业务运行安全的角度来看的。一方面这里存在服务的“单点故障”问题。在传统方式中,一个服务的停止只会影响自己的业务和自己的用户,但是云计算服务提供商的服务如果出现中断,那么将影响其上所有用户的业务。另外一个要考虑的方面是假设服务提供商业务出现问题而不再提供服务,那么用户的数据和应用将如何处理?

  无论是隐私问题还是安全问题,非常关键的一点在于云计算服务行业的具体运维操作规范要相对透明。无论是个人用户还是企业用户都要对数据拥有更多的控制。也就是说用户要拥有更多的云计算服务知情权,这样才能做出有效的选择。

  从行业的角度看,云计算服务商应该采用非常完整的安全措施和安全流程来保护用户保存在云平台上的数据。制定一些相关的第三方认证是一个比较可行的方法,这样用户在选择服务的时候也可以通过这些指标来进行横向对比。

  最后一个是用户安全意识的培育问题。虽然有各种技术手段,甚至有各种法规来保护,但最终数据的安全与否在很大程度上是掌控在用户手中的。这就像汽车中的安全带。国家可以通过法规来强制汽车厂商要在汽车上配备安全带,甚至在交通法规中还规定司机需要系上安全带,但是最终的决定权还是在用户手里。

  1.9.4 新的数据主权挑战

  同公共政策发展一样重要的一件事情是当数据从桌面PC 和服务器流动到云计算平台的时候该如何处理。在一个互联的世界中,数据可以非常方便地从一个平台流动到另外一个平台,从一个服务商流动到另外一个服务商,甚至是跨国界的流动。假设A国的用户使用了B国云计算服务商提供的服务,但是数据却保存在C国的数据中心,如果在这种情况下出现法律纠纷,那就会出现一个非常关键和现实的问题,即我们该依据哪个国家的法律呢?

  互联网本身在发展的过程中受到了很多政策照顾,但是人们现在倾向于认为对互联网上的数据和信息需要进行监管。无论是从国家安全还是从法律上保护个人隐私的需要出发,信息的监管都是非常重要的。云计算中的一个挑战就是如何在国家层面实施这些保护政策,但是又不会影响在国际上的商业机会和合作。

  一种解决方法是通过法律框架在国家之间推动自由贸易。在20 世纪,全球经济通过国际贸易得到了很大的提升。国际贸易是指不同国家和地区之间的商品和劳务的交换活动。在20 世纪我们可以允许货物和服务的交换,而21 世纪时我们需要允许数据以同样的方式来交换。如果没有相对自由的信息流动,那么云计算所能带来的大部分好处都将无法充分实现。

  因为不同的国家都可能会声称对数据拥有司法权或者访问权,这会让云计算服务提供商陷入类似第22 条军规的处境。要实现数据的流通,就需要调整一些与信息存储和流动相关的国家法律。与制定传统法律比较大的区别是我们在做这些调整的时候,需要与国际上进行统一协调,无论是通过双边的贸易协定还是多边的区域性或全球性的贸易协定。我们可以通过多种方式来实现这一目标,但关键是需要开始用全球化的视野来认真对待信息生态系统的构建,只有这样才能充分发挥云计算服务对经济带来的各种好处。

  1.9.5 新的立法挑战

  在信息时代,数据就是数字经济的流通货币。数字信息在当今商业领域和政府事务中扮演了一个关键的角色。从电子邮件、社交网络到互联网搜索,数据已成为我们每天生活工作的基础。正是因为数据的重要性,所以全球各国的政策制定者都在寻求如何在信息时代规范数据保障的法律。一个比较棘手的问题是要在保护数据的同时更为有效地共享数据。这个问题随着云计算时代的到来而变得更为明显和紧迫。云计算中的应用和服务非常依赖于一个可预测的和安全的信息生态系统。

  在过去的20 年中,我们已经看到许多公共政策都疲于应付由于技术创新带来的各种问题。现在云计算还处于比较初级的阶段,这给了我们一个很好的重新评估和修正我们政策的机会。对于很多在模拟时代建立的法律法规而言,云计算的到来给它们提出了许多挑战。这些相关的政策因素从网络访问、安全到计算机犯罪、隐私和数据管控,甚至是知识产权的保护和言论自由等,都成为政府、企业和个人需要面对的挑战。这里的许多问题都不是云计算特有的问题,只是由于数据处理和存储方式的变化,它们在云计算环境下变得更为突出。正是由于云计算带来的这些机遇和挑战,我们更需要多方合作来推进相关政策。

  首先我们需要能够推动云计算服务访问的技术政策,比如高速网络,包括光纤和无线网络。又比如一些能够保证平台和应用互操作的技术标准和规范,从而保障数据的可移植性。另外,我们需要通过技术手段、立法、在线安全教育宣传等多种手段,建立起云计算在用户心目中的信心。

  我们已经看到好的技术政策可以帮助推进信息产业的发展,并让大众受益。对于一个以数据为新流通货币的时代,过时的一些政策会很容易让这一货币贬值,从而限制其在不同国家之间的有效流通。在现在这个创新的时代,政府同样需要国际合作,通过创新的方式来应对云计算带来的数据主权方面的司法挑战。另外,已有的一些法律框架对于存储在云平台上的数据的保护没有像保存在用户自己计算机中的数据那样明确,因此需要对已有的一些法律法规做出与云计算技术相适应的修订。比如在美国,针对用户使用计算机相关的安全和隐私问题有《电子通信保密法》和《计算机欺诈和滥用法》,但是这两个法案分别是在1984 和1986 年通过的,在那个年代甚至连互联网都不存在。

  1.9.6 新的标准挑战

  《史记·秦始皇本纪》:“一法度衡石丈尺,车同轨,书同文字。”所以有人说秦始皇最伟大的成就不是修建了长城,而是统一了文字和度量衡。也有人说一流企业定标准,二流企业做品牌,三流企业卖技术,四流企业做产品。标准化的重要性由此可见一斑。实际上我们在日常生活中已经可以感受到标准化带来的一些好处和非标准化带来的一些问题。比如,由于USB 接口标准的统一,我们可以把不同的外设方便地与计算机相连接。反之,由于没有手机充电器的统一标准,尽管可能在家里已有许多充电器了,但是在买新手机的时候还是需要配置一个新的充电器。

  由于信息技术互联互通的要求和技术之间耦合等特点,标准化的作用在这个领域显得尤为突出。随着云计算平台的发展,人们会通过各种不同的终端来使用其服务。无论是个人计算机、手机、平板电脑,甚至是电视机等,都需要通过网络连接到云计算平台上来。这些不同的终端设备都需要与云计算平台交换和共享数据,一个最为基本的要求是云计算平台提供统一的接口来实现服务接入。在现实世界中我们还会有不同的云计算平台提供不同的服务,这些云平台之间也需要实现互联互通。因此,对于云计算,人们不仅需要安全的服务,同时也需要一个开放的云计算环境。

  目前,由于云计算出现时间还不长,因此相应的行业标准也还没有建立,而且不同的云计算服务提供商提供的服务内容也不尽相同。建立云计算标准对于云计算行业的重要性主要表现如下。

  (1)可以方便用户进行数据和应用的迁移,从而使得用户不会锁定在某一家特定服务提供商的平台上。

  (2)可以为不同云计算服务提供商提供一个相对公平的竞争环境。

  (3)可以使得不同的终端设备方便地接入到云计算服务平台。

  (4)可以让用户有比较不同云计算服务质量的一些依据。

  (5)可以推动云生态系统的建立。

  现在,虽然对云计算的定义还有些争论,但是国际上已经有几十个标准化组织在开始针对云计算做一些标准化工作。这些标准化组织基本可以分为三大类。

  (1 )传统信息技术标准化组织,如ISO/IEC 、分布式管理任务组(DMTF,Distributed Management Task Force )等。

  (2)针对云计算新成立的组织,如企业云买方理事会(Enterprise Cloud Buyers Council )、云计算安全联盟(CSA,Cloud Security Alliance )等。

  (3)电信领域的标准化组织,如ITU 成立的一个新的云计算专项工作组(Focus Group Cloud )等。

  国内关于云计算的推广和标准工作也已展开。2008 年11 月,中国电子学会邀请工业和信息化部、国内外产业界、高校和科研机构等单位的领导和专家共同研讨云计算的相关技术发展趋势和应用,并同时成立了云计算专家委员会。这个专家委员会的重要职责之一就是根据云计算技术发展,组织、制定和完善云计算相关的技术和产业规范。

  云计算标准的建立对构建整个云计算生态系统是非常重要的。但是,在推进云计算标准化过程中,同时也需要注意下面几个问题。

  (1)把握好标准化的推进节奏。

  我们可以看出云计算的发展还处于初级阶段,相关的技术还处在不断变化和发展过程中。因此,过快地推进标准化的过程会导致标准与实际技术的脱节,从而导致制定的标准形同虚设。

  (2)把握好标准化的程度。

  过度的标准不仅不能促进创新,反而会起到相反的效果。如果标准化规定内容过于详细,那么企业的创新范围就会受到很大的限制。

  (3)注意不同标准之间的衔接问题。

  现在已经有太多的云计算相关的标准组织,每个组织都会从自己的角度推出相关的标准。如果标准之间的差异比较大,那么云计算服务商在构建平台的时候就会觉得无所适从。因此,不同的标准组织在制定标准的时候需要相互之间协调和沟通,而且还要充分考虑到与已有标准的衔接,并最终通过市场来选择真正适合云计算产业发展的标准。

  云计算领域充斥着各式各样震耳欲聋的宣传声,每家供应商都在不厌其烦地阐述他们的云战略和方案。虽然众多的云计算服务提供商把云计算描述得很美好,但实际上云计算方案的成熟需要一个过程,而企业云计算的应用也是一个逐渐发展的过程。云计算作为一个新的概念受到追捧是可以理解的,但是企业在面对这样一个新生事物时要把握一点,那就是要从自身需求和实际情况出发而不是人云亦云。本章将主要讨论企业在面对云计算挑战时如何及时调整自己的IT 战略,制定出务实的云计算发展路线。

  2.1 CIO看云计算

  云计算作为一种新生事物在广大媒体、供应商和用户需求等的推动下已广为人知。云计算对企业IT 的影响已经开始显现,我们认为云计算对整个IT 行业的影响或许将超过电子商务。著名的IT 研究与顾问咨询公司Gartner 就在一份榜单中把云计算列为了2010 年十大优先考虑技术之首,而且该榜单中还有多个与云计算相关的技术,如图2.1 所示。

  图2.1 2010年十大战略技术

  Gartner 认为,到2012 年,80% 的财富1000 强企业将采用某种形式的云计算服务,而20% 企业将不再拥有自己的IT 资产。因此,现在已经到了企业该认真考虑如何应对云计算的时候了。事实上,许多企业也已经在进行或讨论向云计算转变,从云计算概念的认知,到云计算服务的评估,以及一些云计算的概念验证和试验性项目的开展等。埃森哲卓越绩效研究院和中国电子学会云计算专家委员会通过对许多中国企业高级经理人、IT 高管和云计算专家进行访谈,对比了中国与其他主要国家的大型企业在云计算实践、目标和顾虑方面的异同,而后在第二届中国云计算大会上发布了《中国云计算发展的务实之路》报告。该研究报告详细阐述了中国云计算先行者对待云计算的态度和方法:保持谨慎、关注结果。调查显示,88 %的受访中国企业表示将于2012 年开始使用、尝试或试验某种形式的云计算。目前及未来的两年中,这些企业将以试验软件即服务(SaaS )和其他公有云服务为主,并且更积极地使用在企业内部运营的私有云。

  2.1.1

  云计算对企业IT的影响

  1. CIO面临的问题

  作为企业IT 部门的负责人,随着IT 在公司业务中重要性的提升,CIO 现在正面临一系列的挑战。首先,CIO 需要有能力利用技术来推动公司的创新。CIO 需要了解公司的计划和目标,并且引进能够实现这些业务目标的IT 服务。这显然不是为了IT 而实现的IT ,而是为公司利益而实现的IT 。通过IT 和业务的结合来最大化公司资源利用以及最大程度地提高公司竞争能力。为了实现企业需要的创新目标,今天的CIO 必须增加基础设施的灵活性和效率以适应业务的变化,并且给IT 新项目提供基础。

  其次,CIO 必须是一个精明的价值创造者,有能力从现有的公司财产中产出或者提高利润。这也许意味着要通过新方式来分析企业数据,以提供新的商务智能来提升企业决策;也可能意味着改进IT 部门对业务的整体理解,以引进新技术推动业务向前发展。CIO 创造出来的价值不能给企业带来额外的费用支出。在现在的经济环境下,CIO 必须节约,并且对内部成本进行管理,以节省资金进行创新并创造价值。基础设施的标准化和集成化可以让成本降到最低。

  最后,今天的CIO 要成为企业其他部门高管们真正的合作伙伴。CIO 工作的一部分就是倾听其他部门领导的意见,并与他们进行协作,共同提高公司业务的竞争力。执行云计算变革方案通常需要改变企业文化,如果与其他部门领导有很好的关系,那么将有利于推动企业的文化变化。另外,现在的CIO 还得关注内部IT 部门,激励整个部门进行最好的革新,提供最好的IT 服务,同时还要激励IT 员工提高自身的业务敏锐性。

  我们可以看到CIO 以及IT 部门面临的与日俱增的压力。IT 部门没有相应的革新费用,但是却必须推动业务变革。这会导致增加整个IT 部门的运营成本,也进一步削减了CIO 获得更多自由资金进行新技术发展的能力。

  2. 对企业IT部门的影响

  云计算将对企业的IT 部门带来非常大的改变,它能给公司提供巨大的投资回报,是CIO 降低成本和业务复杂性以及创造业务价值的首选策略。云计算可以帮助IT 部门降低已有应用和IT 系统本身的运维成本,并能够有更多精力投入到新应用开发和IT 战略部署上面。成功的云计算服务可以在以下几个方面对IT 部门产生推动作用。

  降低IT 服务成本。

  提升IT 服务质量。

  推动业务创新。

  加快市场响应速度。

  云计算通过便宜的、基于标准的硬件设备就可以实现企业所需要的IT 基础设施要求,而这些设备通过用户简单的操作就能组合在一起工作。比如,无论用户需要临时存储还是高性能的专门存储,存储云平台都能满足这个要求。如果用户需要计算能力,可以通过云平台快速部署一些基于虚拟化的服务器来满足处理需求,然后当用户的计算量下降的时候再释放这些服务器。即使用户需要安全服务来处理敏感数据,也可以通过企业自己构建的云计算平台来满足高安全和高度控制的需求。因此,成功地采用云计算可以让IT 部门在降低成本的同时提升服务质量。

  但是,云计算对IT 部门的影响并不仅仅停留在这些方面。从长远来看,云计算将对IT 部门的功能和职责提出新的要求。随着服务器虚拟化、桌面虚拟化等技术以及云计算服务在企业中的大量应用,企业将朝着削减IT 硬件资产的方向发展。虽然对计算硬件的需求,无论是数据中心还是在员工的桌面都不会完全消失,但是云计算显然会推动企业减少所拥有IT 资产的趋势。通过利用公有云服务,部分企业甚至除了简单的桌面之外将有可能不再需要其他IT 资产。

  如果企业将基础设施的所有权转移到第三方,那么在整个IT 行业的每一层面都将有重大的变化。企业IT 部门将不再需要运营和管理大量的基础设施,因此企业的IT 预算将缩水或分配给更富有战略意义的项目。企业中的IT 人员将被裁员或重新培训以适应新的岗位需求,而硬件的销售方式和渠道也将发生根本性的变化以符合新的需求。企业IT 部门的角色将随着云计算的应用而发生下面这些变化。

  首先是决策重于执行。由于基础设施效率和自动化程度的提高,或者通过采用第三方的云计算服务,IT 部门可以将主要精力用在IT 的战略规划和预算控制上,并帮助业务部门分析、提炼IT 需求。这意味着,公司的IT 部门正在从以具体执行为主的角色提升到辅助决策和协调管理层面。在云计算模式下,IT 人员有更多的精力做一些与业务相关的规划和部署,起到对业务的引导、决策作用。这显然比传统模式下的IT 技术支持要提升了一个服务层次。

  其次是需要把握市场和业务。IT 部门从被动执行上升到了辅助决策,更像一个管理部门。但是地位的上升也意味着责任的加大。一些IT 服务可以通过第三方云计算服务提供,但是责任不能外包,还需要IT 部门来管理和控制。如果说以前的IT 部门主要从事技术支持工作,那么现在其将对公司的决策和未来发展产生更大的影响。CIO 今后的任务不只是IT 管理,而是IT 如何配合业务,以增加它们的价值和效率。IT 部门从业人员的地位自然会慢慢改变,他们的职业生涯也会受到很大影响。企业的IT 和业务部门应该共同探讨业务发展,分析IT 需求和对应策略,只有这样才能得出相对完善的解决方案,并最终加以贯彻。最后,由于不是所有资源都由自己掌握,所以IT 部门需要有更强的管理能力和风险控制能力。

  2.1.2 从SOA到云计算

  在计算的早期,应用程序往往被构建成一个庞大的、内部错综复杂而相互之间又紧密集成的整体。这种方式不仅难以构建大型应用,而且维护和升级都非常困难。自20 世纪80 年代以来,软件行业已逐渐采用面向对象的方式来构建应用程序。通过面向对象的方法,可以更方便地把实际问题中涉及的对象与计算机中的对象建立关系。在这种开发方式中,应用程序往往被分解成不同的组件“分而治之”。如果组件划分得当,应用程序的可维护性和可重用性可以得到很大提升。然而,这种面向对象的方式在对象之间或者组件之间还是有比较大的耦合度,而且更为重要的是随着互联网的出现,分布式应用变得更为普遍,而面向对象的方式并不适合基于网络的调用。为了实现软件组件之间的独立性,让软件更符合互联网的运行环境,2000 年前后Web 服务开始出现。服务是软件功能的抽象,通过Web 服务一方面可以标准化软件功能接口(如WSDL 或REST ),另一方面通过抽象把具体实现屏蔽掉,使得应用服务的调用与平台和地点无关,从而可实现基于互联网的分布调用。当越来越多的服务被提供出来之后,就开始逐渐涉及服务的注册、调用、组合和管理等一系列问题,这就需要从架构上进行设计和考虑了,于是就出现了面向服务的架构(SOA )方式。

  业务与IT 实现有一个差异,而架构是沟通两者的一个桥梁。SOA 的出现为IT 人员与业务人员进行沟通提供了一个良好的机会和基础。在这个框架的支持下,软件系统的开发将从业务流程分析开始,使用组件化业务建模的方法识别和分析各种业务模型,并将各种最佳实践融入其中。在这个松耦合的框架中有可能有一条或几条企业服务总线(ESB, Enterprise Service Bus),所有的服务都通过ESB 提供,甚至包括一些管理协议也通过XML 格式的消息在ESB 上传输。SOA 的关键是让IT 部门从面向服务的角度考虑IT 对业务的支撑,它是一个业务驱动的IT 架构,可以把业务集成为相互连接的、可重复的任务或服务,从而增加业务流程的灵活性。

  SOA 还可让IT 部门学会从服务的角度考虑技术的应用。我们不用关心服务具体运行在什么平台之上,从理论上讲也不用关心服务实例的扩展性如何,而只需要关心服务的质量(QoS )和其他服务水平协议(SLA, Service Level Agreement )所限定的内容是否满足。虽然在云计算开始出现的时候有人声称SOA 已经死了,但是我们认为就像我们现在很少谈论面向对象一样,实际上SOA 已经成为我们设计企业应用架构的默认标准。

  SOA 关注在业务与IT 的结合之上,而云计算关注在让IT 作为一种服务来供应的模式,因此SOA 和云计算可以非常好地结合在一起。SOA 通过应用的组合和服务流程编排来实现企业的灵活性。这些服务可以是企业内部的,也可以是第三方通过网络提供的。SOA 也能通过多层服务架构的方式屏蔽遗留IT 系统的具体实现,从而为IT 服务提供灵活性。云计算为企业提供的是另一个层面的灵活性。企业可以通过云计算服务快速部署业务应用,而不需要事先花大量精力在IT 基础架构服务上。如果采用公有云服务的话,这些业务应用的部署还可以变得更为便捷和快速。所以,SOA 和云计算可以从不同角度为企业提供灵活性。

  图2.2  SOA和云计算提供的双重灵活性

  在SOA 中定义的服务最好是被部署在云平台上,这样可以保证服务的可用性和可扩展性。以云计算作为托管平台的SOA 服务可以更好地支持高峰期的访问要求以及多个不同类型客户的SLA 要求。云计算平台能够从资源使用的角度保证应用程序的灵活性,但是要让应用的构建和功能保持灵活性,需要采用面向服务的方式来构建我们的应用,也就是说在云计算的环境下我们同样需要SOA 的思想来设计应用。如果我们事先构建了一个服务池,那么就可以通过某种服务编排的方式来创建一个新的服务或一个新的组合应用。这种组合构建方式可以给应用的架构带来很大的灵活性。

  在云计算的环境下,可以通过SOA 的设计思想,从问题本身需求出发设计和组合应用的服务,可以利用不同平台上的服务而不再局限于企业内部。在设计服务的时候,一个重要的设计目标就是让服务变成与平台或者位置无关。新的服务或应用可以组合在企业内部的服务以及部署在像Windows Azure 云平台上的服务,如图2.3 所示。

  图2.3 跨边界的服务组合

  2.1.3 云计算服务的管理

  云计算服务在提升企业服务效率的同时也给企业的IT 服务管理带来了一些新的挑战,尤其是当企业同时使用公有云服务和私有云服务的时候。当企业需要把公有云服务与自己的IT 服务进行集成的时候,当企业需要把公有云服务的管理纳入到企业自身的IT 管理体系的时候,这些工作都会给企业带来新的挑战。

  从云计算服务提供商的角度来说,他们必须提供一些可以帮助客户管理其服务的管理手段。无论这个云计算服务提供商提供哪种类型的服务,他们都需要有相应的配套管理服务。

  图2.4 云计算服务的管理

  企业很可能有一个复杂的IT 环境,可能有传统的数据中心,有私有云平台,另外再加上一些公有云服务。企业可能使用了传统的物理资源,但同时也使用了基于虚拟化的资源,所有这一切都让IT 的管理变得更为复杂。

  1. 服务的监控和测量

  企业需要能够看到云计算服务的具体情况,因此服务监控需要集成到企业的统一服务管理平台中去。企业需要能够做到以下几点。

  (1)能够统一管理企业部署在内部的应用和企业所用的公有云应用和服务。一个比较理想的状况是能够在同一个管理仪表盘上同时展示所有这些应用和服务的状况。

  (2)无论是内部应用还是外部云计算服务都有一个服务水平协议,从而能够有一个全面的企业IT 服务了解。

  2. 服务目录

  管理云计算的一个要素是要确保有一种方式来管理IT 资产和活动。这就需要企业采用ITIL(Information Technology Infrastructure Library )服务

  设计中的最佳实践即制定服务目录。这个服务目录中有所有企业内外可用的服务。一个典型的服务目录中包含的条目有服务的定义、服务水平、服务的用户和执行服务需要的组件等。显然,一个服务目录是企业在一个跨数据中心、公有云和私有云等复杂环境中管理服务所必需的。这个服务目录可以帮助企业有一个完整的服务视图。

  3. 配置管理数据库

  要理解服务在不同环境中是如何被管理的,企业需要有一个变更记录。这正是配置管理数据库(CMDB,Configuration Management Database )的作用。比如,许多云计算环境大量地使用了虚拟化的技术来提高效率。虚拟化通过抽象的方式增加了资源的流动性,但是同时它也让跟踪这些资源的变化变得更为困难。然而,对于云计算平台管理来说必须记录这些资产的情况,跟踪它们的变化,知道它们的状态。

  2.2 如何选择云计算

  生存还是死亡,这是一个问题。——莎士比亚《哈姆雷特》

  2.2.1 私有还是公有

  在当今这个分工越来越细的时代,企业对于如何运维和使用IT 服务的选择变得更为多样化。对于一般企业来说是选择自己构建还是采用第三方服务,同样是一个问题。

  对于一般的企业来说,最终需要的是能够帮助和促进业务的应用,而不是底层IT 基础设施。但是IT 基础设施是支撑这些应用的基础,因此企业既需要IT 基础设施作为底层平台,又需要有相应的应用。在传统方式下,对于应用来说企业可以选择市场上的套装软件,比如许多企业采用了市场上的ERP 和CRM 等套装软件。另外,如果企业的需求相对特殊,或者出于其他考虑企业还可以根据需要选择自己开发应用程序。对于应用的运行环境,企业可以选择自己构建数据中心来运维,也可以选择第三方托管平台或者云计算平台来运行应用程序。云计算平台是传统托管平台的一个延伸和发展,提供了比托管平台更高的服务自动化程度。实际上,我们可以把这些应用和服务的实现方式看成是不同程度的外包。无论是应用还是底层的运行平台,我们都可以从自己构建和采用第三方服务两个维度来考察,图2.5 这个坐标图从两个维度展示了应用的构建和运维方式。

  图2.5 服务的外包程度

  显然,在该图中,越靠近左下角,企业对应用的控制能力越强;而越靠近右上角,则相对具有更好的规模效应。企业是选择自己构建和运维IT 服务,还是直接采用第三方的公有云服务,这与企业所从事的行业、企业规模和应用类型等多种因素相关。下面我们从几个不同的方面来讨论一下。

  1. IT设施的位置

  当企业自己构建一个私有云平台的时候,IT 基础设施是自己的,一般位于企业内部。而采用公有云平台的时候,IT 基础设施是位于一个第三方的数据中心。这里有一个例外,那就是现在有一些服务提供商提出的虚拟私有云(VPC, Virtual Private Cloud )的概念,它指的是在第三方数据中心内部通过技术手段隔离出来的一个专用计算环境,并通过安全通道与企业相连接。

  2. 基础设施的差异性

  对于许多大型企业,由于经过了多年的IT 建设和技术演变,他们的IT 基础设施往往采用了不同的技术和平台,也就是说,这些企业采用的是异构平台环境。但是,对于目前大部分公有云服务提供商来说,他们的平台往往是通过廉价和标准的硬件平台来构建的。这些标准化方式构建的平台能够以比较好的性价比满足大部分用户的需求。另外,在服务的提供方面,公有云服务提供商往往提供最为大众化的、需求量最为广泛和集中的服务。因此,对于公有云服务来说,其服务和环境往往是同构的,这与企业自建的IT 环境不一样。

  3. 商务模式

  企业如果选择自己构建IT 系统,那么显然需要进行一次性的大量投资来采购软、硬件设备,甚至包括数据中心的基础建设等。在企业的财务报表中,这体现为一个比较大的固定成本。但是,如果企业采用第三方提供的公有云服务,那么根据目前云计算服务的收费方式,企业可以选择按月服务费的方式或者按IT 资源使用量的方式来进行付费。这样,对于企业来说不需要一个大量的前期投入就可以使用IT 服务,其体现为一个持续的运营成本。

  4. 控制程度的不同

  企业自己构建的IT 系统是作为企业资产完全由企业自己拥有,并由企业自己来运维。虽然企业需要自己的IT 运维团队,但好处是企业可以独立控制IT 系统,并根据实际需要来进行改造和客户化。而对于公有云服务,企业实际上是采用租用服务的方式,好处是不需要自己来管理基础平台服务,但是对于企业来说这同时也降低了其定制化的能力,因为所有的基础设施,包括服务器、网络和存储等,以及上面的软件平台都是由服务提供商来进行维护和管理。

  图2.6 公有还是私有

  2.2.2 不同企业对云计算的策略

  由于不同的企业所从事的行业性质、企业规模和文化等都有差异,因此他们对于成本和安全性的敏感度是不同的。比如,大型企业对安全的敏感度要高于小企业,而小企业对成本的敏感度又要高于大型企业。这些差异无可避免地会影响到企业采用云计算的策略和方法。大型企业一般已经在IT 建设上有了大量的投资,因此从保护投资的角度出发这些企业还将继续维护现有的计算环境,只是他们要根据云计算的一些理念和技术对现有环境进行改造。相对于小企业来说,这些大型企业往往也拥有自己的技术团队,对IT 服务的定制化要求和能力也会更高。

  小型企业不太可能具备必要的技能来构建一个云计算平台,相反他们将会更多地考虑一些公有云的服务。这些公有云服务提供商可能有特定行业的技能,相比于小型企业掌握的技能,他们掌握更高的云服务的技能,并利用规模化效应保持尽可能低的成本。公有云服务对小企业来说更是一个机遇,因为它降低了高质量IT 服务的门槛,并可以让小企业不受IT 服务的限制快速进入市场。从IT 服务水平的角度,公有云让小企业与大企业站在同一个水平线上成为了一种可能。

  2.2.3 发展路线

  从长远的角度来看,公有云将在企业IT 服务中占据重要角色。但是,在相当长的一段时间内,企业将采用混合型的云计算服务。大型企业将继续让IT 部门管理和部署内部IT 资源,其中的一些就是私有云。IT 部门也将担负起IT 服务采购的责任,确定何时利用外部服务提供商,何时进行内部部署,以及何时利用两者实现特定的服务。也就是说,大型企业云计算的发展更多会基于“先私后公”,并逐步达到公有云服务为主的阶段。

  私有云服务将是未来公有云服务的基石,随着时间的推移,私有云和公共云的资源将被混合或者交错利用,并且公有云服务所占的比例会越来越大。私有云计算方面的适当投资将方便企业未来逐步使用公有云服务。私有云计算中的许多投资可为企业部署公有云做准备。这些投资不仅仅是技术上的变化,也是流程、业务接口,甚至是文化上的变化。企业在进行私有云建设的时候,可以先从相对简单的IaaS 类型平台开始入手,然后逐步过渡到相对复杂的PaaS 类型云计算平台。

  企业需要认识到,有些IT 服务是注定要采取云计算模式的,而其他一些IT 服务则要与已有业务进行较多的整合与密切互动。一旦确定某个特定服务需要通过云计算进行,那么就需要做出决定,是等待比较成熟的云服务出现还是尽早发展私有云服务,并判断哪种对业务发展更有帮助。对于一些需要业务紧密整合、定制化和多样化的IT 服务,应作为私有云建设的重点。而另外一些侧重在独立、标准化接口和非定制化的IT 服务,则可以作为潜在的公有云服务候选者。

  云计算的发展方向目前已经比较明确,企业针对云计算的战略制定宜早不宜迟。这将帮助企业更早地做好云计算准备并更好地实施云计算策略,同时也能帮助企业更为顺利地过渡到将来的公有云服务。

  2.2.4 云计算服务商的选择

  既然云计算是IT 服务的发展方向,那么其中必然孕育着大量商机。Gartner 预测云计算服务的市场在2013 年将超过1500 亿美元。不同的云计算服务商纷沓而来,他们有由传统IT 厂商演变而来的,也有新兴的初创企业,甚至有从在线电子商务公司转变而来的。他们提供不同的服务类型,服务质量也良莠不齐。企业在选择这些云计算服务的时候要结合自身需求,从不同的角度进行考察。

  虽然说云计算能给企业带来许多好处,但是企业在面对云计算这个相对比较新的IT 服务模式的时候还是有许多担心。由于私有云的服务模式与传统IT 服务方式没有本质的区别,因此这些担心主要集中在公有云服务上面。企业对云计算服务商的服务透明度问题,比如到底有哪些功能必须包含在安全因素里,谁可以访问数据,使用了什么样的等级加密,我们的数据在哪里,我们的物理机又在哪里,服务水平协议到底是怎样规定的,技术支持服务是7×24 还是5×8等。著名的市场调研机构IDC 曾经在2009 年9 月做过企业对云计算的担心的调研,图2.7 所示是企业对采用公有云服务的主要担心。

  图2.7 企业对公有云服务的担心

  关于私有云解决方案提供商的选择,我们还是可以遵循传统IT 解决方案的选择方式来考察各个方案,需要特别注意的一点是这些私有云解决方案提供商自身在云计算服务上有多少实践经验,是不是只是把原来的方案包装一下而已。下面我们主要从如何选择公有云的角度来讨论服务供应商选择时的注意点。

  1. 服务的类别

  云计算的三大类服务是各不相同的,企业在选择云计算的时候要注意区别它们之间的差异。如果需要对服务有更多的控制,那么企业应该选取IaaS 类服务。但是,更多的控制同时对企业IT 的技术要求也更高,因为IaaS 服务底层的硬件平台由服务商管理,但是其上的平台一般需要客户自己来管理。如果需要把尽可能多的IT 服务外包出去,那么企业应该选择最上层的SaaS 类服务。当然,如果选这类服务,企业对服务环境的控制力就非常有限,而且也不是所有应用需求都有相应的SaaS 服务。

  2. 计费情况

  提供商业云计算服务的供应商会根据不同的情况来进行收费,比如有多少使用用户、具体使用了多少计算资源、使用了什么样的服务等。与所有购买的服务一样,企业需要能够看清所有服务的计费情况,尤其是在所使用的云计算服务能够动态扩展资源的情况下。大部分云计算服务供应商都会提供一个应用或接口为用户提供资源计费的具体情况。如果服务提供商不能提供类似的信息,那么企业选择这样的供应商就很可能会有问题。当然,另外一个与计费直接相关的问题就是服务的收费情况,企业需要做两方面的比较。一个是自己提供服务的成本与一个服务周期内预计服务费用的比较,另外一个就是不同云计算服务商之间收费的横向比较。

  3. 关于标准遵循和认证问题

  云计算服务的标准遵循会从几个方面影响客户。如果云计算服务支持标准,那么用户就可以通过标准的方式来访问。比如微软Windows Azure 平台的存储访问是基于标准的REST 方式,那么无论用户使用什么语言在什么平台上,都可以基于REST 来访问这些存储。另外一方面,云计算平台对标准的支持可以让用户有选择的余地,而不至于完全锁定在一个特定的云计算服务上面。当然,不同层次的云计算服务对用户的锁定程度是不一样的,一般来说PaaS 类服务比IaaS 类服务更具有锁定性,而SaaS 类服务比PaaS 类服务更具有锁定性,但是用户至少需要有能够把数据从云计算服务平台上迁移或备份出来的能力。

  云计算服务商所获得的认证也是一个非常重要的考察指标,认证是第三方对于服务商的一种认可和肯定。有一些认证与IT 系统的运维和安全相关,比如ISO/IEC 27001:2500 。有一些认证与合规性相关,比如在美国有一个SAS 70 (Statement on Auditing Standards ),审计准则说明的认证。SAS 70 认证是一个关于服务商的内部控制和财务相关的认证,因此对于云计算服务商而言这个认证尤为重要。SAS 70 认证由美国注册公共会计师协会创建,这种认证主要包含两个级别。一种是第一类认证,通过企业自己搜集内部信息,向监管机构证明所做的所有行为、控制目标、流程符合法律法规的监管。第二类认证更加严格,是在第一类认证的基础上,增加了服务监管人对于这个企业审核的意见。有了这两个认证的企业基本上可以保证在法律法规以及风险管理方面符合企业对于云计算安全的考虑。

  4. 安全性问题

  云计算放大了IT 的挑战,原来放在自己服务器内部的一些服务资料,现在要放到云当中,而云当中的应用可能在任何的地方。如何保证用户登录的安全,这个应用能否从某一个点迁移到另外一个点,到底什么人能够看到什么样的信息,看到这些信息的资料多少到底是由什么决定的,所有这些问题都是企业在考虑云计算安全时需要考虑的因素。

  从前面IDC 的调研可以看到安全是企业采纳云计算时最担心的地方,但是如果在选择云计算服务的时候能够特别关注供应商在安全方面的具体实现情况,并且采用一些安全方面的最佳实践,那么将可以提高企业使用云计算服务的安全性。公司在使用云计算服务之前应当进行全面的风险评估,其中涉及数据保护、数据完整性、数据恢复和合规性。我们建议企业在评估云计算安全的时候采用类似于金融服务行业的风险管控模式。云计算的风险管控要从安全性、隐私、合规性以及服务的可持续性等方面综合考虑。

  图2.8 云计算的风险管控内容

  企业需要查看云计算服务商有没有相关的安全认证,相关的安全架构、流程和风险管控的方法等具体情况。另外,根据一些国家监管的规定,企业可能还需要了解服务商物理数据中心的位置,以满足企业对数据存储地点的要求。

  5. 与企业已有系统的集成问题

  企业在构建信息系统的时候要尽量避免形成“信息孤岛”的情况。无论是在数据层次、应用层次或者是在界面层次,应用和应用之间都要能够比较方便地集成,从而让数据能够方便地流转,最终用户也能有良好的用户体验。这就需要企业在选择公有云服务的时候,要考虑目标公有云服务与自己企业内部的系统如何进行集成。这种集成可以通过多种方式来实现。比如数据交换是一个比较基本的要求,最低的一个要求是可以借助手工操作的方式来进行。当然理想的目标是通过自动化的方式来实现各种集成方式。企业可以从两个方面来考察云计算服务的集成能力。一个是云计算服务是否提供与企业数据中心之间的安全传输通道来进行集成通信。比如,微软的Windows Azure 平台和亚马逊的AWS 就提供它们的云平台数据中心与企业数据中心之间基于IPSec 的安全通道。

  图2.9 安全通道示意

  另外一方面是看云计算服务供应商有没有提供一个开放的管理接口或

  管理工具,以便企业可以把云计算服务集成到自身数据中心中的应用管理中去。微软的Windows Azure 平台提供了基于REST 的服务管理的编程接口(Service Management API ),而且微软还更进一步扩展了其基于System Center 的系统管理工具,让企业IT 管理人员可以在一个管理界面上同时管理其部署在企业内部的应用和部署在Windows Azure 平台上的应用。

  2.2.5 不适合云计算的一些场景

  虽然说云计算可以从许多方面给企业带来好处,但显然没有什么是万能的。事情都有两面性,云计算也不例外。在现在的技术条件下,并不是所有应用都适合采用云计算的方式。下面我们讨论一些不适合采用云计算的应用场景,当然这里主要指的是公有云场景。

  1. 安全和合规性

  在目前阶段,安全方面的担心和法规上的限定可能是企业采用云计算的一个最大的担心。在企业自建的环境中,企业对硬件和服务流程有着完全的控制,包括数据中心的位置、谁可以访问和使用这些基础设施、采用什么样的安全流程等。但是如果采用第三方的云计算服务,企业就会面临安全和法规遵循方面的担心。比如有些国家规定存放企业数据的数据中心必须在自己国家内部,而有些国家则规定企业数据不能存放在一些指定国家的数据中心。所以,这就要求企业在选择服务提供商的时候要注意云计算服务提供商的数据中心具体位置是否可选,注意这些服务的使用与国家法规之间是否有冲突等。

  除了国家法律规定外,一些企业还需要遵循相应的行业和上市企业所需要遵循的规定和标准。比如在美国上市的企业要求遵循萨班斯法案(SOX, Sarbanes-Oxley Act ),医疗方面的应用要遵循HIPAA 法案(Health Insurance Portability and Accountability Act )等。云计算服务商是否能够让用户或第三方对其进行审核来验证其安全政策的完备性和有效性也是一个重要的考虑因素。不是所有的云计算服务提供商都能够满足这些法规遵循要求,因此企业在权衡使用云计算服务的时候一定要详细评估这些因素。

  2. 硬件依赖

  如果企业的应用有特殊的硬件要求,那么云计算方案一般就不适合。这种特殊的要求可以分为两类。一类是应用需要特殊的硬件支持,比如需要GPU 支持、特殊的芯片组或加密硬件等。对于这类需要特殊硬件支持的应用,云计算服务提供商不大可能提供支持,就算碰巧有服务商提供,但用户可选的余地也很小,从而减少了讨价还价的余地。另一类是虽然也采用标准的、通用的硬件,但是对硬件的容量和数量等有特殊要求。比如企业的应用需要完全控制它所运行的环境,比如多大的内存、多少处理器内核等。因此,对于这些应用,我们建议采用自建的方式而不是云计算方式。

  3. 与现有应用集成

  无论是流程、应用层或数据层面,如果企业有两个应用需要紧密集成,一般我们建议它们不要分隔得太远。在大部分场景中,这种基于互联网的应用集成会带来一些稳定性、性能等方面的问题。所以,如果企业有一个应用要与自己数据中心中的一个应用紧密集成,那么把这个应用放到云计算平台上就需要进行特别的论证,需要仔细研究这两个应用集成度到底如何,网络的延时是否会影响到服务的使用等。

  4. 实时应用

  云计算具有强大的处理能力,但它们是通过分布在互联网上的不同数据中心来提供服务的。如果企业的应用对响应时间要求不高,比如一般的Web 应用或是批处理应用,那么采用云计算服务完全能够满足性能上的要求。但如果是一些时间要求非常高的应用,比如实时性应用,那么云计算可能就不太适合。因为就算采用CDN 这样的服务,通过互联网传输的网络延时对于实时应用来说也还是显得比较大。

  5. 缺乏需求

  虽然云计算在目前是一个非常流行的词语,我们仍然不建议企业纯粹为了赶时髦而进行云计算项目。这种缺乏需求的项目会给企业带来额外的风险和成本。比如一个遗留的传统应用运行没有什么问题,同时也能在可预见的未来满足需要,那么除非是能够非常清楚改造的必要性,否则一般不建议只是为了云计算而对它进行改造。我们认为企业采纳云计算是一个逐步演进的过程,而不是一夜之间把所有应用都“大跃进”到云计算时代。

  2.3 迎接云计算

  在讨论企业应该如何应对云计算时代到来之前,我们先讨论一下云计算的一个通用参考架构。这样我们可以更为清楚地看到企业应该从哪些方面入手来切入云计算的应用。

  2.3.1

  云计算参考架构

  1. 客户端

  根据之前对云计算的一些讨论,我们可以把我们的参考架构从上到下大致分为四层。

  客户端是最终用户使用云计算服务的途径,主要是目前用户常用的几种终端设备和应用,包括PC 和浏览器、移动终端设备以及电视等。用户在办公、家庭和移动等不同的场景下需要通过不同的方式来使用云计算服务。以前认为浏览器就是一切的观点,在现在的技术条件和用户需求下已经显得过于极端和不合时宜。智能的云计算服务同样需要通过智能的终端设备来提供良好的用户体验。相信自然用户界面将会在终端设备普及,现在人们快速接受的多点触摸方式就是一个非常好的例子。

  2. 软件即服务

  软件即服务这一层可以分为两大类应用服务。一类我们可以称之为水平应用服务,这类服务是一些通用的IT 应用服务,基本上与行业没有密切关系,比如办公自动化、电子邮件和门户应用等。另外一类我们称为垂直应用服务,这类服务是针对每个行业的特定业务而设计,因此每个行业都有各不相同的应用服务。比如政府行业有自己的电子政务、社会保险等应用服务,而石油石化行业有自己的生产执行、过程控制等应用服务。

  3. 平台即服务

  我们知道平台即服务是指把一个完整的应用程序运行平台作为一种服务提供给客户,但是对于不同企业它的实现是不一样的。这里的关键区别在于这个平台要提供什么样的服务给开发人员。对于传统的企业来说,IT 技术更多表现为对业务的支撑,因此这些企业的平台即服务主要抽象的是IT 层面的能力,比如身份认证、服务总线、工作流等。对于那些更加依赖于IT 技术的公司来说,如电信、互联网领域的公司,它们可以把公司业务能力通过平台对外提供服务。比如电信公司在构建公有云平台的时候就可以把电信能力开放作为一个重点。这不仅可以促进电信业务的开展,也可以使其与IT 公司所提供的云计算平台服务有所差异。另外一个业务能力开放的例子就是一些互联网公司,比如一些社交网站就需要开放一些应用层面的编程接口以扩展平台业务并增加平台的黏性。

  4. 基础设施即服务

  基础设施即服务主要是把IT 的底层硬件,包括服务器、存储和网络等通过管理平台对外提供服务。虚拟化技术在这类服务中起到了一个重要的作用。通过抽象的方式,虚拟化技术,包括服务器虚拟化、存储虚拟化和网络虚拟化等,让硬件资源的动态分配成为了可能。由于企业IT 系统的复杂性,以及对应用兼容性和对已有投资的保护等要求,基础设施即服务是目前企业在做私有云建设时的重点。与传统托管服务相比,基础设施即服务能够提供更加灵活的服务方式,更小的资源分配粒度和更动态的资源分配方式。因此,传统的一些主机托管服务商会逐渐向基础设施即服务的方式进行演变。

  开发工具管理和业务支撑

  图2.10 云计算参考架构

  然而企业实现或采用云计算服务的时候,图2.10 所示的三层服务并不一定需要同时提供或实现。比如,企业实现了一个平台即服务类型的服务,其底层肯定是基于一定的IT 基础设施来实现的,而且其中很可能也使用了虚拟化等技术,但是企业并没有对外提供基础设施层的服务,那么企业提供的还是一种平台即服务。当然,企业也可以同时实现三层服务并且都可以对外独立提供服务。

  从服务的提供和消费来说,另外一个重要的组成部分就是服务的管理和业务支撑。这里包括服务水平协议,服务的监控和报表,以及服务计费等内容。由于这些内容与开发工具一样与所有层次服务都有关联,因此我们就把它们纵向放在了参考架构的右侧,如图2.10 所示。

  2.3.2 五项准备工作

  云计算已经为企业应用完全做好准备了吗?还没有。云计算的采用在一些场景中可能还有些问题,不过云计算正在迅速成熟。云计算的概念在新兴企业中非常流行,因为云计算适合他们购买产品的方式并且正在改变我们所知道的IT 产业。

  对于大企业来说“先私后公”是一个能够保护已有投资,并且能够保证业务和技术连续性和平滑过渡的方式。企业在向云计算转变的时候是一个系统工程,它涉及各个方面的影响。云计算对于企业不是一个要与不要的问题,相反它是一个什么时候以及如何开始着手的问题。不同企业会根据自身业务来决定向云计算演变的节奏,但是我们认为企业现在可以马上开始几项准备工作,而这些工作可以帮助企业顺利过渡到云计算的服务方式。

  1. 增加虚拟化的投资和技术储备

  我们知道虚拟化是跟真实相对的一个概念。在计算机领域,虚拟化主要是指把一部分计算机资源抽象或者分离出来。这种抽象和分离可以涉及计算机系统的各个方面,比如服务器硬件、存储、操作系统、网络、应用程序和屏幕展现等。所谓抽象是指把多个分散的资源表示成一个,比如计算机集群、RAID 等就是这样的例子。这种抽象式虚拟化的好处主要就是简化系统。所谓分离就是把资源之间的耦合性降低或者把一个资源分隔成多个使用。现在大家讨论最多的虚拟化一般就是指这种分离式的虚拟化,其体现出来的本质就是解耦。能够进行动态灵活的并且按照业务进行按需资源分配是IT 服务的目标。虚拟化技术的出现让我们向这个目标迈进了一大步。

  云计算是一种把IT 作为服务提供的计算方式,而虚拟化是云计算服务构建的一种核心技术。当然,虚拟化对于不同类型的云计算服务的作用不尽相同,但是对于大部分基础设施即服务的云计算来说,虚拟化是其不可或缺的一种实现技术。如前所述,企业自己构建云计算平台的一种相对简单的方式就是采用基础设施即服务的方式改造现有硬件平台。进行云计算的基础设施改造会涉及数据中心大范围的变更,因此对那些已经有大量投资的企业来说要在短时间内做这样的修改比较困难。但是,鉴于虚拟化在企业私有云构建中的作用,企业需要从现在开始增加对虚拟化的投资,并开始一些虚拟化项目来使用它。

  企业采用虚拟化可以为企业解决或缓解一些非常直接的问题,比如通过服务器的整合来降低数据中心的能耗问题,缓解数据中心的空间增长压力等。无论是在开发测试环境还是在实际的生产环境中,虚拟化技术都可以给企业带来不同的利益。按照微软的基础设施成熟度模型,可以把企业的虚拟化应用分为四个不同的阶段,包括基本阶段、标准化阶段、高级阶段以及最终的动态阶段。当然,这些不同阶段对虚拟化技术的应用复杂度也各不相同,其各自的特点如图2.11 所示。

  图2.11 企业虚拟化应用的不同阶段

  我们可以看一个企业采用虚拟化技术的例子。Kroll Factual Data 是美国的一家金融信息服务公司,他们采用微软的虚拟化解决方案把数据中心的虚拟化程度提高到了85% 。Kroll Factual Data 把数据中心的650 台旧物理服务器整合成22 台新的物理服务器,每台新物理服务器上运行30 个虚拟机。这个虚拟化项目使得这些服务器省电将近90% ,并且让他们能够在几天之内测试和上线一个新的产品。企业对虚拟化技术的应用一方面可以解决企业数据中心目前直接面临的问题,另一方面通过逐步的虚拟化应用可以理解基础设施即服务类型云计算的一些特点并为今后整个数据中心的云计算改造做好准备。

  2. 采用标准化的和可扩展的硬件设备

  基于开放标准的硬件设备在过去十几年取得了长足的进展。以服务器为例,基于x86 体系结构的服务器无论是性能、可靠性等方面都可以与传统高端服务器进行竞争。这些标准的服务器有着良好的性价比,再加上有许多不同的供应商可以选择,因此企业已经越来越多地在采用这些基于x86 的服务器。根据IDC 每个季度的全球服务器市场跟踪信息,我们可以清楚地看到服务器市场的发展趋势。表2.1 所示是不同服务器类型按照服务器数量的市场份额情况。

  表2.1 IDC服务器市场数据

  服务器类型 市场份额(2009年第4季度) 市场份额(2010年第1季度)

  Windows 73.9% 75.3%

  Linux 21.2% 20.8%

  UNIX 4.4% 3.6%

  如果回想一下服务器市场最初的情况,它的发展方向就非常清楚了。现在越来越多的可靠性要求可以通过软件方式来提供,而不像以前完全依赖于硬件层的可靠性从而迫使用户使用专用的服务器硬件。这种通过标准化硬件架构来构建平台的方式在互联网企业中最为普遍,目前规模大一点的互联网企业无一例外都主要采用这种方式构建,而且越来越多的传统企业在逐渐增加它们的应用。

  建议企业采用标准化硬件的另外一个关键原因是目前主流的服务器虚拟化技术主要是基于x86 体系结构的服务器。虽然服务器虚拟化技术是在主机上最先出现,并逐渐应用到小型机上,但是真正大规模普及还是在基于x86 服务器上。我们知道云计算需要构建一个资源池并通过共享的方式来提高资源利用率,一个理想的状况是这些资源池主要基于同构的硬件设备来构建。企业采用标准的硬件设备将有利于将来实现一个大的共享资源池,而不是一个个不兼容的硬件孤岛。

  3. 统一虚拟和硬件环境的管理

  虚拟化的技术的确能够在许多方面为企业带来好处,但是同时它也在某种程度上为企业的资源管理带来了一些挑战。企业部署虚拟化技术之后,底层硬件与上面运行的软件之间的联系就被削弱。采用虚拟化技术可以帮助企业降低物理系统的数量,但是它并不会减少所拥有系统的数量。相反,由于新建一个系统环境的难度和成本大大降低,整个IT 环境中的虚拟系统数量可能会急剧上升。

  如果没有一个良好的管控,虚拟化会给基础设施的管理带来混乱。软硬件之间的联系切断,服务器环境变得更不固定、更复杂。这就是为什么会有IT 管理专家指出如果没有良好的管理,虚拟化带来的便利将被抵消。虚拟化可以优化诸如服务配置和补丁分发等这样的流程,但也同时增加了IT 专业人员可能没有想到的复杂化。比如,以前主要是为操作系统和应用程序打补丁,但是使用虚拟化之后不仅这些工作仍必须进行,而且现在用户还必须对可能存在安全漏洞的虚拟机管理器层打补丁。

  图2.12 在线动态迁移

  让管理工作变得更具挑战的是现在虚拟化中还有一个在线动态迁移的技术(如图2.12 所示)。这种技术让虚拟机可以在正常工作的情况下动态地从一台物理机迁移到另一台物理机。这种迁移可以在人工操作下进行,也可以在事先设定条件下根据运行环境的变化自动进行。因此,要随时定位一台虚拟机具体运行在哪一台物理服务器上变得不是那么容易。所有这些挑战都要求IT 管理人员有一个端到端的管理解决方案。这个管理方案不仅可以管理原来的硬件环境,还可以统一管理虚拟化环境,为管理人员提供一个单一视图,用于显示物理和虚拟IT 基础设施对其所支持服务的影响。这种统一的管理方式能够打通虚拟环境与物理环境的联系,构建端到端服务模型,提供出色的基础设施可视化。一个统一的管理能够帮助企业减少故障排除时间并缩短平均修复用时,能够极大降低IT 成本,同时帮助企业提高IT 服务质量和可预测性。

  4. 优化IT服务流程

  随着IT 技术的进步和商业化分工的细化,我们将要看到的是一种新型的完全互联的,且能够及时响应的“实时企业”。企业内部就像有神经网络系统一样,数据能够通畅流动,并能够在事件发生的第一时间快速做出响应和决策。这是一个非常美好的愿景,但同时也对企业的IT 服务提出了更高的要求。IT 服务流程需要与未来这种“实时企业”的业务特点相匹配。

  实际上现在已经有几个新的技术或服务方式对企业IT 服务流程带来了一些变化(如图2.13 所示)。首先是面向服务架构(SOA )的实施。企业采用SOA 的思想方式来构建IT 系统,会给IT 服务与企业业务之间的结合方式带来一些变化,IT 响应业务变化的能力也会得到提升。其次是虚拟化技术的采用。如果企业采用了虚拟化技术,那么企业提供基础设施资源的流程就会发生变化。我们以服务器虚拟化为例来说明这个问题。传统物理机的提供方式需要每次都进行一个实际服务器设备的采购流程,然后再进行实际部署,到用户可以实际使用这些物理资源的时候一般都需要一个比较长的服务流程。但是如果采用虚拟化方式,用户申请一台虚拟机的流程显然要更为简便。最后一个相关的因素是服务的外包。如果企业采用了一些外包服务,那么也会给企业的服务流程带来很大的变化。企业可以把一些非核心的IT 业务内容外包给第三方,但是企业IT 部门仍是服务的主要战略制定和质量控制方。企业IT 也需要能够相对平滑地把第三方的服务与企业自己的服务进行集成。

  云计算给企业带来了一种新的IT 服务模型,因此它将进一步推动企业IT 服务流程的变革。企业可以利用云计算变革的契机,对IT 服务流程进行一次优化和调整。比如,许多企业的不同部门都有自己的数据中心,或者说虽然有统一的数据中心但是系统归各个部门自己的IT 队伍负责维护。云计算的一个关键理念是资源的共享和整合,因此企业IT 部门可以借助云计算战略推动企业范围内的资源整合,数据中心的运维由IT 部门负责,而企业的各个业务部门作为数据中心的客户。这种资源整合的调整有利于将来推动云计算项目的实施。

  图2.13 服务流程优化

  5. 调整应用架构

  在传统的Web 应用设计中,我们在架构上一般采用基于多层架构的设计,在Web 层中会大量使用负载均衡等技术。一般的处理方式都是在应用程序设计好之后,在应用部署的过程中事先把环境配置好,而应用程序在运行过程中配置都是不变的。但是,随着云计算时代的到来,我们开始面对一些新的挑战,相应地应用程序设计方式也随之发生了一些变化(如图2.14 所示)。

  由于云计算平台能够提供高可扩展性和弹性资源分配,因此许多人会认为只要构建了一个云计算平台,自己的应用程序部署在上面就能够实现随着负载的变化自动分配计算资源了,而且也会变得更加可靠。这是我们经常会遇到的一个误解。如果应用程序在传统物理服务器环境的运行过程中存在一些可靠性问题,那么最好不要把云计算平台当成是一个灵丹妙药。如果需要构建一个可以灵活扩展的应用系统,那么我们不仅需要底层基础设施能够进行弹性扩展,上面部署的应用程序也需要能够支持水平扩展。需要指出的是并不是所有应用程序都是可以扩展的,比如云计算系统构建中一个常见的扩展瓶颈就是关系型数据库的扩展能力。我们可以非常方便地通过升级硬件的方式来垂直扩展数据库这类应用平台的性能,比如更快的处理器、更多的内存等,但是由于关系型数据库本身的设计特点,要在水平方向进行扩展却是比较困难的。因此,如果企业在基础设施层面实现了或将要实现动态资源扩展能力,那么需要在应用架构设计上来保证其上的应用也可以实现相应的水平扩展能力。只有当底层平台和应用程序都能够动态扩展时,整个应用系统才能实现可动态扩展的能力。

  图2.14 云计算应用模型

  无论是功能上还是性能上云计算对应用的灵活性都提出了更高的要求。这就要求应用程序在设计的时候要考虑松耦合的架构。耦合度与灵活性一般是相反的,即耦合度越高灵活性越低,耦合度越低灵活性越高。因此,在做企业应用架构设计的时候,一般要追求松耦合的设计。比如,在做Web 应用设计的时候,对于用户状态的保持就需要尽量采用无状态的方式来设计,这样应用程序的水平扩展能力会比较好。企业对应用架构上的调整和准备可以帮助企业今后更为顺利地把应用程序迁移到云计算平台上去。

  2.4 采用云计算的五大步骤

  许多企业已经在积极研究云计算的相关情况了,那么企业应该采用什么样的步骤来利用云计算给企业带来的竞争优势,如何才能避免一些在采用云计算中常见的误区呢?虽然云计算本身是一个相对较新的领域,但它已经给一些率先采用云计算的企业带来了非常明显的效益。企业不仅可以从这些先行者,而且也可以从以往采纳新技术的过程中借鉴一些经验。本节将讨论企业采用云计算的发展路线,这些步骤可以作为企业在采用云计算过程中的一个参考,帮助企业把业务需求更好地与云计算的服务模式、能力匹配起来,并最终实现业务目标。

  2.4.1 制定云计算战略

  首先,云计算战略除了与企业战略息息相关之外,其后续实施可能涉及一些机构的调整,因此企业高层领导需要像实施传统ERP 项目一样重视云计算战略的制定。企业IT 的最根本驱动在于业务需求,因此云计算战略制定的首要步骤是了解企业业务发展的主要驱动力、需求和挑战,使得云计算战略与业务发展战略相对应。企业云计算战略需要能够满足企业战略中所描述的业务目标。

  其次,云计算是服务向专业化发展的一个体现,是企业IT 服务向外包方向发展的一种方式。多年来IT 部门和业务部门一直在为如何更好地一起工作,讲同一种“语言”并设定统一目标而努力。由于不同的背景,这不是一件容易的事情。但是云计算的到来推动了IT 部门与业务部门的合作,越来越多的CIO 认识到采纳云计算的最主要推动力就是满足业务需求。当IT 部门通过云计算用更快的速度、更灵活和更低成本的方式为业务部门提供服务的时候,IT 部门赢得了业务部门的重视,同时也让业务部门从IT 和云计算中得到了益处。因此,云计算战略的制定需要IT 和业务部门协同工作,并以推动企业业务发展为共同目标。

  业务部门与IT 部门可以展开一些基于应用场景的讨论,尤其是一些目前业务有困难和挑战的领域,比如如何更加灵活地提升业务应用的服务而不用担心性能压力,如何让IT 从标准化和通用的IT 运维中解脱出来而把精力更多地放到核心业务工作或业务创新上面,如何让IT 能够快速响应市场需求的变化而不需要大量的前期资本投资等。这些基于实际应用需求的讨论能让业务和IT 部门在服务的方式和要求上更快地达成共识,激发各方对云计算的兴趣,深化对云计算的认识。不同业务层面的人可以从不同的角度来探讨云计算的战略发展,比如CIO 是从业务能力和创新转型角度来切入,CTO 则是从方案计划和架构角度入手,而一般技术经理可以把主要精力放在技术实现和部署等方面。

  第三,企业需要及时了解和学习云计算的相关内容,包括云计算的几种服务模型、部署模型,以及云计算在IT 和业务层面能够给企业带来的各种利益等。企业首先需要在了解和学习云计算的基础上,结合自身实际情况制定出自己的云计算战略。可以举行一些云计算相关的内部调研、研讨会、培训,并展开广泛的讨论,在企业内部提升云计算相关的认识,并掌握相关的基础知识。表2.2 所示是一个针对企业管理层关于云计算调研的问卷。

  表2.2 内部调研例子

  您的机构如何看待云计算? □IT 的一种扩展 □一个外包伙伴 □一个优化的内部数据中心 □外包软件服务

  什么是采纳云计算的业务驱动力? □节约成本 □灵活性 □更好地匹配IT 和业务 □缩短市场响应时间 □脱离基础设施服务 □随时得到最新的软件 □其他:_____________

  采用云计算最大的阻力是什么? □安全 □隐私 □公司文化 □性能 □云计算服务商的成熟度 □缺乏相应的功能 □迁移成本 □其他:_____________

  企业的管理层需要理解云计算的涵义,理解云计算给企业带来的影响,以及每个团队在云计算战略中的角色。

  最后,企业需要了解云计算发展的状况,以及同行在云计算领域的进展情况。企业云计算战略的制定还需要结合目前的技术平台和规划的技术路线,使得已有的一些投资得到相应的保护。如果企业已有一些外包的项目、虚拟化项目,或者企业的IT 已经是集中供应并实现了内部核算机制,那么所有这些经验都对云计算战略的制定具有很好的借鉴意义。在制定云计算战略阶段,企业需要明确关于云计算的发展思路,是采取积极的并愿意承担一定创新风险的方式,还是采用相对保守的跟随策略,这些对后续的云计算发展路线制定和具体实施都是非常关键的。

  2.4.2 评估和调研

  云计算战略对企业是非常关键的,但是它主要解决的是“去什么地方”的问题,为企业云计算发展大致确定了一个方向。接下来的一个重要问题就是“目前在什么地方”,也就是说企业需要从云计算的角度了解目前的实际状况,这包括业务、组织结构、应用和数据、基础架构以及技术能力等方面。

  在制定企业云计算发展路线图之前需要评估和调研企业目前的实际IT 状况,进行与云计算服务的差距分析。首先需要根据云计算部署模型来评估云计算服务的种类。如果构建私有云,企业需要评估已有的数据中心能力,比如是否已经进行了虚拟化的改造,硬件的具体情况如何,是否已经在企业内部进行了内部成本核算。如果是公有云服务,那么需要评估服务商的资质、服务水平和服务的连续性等,包括服务的API 是否开放,平台的移植性怎样,与现有环境的集成难度如何等。

  其次需要评估现有的应用。项目小组需要制作一个应用清单,或打算拥有的应用清单。然后再制定一些基准数据,如使用率、性能等,这样可以与云计算改造后进行对比。每个应用需要从两个不同的维度进行评估,一个是根据云计算的特点分析应用在多大程度上适合迁移,另一个是改造后的目标是什么。企业IT 部门在这个阶段可以做一些概念验证(POC, Proof of Concept )类型的小项目来验证一些云计算相关的技术和想法,以便为后续云计算计划制定做好技术准备工作。有一些应用如遗留的ERP 或老的主机应用迁移会比较困难,这些应用不太适合可以随时启用虚拟资源的,或者随需应变的使用模型。而一些面向Web 的或者并行数据处理任务的应用就比较适合云计算。同时,有一些应用可能不能从迁移到云计算模式中得到明显的好处。比如,一直稳定运行的应用由自己来运维可能更为合适。另外一些平时不怎么应用,但是偶尔可能会有大量用户访问的应用场景也可以通过迁移到云计算产生非常好的效果。所以需要针对企业的应用情况做相应的评估和调研,下面是一些在这个阶段需要评估的问题例子。

  使用第三方云计算服务的需求情况如何?这个需求是基本不变的还是有比较大的变化?云计算服务比较适合需求变化波动大的应用场景。服务的使用频率如何?是不是高频度的服务使用?如果使用频率非常高,那么按照“使用量”来计费的模式就不一定经济了。

  企业是否需要服务供应商提供高度客户化的服务或者API ?一般来说云计算服务提供商提供的是最为公共的、需求量大的服务,为企业提供特殊的服务对服务供应商来说从经济上没有吸引力。

  应用程序是否是关键应用?关键应用会有非常严格的SLA 要求,一般的云计算服务供应商不一定能够满足。

  公司和部门业务所处的发展阶段如何?相对来说,初创公司或新的业务部门更适合采用公共云服务的方式入手。一旦业务相对成熟和稳定之后,也许可以转向一个自运营的私有云模式。

  企业的应用或所在行业有没有严格的法规遵循要求?服务供应商不一定能够满足特定的法规遵循要求。

  企业偏向使用什么样的技术和开发平台?公司在技术发展路线上有什么样的计划?在考虑PaaS 类型服务的时候要考虑供应商依赖的问题。从一个云平台迁移到另外一个云平台会比在企业自建平台上迁移更为困难。

  对于SaaS 类应用服务,它们与企业内部其他应用的集成性如何?如果不是服务本身直接提供支持,那么它们之间的集成会变得非常具有挑战性。

  企业内部IT 关于在企业外部共享数据的政策是怎么样的?企业对数据的风险承受级别如何?如果公司对信息敏感性要求特别高,寻找一个符合要求的服务供应商就会变得比较困难。

  企业希望在财务报表上如何显示成本,愿意作为固定投资支出还是作为运营费用?如果企业倾向于作为日常的运营费用,那么公有云服务就比较适合。应用服务的性能要求如何?由于公有云服务依赖于互联网,哪怕服务供应商具有分布式的数据中心,端到端的性能也会受到网络延时的影响。因此,服务供应商关于性能上的SLA 指标有时会受到延时的影响,企业要考虑这些应用服务对性能要求的容忍度。

  在调研阶段另外一个重点是评估云计算的总拥有成本(TCO, Total Cost of Ownership )。这可以选择一些已有云计算服务商的计费方式进行评估。比如微软的Windows Azure 平台提供了一个TCO 计算器,来进行相关的成本分析,帮助用户为云迁移做出规划。该工具会询问许多前面讨论过的问题。通过输入将被迁移至云计算的应用程序的相关详细信息,诸如使用的数量、连接数量、应用程序类型和更多信息,该工具将返回一个详细的报表,列出该应用被迁移至Windows Azure 平台所需要检查的一切。

  2.4.3 制定云计算发展路线

  有了云计算发展战略并对企业现有情况做了充分的调研和评估之后,接下来需要制定一个详细的云计算发展计划,具体描述企业云计算的发展路线。这个路线图需要清楚地说明具体有哪些业务问题可以通过云计算方式解决,以及云计算通过什么样的方式和技术手段来解决这些问题。企业可以根据本章前面讨论过的云计算参考模型来设计自己的一个云计算概念模型。

  在制定云计算发展路线的时候企业可以先从相对简单的云计算服务方式入手。比如,对于有一些虚拟化基础的企业,可以从IaaS 类型的云计算服务开始构建。这样可以充分利用已有的投资,并且应用的迁移也会相对平滑。而对于一些IT 应用相对单一的企业,包括一些从事互联网业务的企业,则可以构建PaaS 类型的服务平台,把企业的业务能力通过API 对外提供服务。像电信类服务公司也可以通过这种方式进行电信能力开放,构建业务层面的生态系统。

  对于大部分企业来说,已有的IT 往往是异构的、相对复杂的环境。不同应用的生命周期和SLA 的要求也各不相同,在短期内统一成一个云平台实际的操作难度非常大。因此,一个相对可行的方式是根据业务种类对平台进行划分,在一定阶段实行遗留系统、私有云和公有云平台并存的方式,但是在业务服务管理、运维等方面进行统一整合,如图2.15 所示。

  图2.15 不同平台并存

  企业在做云计算建设的过程中会需要把应用迁移到新的环境中,这意味着需要调整一些应用。一般会把回报高的、相对容易迁移的应用先进行调整。根据应用的具体情况,有一些应用可以相对平滑地迁移到云计算平台,而有一些应用则需要修改一部分代码,甚至是进行架构上的调整。

  云计算发展路线的制定与发展战略不同,需要明确一些可以执行的步骤,以及可以衡量的阶段性目标等指标,以便随时检查和考核计划的执行情况。当然这个路线图需要基于现实的技术情况,必须是一个实际可以实施的,并能在业务的运营、成本、灵活度等方面产生直接效果的计划。

  2.4.4 展开试点

  在展开大规模实施云计算改造之前,企业可以先进行一些试点项目来论证一些想法,从而降低云计算项目的风险。试点项目可以帮助企业提供直接的云计算体验,第一手了解云计算对企业业务的影响,并为后续的云计算实施和推广积累经验。

  云计算的试点项目不是前面评估阶段的技术POC(Proof of Concept),相反这是一个实际的业务场景,只不过在规模和风险控制方面进行了控制。下面是一些在试点项目的选取中要考虑的因素。

  有没有定义好项目目标和可以衡量项目成功和失败的具体指标。

  是否在实现业务目标的同时控制好了项目的规模。是否是作为试点项目而不是纯粹技术POC 。是否能够在规定的时间和项目预算内完成。是否能够在业务、技术和运营方面为企业提供经验。

  能否评估本书中讨论的一些云计算特点。

  能否给前面的步骤提供一些反馈信息。

  比如,对于一些自己拥有开发团队的企业来说,从开发和测试云计算平台入手是一个相对低风险的选择。一方面可以让开发人员接触最新的云计算技术,另一方面又不会对生产环境直接造成影响。

  云计算试点项目是企业实施云计算的一个跳板,通过实施试点项目企业不仅可以获取最新的云计算进展,一线的云计算经验,还可以检验前面的云计算战略和规划。企业需要及时总结试点项目的结果情况,包括风险、效益、成本等方面,然后根据结果情况对前面的一些内容进行调整,从而优化整个实施过程。

  2.4.5 实施和推广

  如果试点项目取得了理想的效果,那么企业可以考虑在此基础上进行云计算的实施和推广。实施和推广阶段意味着企业已经开始了正式的云计算项目,并开始贯彻执行自己的云计算战略。企业可以利用一般的项目方法论来指导整个项目的实施过程,主要包括业务定位和需求分析、方案选择和设计、具体实施和运维管理等几个部分。如果企业采用的是公有云服务,那么运维管理部分的工作更多表现为服务供应商的管理和SLA 的监控。

  在云计算实施阶段首先要利用之前提到的一些学习和经验积累,并按照企业自己的云计算参考架构来进行项目实施。其次,由于管控对云计算能否实现像企业战略所描述的要求那样提供业务服务非常关键,因此在实施的过程中要从以下几个方面进行重点把握。

  1. 服务水平协议(SLA)

  为了保障云计算的成功实施,云计算服务提供方必须按照SLA 协议中的要求提供有质量保证(QoS, Quality of Service )的服务。如果使用的是公有云服务,那么企业需要与服务商签订一个有合适SLA 的协议。如果是内部的私有云服务,那么需要根据业务需求设定相应的服务水平标准。SLA 和QoS 是云计算服务模型中两个非常重要的指标。

  2. 安全性

  云计算的管控必须结合流程和工具来保证符合企业对安全性的要求,比如通过访问控制、加密、物理安全,甚至是管理人员的安全背景调查等来保证数据的安全访问。在公有云服务中还要检查云计算服务在数据的存储位置和隔离性等方面是否满足企业法规遵循、审计等要求。在许多情况下有没有一个安全保障机制对企业是否采用云计算是一个最重要的影响因素。

  3. 管理和监控

  云计算的管理和监控对完善云计算的运营至关重要。无论是私有云还是公有云服务,如何保证业务流程、应用、数据和安全性等都是通过SLA 协议来体现的,但SLA 里面只是一些静态的数据指标,实际服务运行情况如何完全要依赖于管理和监控手段来衡量。此外在云计算实施中还要设计如何防范服务的系统平台和基础设施等出现问题,或者如何应对服务供应商的服务出现问题的情况。

  4. 迁入和迁出流程

  云计算的管控实现还必须定义明确的方法和端到端的流程来实现把应用和数据迁移到云计算平台,以及把应用和数据从云计算平台迁移回自己的平台或另外一个服务供应商。一些企业在实施云计算的时候只考虑了如何迁入,但现实的情况是随着业务的发展企业也许会改变主意,无论是不满意服务供应商的服务还是服务出现问题,在项目实施的时候考虑和定义如何迁出比事后来应急处理风险要小得多。

  在新的环境中有一些应用可能一开始不能很好地工作,因此需要和以前旧环境中运行的情况进行比较,然后在新环境中进行调优。另外,企业需要采用不同的运行和管理方式。使用云计算中会有一个文化上的改变,因为IT 运行的是一个自服务的业务。IT 管理的内容会发生一些变化,可能要管理一些自动化脚本或审批一些资源申请,这样用户就可以自己做一些IT 的事情。IT 与最终用户的关系也会发生一些改变。IT 为用户提供的是一个可以创新的环境,是一些可以直接使用的服务,这些服务是从哪里来的对用户已经不重要了。

  作为云计算实施的最后一部分,企业需要建立正式的反馈流程、考核机制和评估体系。所有参与云计算实施、运维和业务的人员都需要通过这套机制来评估云计算实施的效果。企业需要定期通过问卷调查或正式的评审会议等不同形式来收集这些反馈信息,然后根据这些信息来完善企业的云计算战略、计划等。

  2.5 实施云计算的五大建议

  云计算相当于IT 行业的工业化和自动化发展阶段,它将从基础设施、平台和应用服务的方式上转变企业IT 服务的构建和管理,把企业IT 变成企业价值链上重要的战略资产。在采纳云计算的过程中有许多担忧,尤其是成熟度、安全性、法规遵循、性能、可靠性以及把控制权转交给第三方等方面。但是,结合企业现状采用合理的步骤可以有效地控制风险。我们可以看到IT 服务的一些明显趋势:IT 资产以及相关联的数据将不像原来那样固定不变,应用变得越来越动态并通过组合方式构建,基础设施将进一步虚拟化,按使用量计费将变得更为普遍,服务将关注于业务而不是技术等。

  企业IT 的建设目标是降低成本,增加业务灵活性并控制风险。通过手工或者“孤岛”式的构建方式是不可能达到这些目标的,企业需要一个高度自动的、端到端的方案。这就需要通过自动化的流程来整合所有相关的资源,包括服务器、存储、网络和应用等。如果企业已经建立了内部的IT 基础设施,通过私有云的方式可以提供一些经济和灵活性上的好处。这同时也是将来企业采用第三方云计算服务的第一步。在选择云计算服务商之前一定要考虑好业务最重要的用户场景,也一定要制订好应急的云服务商迁移计划。当监管、管理和安全越来越受到重视的时候,企业IT 管理方案需要能够同时管理已有的传统IT 和基于云计算的基础设施。云计算在为业务提供最优IT 服务上面具有非常大的潜力,因此企业针对云计算的最佳行动时间是——现在!

  1. 拥抱变化

  从技术发展的角度看,IT 是一个充满着活力和变化的行业。新技术的层出不穷和已有产品的更新换代一直保持着高速。对此,IT 从业人员是深有体会的。曾经有一个类比来形容IT 行业的发展速度:如果航空业的发展速度与IT 行业类似,那么从北京坐飞机到纽约就只需要5分钟!但是,云计算的影响不仅仅是在技术方面,因此一些CIO 不习惯用与他们面对技术更新时一样的开放心态来面对云计算的到来。云计算给IT 业带来的变革至少是十年一遇的,因此,如果不能及时调整心态会对企业IT ,甚至是职业的发展带来不利影响。CIO 需要从以传统IT 运维为重点转变到利用企业内外的资源为IT 提供服务的思路上来,并及时、果断地进行一些必要的机构调整。图2.16 展示了及时创新与竞争优势的关系。

  2. 马上行动

  虽然云计算在各种媒体中已经成为最热门的话题之一,然而许多企业在目前仍都处于学习和观望的阶段。如果这些企业的CIO 能够从现在开始启动云计算的试验性项目,那么这些企业将在采用云计算方面赢得先发优势。

  图2.16 创新和竞争优势关系

  3. 新的决策选择

  云计算的业务价值的确非常吸引人,但是只有真正应用了云计算服务才能实现这些价值。对CIO 来讲,云计算服务方式也许是其“百宝箱”中众多工具的一种。但是,从现在开始每个IT 服务的决策都应该要把传统方式与云计算方式进行比较,从而做出更优的选择,满足业务的需要。

  4. 从外包的角度考虑云计算服务

  公有云服务符合通过外包一些功能来实现业务价值的发展趋势,许多企业或多或少都具备一些外包的经验,因此企业可以从外包2.0 的角度来理解对云计算服务商的选择。企业需要像评估外包供应商一样来评估云计算服务供应商。企业需要评估功能要求和安全性要求是否满足,需要从成本和收益、风险、SLA 等不同层面来考察服务供应商。企业需要寻找到一个有良好服务记录、可靠的并且在未来3~5 年能够持续发展的云计算服务合作伙伴。

  5. 制定后备计划

  就像在传统IT 服务中要考虑灾备一样,企业在应用云计算的时候也要考虑到云计算服务的风险。如果服务商业务的持续性出现问题,企业如何才能保障服务的连续性?如何能够把自己的数据备份出来?有什么样的后备计划?简而言之,需要做一个关于应用、服务供应商及其基础设施等相关内容的全面调查,然后思考如何避免或降低对服务供应商的依赖程度。企业需要制定一个关于如何从一个云计算服务商迁移到自己数据中心平台或其他服务供应商的计划,制定一个在必要的时候可以把企业数据备份出来的方案。

1
3