1.1 云计算的概念
1.2 云计算的优势
1.3 云计算产生的原动力
1.4 云计算带来的变革
1.5 小结
从20世纪40年代世界上第一台电子计算机诞生至今,已经过去了半个多世纪。在这几十年里,计算模式经历了单机、终端—主机、客户端—服务器几个重要时代,发生了翻天覆地的变化。半导体芯片技术遵循着摩尔定律不断发展,到2009年,世界上最快的计算机IBM Roadrunner已经达到每秒千万亿次的运算速度。在过去的二十年里,互联网将全世界的企业与个人连接了起来,并深刻地影响着每个企业的业务运作及每个人的日常生活。用户对互联网内容的贡献空前增加,软件更多地以服务的形式通过互联网被发布和访问,而这些网络服务需要海量的存储和计算能力来满足日益增长的业务需求。
互联网使得人们对软件的认识和使用模式发生了潜移默化的改变。计算模式的变革必将带来一系列的挑战。如何获取海量的存储和计算资源?如何在互联网这个无所不包的平台上更经济地运营服务?各种新的IT技术对各行业将会产生怎样的影响?如何才能使互联网服务更加敏捷、更随需应变?如何让企业和个人用户更加方便、透彻地理解与运用层出不穷的服务?“云计算”正是顺应这个时代大潮而诞生的信息技术理念。目前,无论是信息产业的行业巨头还是新兴科技公司,无不把云计算作为企业发展战略中的重要组成部分。云计算的号角已经吹响,势不可当。本章将解释云计算的确切含义与分类,分析云计算的优势及其带来的变革,并阐述云计算的来龙去脉。
1.1 云计算的概念
“云计算”这个词相对于“分布式计算”或“网格计算”等技术类名词的确显得更加浪漫,甚至很难让人们从这个词本身推断它所涵盖的范畴。事实上,不但第一次听说“云计算”的普通技术工作者会感到不知所云,就连众多行业精英和学术专家们也很难对云计算给出一个准确的定义,每个人从不同的角度会有不同的解释。本节将首先呈现云计算的四个典型案例,并以这些案例为脉络,探究云计算的内涵,领略云中的真实世界。
1.1.1 走近云计算
1.1.1.1 相关案例
【案例一】
2008年3月19日上午10点,美国国家档案馆公开了希拉里·克林顿在1993—2001年作为第一夫人期间的白宫日程档案。由于这些档案是新闻记者团体和独立调查机构依据“信息自由法案”向国会多次请愿才得以公开的,因此具有极高的社会关注度与新闻时效性。但是,这些档案是不可检索的低质量PDF文件,若想将其转换为可以检索并便于浏览的文件格式,需要进行再处理。
华盛顿邮报希望将这些档案在第一时间上传到互联网,以便公众查询,但是据估算仅每一页的操作,以报社现有的计算能力就需要30分钟。因此,华盛顿邮报将这个档案的转换工程交给Amazon EC2(Elastic Compute Cloud)。Amazon EC2同时使用200个虚拟服务器案例,每个服务器的单页平均处理时间都缩短为一分钟,并在9小时内将所有的档案转换完毕,以最快的速度将这些第一手资料呈现给读者。
【案例二】
Giftag是一款Web 2.0应用,它能被以插件的形式安装在Firefox和IE浏览器上。互联网用户在浏览网页,尤其是在浏览购物网站的时候,可以利用这个插件将心仪的商品加入到由Giftag维护的商品清单中,并将这个清单与好友分享。这个应用一经推出便广泛流行起来,注册用户数量激增,每天Giftag的服务器都要响应数以百万计的请求,并存储用户提交的海量信息,没过多久服务器就不堪重负。
后来,Giftag将应用迁移到Google App Engine(GAE)平台,基于GAE的开放API,Giftag可以利用Google具有可伸缩性的计算处理性能来响应高峰期的用户请求,利用Google的分布式数据库来存储用户数据,甚至可以使用Gmail邮箱和Google的搜索功能来增强用户体验。Giftag实现了从一个初创的Web 2.0应用向一个稳定的、持续增长的网络服务的平稳过渡。
【案例三】
哈根达斯是著名的冰激凌供应商,其加盟店遍布世界各地。因此,公司需要一个CRM(客户关系管理)系统对所有的加盟店进行管理。当时哈根达斯用Excel表单来管理和跟踪主要的加盟店,用Access数据库来存储协议加盟店的数据,但是使用虚拟专用网(VPN)来访问该数据库的效果总是不太好。因此,公司急需一个能够让分布在各地的员工沟通协作的解决方案,并且该方案应该能够根据不同的需求进行灵活配置。
哈根达斯公司选择了Salesforce CRM企业版,应用系统在不到6个月的时间就上线了。除此之外,该系统将Microsoft Outlook和Salesforce CRM集成了起来,从而使员工能够轻松地访问Outlook中的联系人列表、日程和商业信息。Salesforce.com还为哈根达斯的解决方案提供了员工培训模块、加盟店跟踪模块,以及新店选址模块。哈根达斯公司用更少的成本获得了超预期的效果。
【案例四】
国际商业机器公司(IBM)作为全球整合的大型跨国企业,在全球共拥有9所研究院,汇聚了3000多位顶尖的科学家和研究员。在他们之中共有6位诺贝尔奖获得者和6位图灵奖获得者。在2009年,共有4914项美国专利在IBM诞生。在这里,每天都有不计其数的科学实验在进行着,其中有些实验需要有海量的计算和存储资源作为支撑。虽然每所研究院都配备了先进的IT设备,但仍然满足不了某些实验的需求。除此之外,由于这些研究院分布在世界各地,处于不同的时区,给合作科研提出了挑战。
为了给研究部门的创新提供源源不断的支持,也为提高各研究院间的沟通协作效率,IBM公司构建了IBM Research Compute Cloud(RC2)将分散在各个研究院的资源系统(如服务器、存储)整合,为公司内部所使用。该系统为科研人员提供了共享计算和存储资源的平台,通过任务调度和安排,为每一项科学实验提供了有保障的动态资源供给,而且不需要科学实验人员来管理这些资源。不仅如此,不论是实验的中间流程还是最终结果,都是在该系统中完成和保存的,所以有效地保证了数据的安全,并使得身处世界各地的研究人员随时可以对它们进行查询和交换。这一切大大提高了协同科研的效率,为IBM公司不断深入的创新提供了强大的推动力。
1.1.1.2 案例分析
在案例一中,如果没有Amazon EC2提供的计算能力,华盛顿邮报需要超过一年的时间来完成全部档案的格式转换工作。显然,这样的效率不能满足新闻的时效性和公众对于信息的期盼。恰恰是Amazon公司通过其EC2平台,将计算资源打包提供给客户,使报社在9小时内就得到了1407小时的虚拟服务器机时,在第一时间完成了档案的转换,而华盛顿邮报仅需要向Amazon公司支付144.62美元的费用。
在案例二中,Giftag公司和其他初创型Web 2.0公司一样,面临着高昂的基础设施投入费用,如购置服务器、租用带宽等。而基础设施的投入往往是不易估量的,如果一次投入过大而应用并没有达到预期的流行度,就会造成投资的浪费;反之,如果应用获得了超预期的反响,用户数量激增,那么就会给服务器、带宽带来巨大的压力,从而造成应用服务质量下降和客户的流失。
此外,Web应用需要复杂的软件配置,包括数据库、中间件、Web服务器等要素,如果其中一项配置得不合理,就会产生连锁反应,影响整个应用的表现。这些潜在问题都给创业公司提出了巨大的挑战。在GAE平台上,Giftag可以将自己的精力集中于业务本身,而将诸如服务器动态扩展、数据库访问、负载均衡等各个层次的问题交给GAE平台来解决。正是由于GAE将Web应用所需的基础功能作为服务提供给了Giftag,才使得其可以专注于应用的开发和优化。
在案例三中,哈根达斯公司要搭建自己的CRM平台,传统的做法是先聘请一支专业的顾问团队研究公司的业务流程,建模分析并提出咨询报告。然后再雇用一家IT外包公司,进驻自己的公司对平台进行开发,可能会多次出现需求→设计→实施→需求变更→再设计→再实施的循环。同时,哈根达斯作为一家冰淇淋制作厂商,还需要投资IT设备,如购买服务器、交换机、防火墙、各种各样的软件,以及租用带宽等,为系统上线做准备。经历了这令人精疲力竭的过程后系统终于上线了,但它是不是真的满足了哈根达斯公司最初的愿望呢?可能永远不会有人知道和提起了。
幸运的是,哈根达斯公司没有重复这条被别的公司走过无数次的老路。Salesforce.com作为CRM系统的专业提供商,对这个领域有着精深的理解。同时,它能够将已经完成的CRM应用模块打包,供用户选择。用户只需要如同在超市选购商品一样选择自己需要的功能模块,让Salesforce.com进行定制集成,一个属于自己的CRM系统就完成了,系统的上线和维护也将由Salesforce.com的专业团队负责。这样,一家非IT公司就可以专注于它的主营业务,使IT真正成为公司的支撑而不是拖累。
在案例四中,IBM公司分布在世界各地的9所研究院虽然各自拥有强大的IT基础设施,但有时单个科学实验对资源的需求超出了其所在研究院具有的资源规模,而且以往各自分割独立的组织方式很难让各个机构间协作完成一项工作。实际上,蓝色巨人IBM一直在努力整合自己的IT资源,以降低运营成本。早在2007年,IBM公司就开始着手将运行在3900台服务器上的业务迁移到30台大型机上,从而减少了80%的电力消耗,同时也促进了公司业务的整合。
IBM Research Compute Cloud(RC2)的建立把分散于各地的资源从物理和逻辑上整合在一起,为研究院的科研提供了一个近乎取之不尽的资源池。此外,计算资源的整合带动了业务的整合,研究员们可以在IBM RC2上共享实验所需的工具、平台甚至是结果,大大加速了科研的进程。值得注意的是,与前三个案例不同,IBM RC2是供IBM公司内部使用的私有系统,而不是一个为公司以外的用户提供服务的第三方公用平台。
通过以上四个典型案例,相信读者已经初步领略到了云计算的魅力和价值。是的,云计算就是一种更加智慧的信息技术,它化繁为简、化难为易、化不可能为可能。
1.1.2 云计算的定义
1.1.2.1 云计算的来源
在云计算最早被提出的时候,曾经有一种流行的说法来解释“云计算”为何被称为“云”计算:在互联网技术刚刚兴起的时候,人们画图时习惯用一朵云来表示互联网,因此在选择一个名词来表示这种基于互联网的新一代计算方式时就选择了“云计算”这个名词。虽然这个解释非常有趣和浪漫,但是却容易让人们陷入云里雾中,不得其正解。
进入互联网时代后,人们热衷于上网冲浪,通过浏览网页来获得资讯。当用户在浏览器上输入网址后,浏览器将会与DNS服务器和网站服务器进行一系列的交互,将网页内容呈现在用户面前,而这些交互过程是通过互联网经过多次路由转发最终完成的。因为这个过程对用户是透明的,所以当时人们在绘制互联网示意图时,将网络抽象成一朵云,意在不去关心网络的转发过程,而去关注服务器端和客户端,如图1.1左侧所示。
图1.1 云计算中的“云”
随着互联网的发展,带宽得到了显著提高,无线接入方式也变得丰富起来,除了个人电脑外,越来越多的设备已经具有了接入互联网的能力,比如移动电话、办公设备甚至是家用电器。同样,互联网的作用也不再局限于浏览网页和收发电子邮件,还能够为企业提供诸如电子商务、客户关系管理等信息服务;为普通用户提供诸如博客、视频等服务;为科研机构提供强大的计算处理能力。因此,互联网的含义变得充实起来,除了人们普遍认知的接入、路由等含义,还包括了计算、存储、服务和软件等元素。因此,“云计算”这个名词就应运而生了。从图1.1右侧我们可以看出,云计算中的“云”不仅包含了网络,更包含了那些曾经被描绘在云外的事物。这个小小的改变在图上看似简单,实际上蕴含着深刻的变革。
正如用云描绘网络来强调对网络的运用而非关注于其实现细节一样,云计算用云描绘包括网络、计算、存储等在内的信息服务基础设施,以及包括操作系统、应用平台、Web服务等在内的软件,就是为了强调对这些资源的运用,而不是它们的实现细节。
1.1.2.2 什么是云计算
了解了云计算为什么被称之为“云”之后,下面我们将给出云计算的定义。其实,这个概念被提出的时间并不长,然而对这个概念的定义却是百家争鸣。这体现了云计算包罗万象的特质,也说明业界对它的重视——既然所有人都希望成为云计算产业链中的一个角色,自然都会从自身的角度出发来定义云计算,那么对于概念的提取就是一个求同存异的过程。下面,我们先列举一些被人们普遍认可的云计算定义,然后再给出本书的定义。
在维基百科(Wikipedia.org)中,截止到2010年7月,“云计算”的词条被表述为是一种基于互联网的计算,在其中共享的资源、软件和信息以一种按需的方式提供给计算机和设备,就如同日常生活中的电网一样。
专业的IT名词百科Whatis.com援引来自SearchCloudComputing.com的定义,广义地将云计算解释为一切能够通过互联网提供的服务,这些服务被划分为三个层次:基础设施即服务(Infrastructure as a Service, IaaS)、平台即服务(Platform as a Service, Paas)和软件即服务(Software as a Service, SaaS)。
在美国加州大学伯克利分校(UC Berkeley)发表的一篇关于云计算的报告中,云计算既指在互联网上以服务形式提供的应用,也指在数据中心里提供这些服务的硬件和软件,而这些数据中心里的硬件和软件则被称为云。
《商业周刊》(BussinessWeek.com)发表文章指出,Google的云就是由网络连接起来的几十万甚至上百万台的廉价计算机,这些大规模的计算机集群每天都处理着来自互联网的海量检索数据和搜索业务请求。《商业周刊》在另一篇文章中总结说,从Amazon的角度看,云计算就是在一个大规模的系统环境中,不同的系统之间相互提供服务,软件都是以服务的方式运行的,当所有这些系统相互协作并在互联网上提供服务时,这些系统的总体就成为云。
Salesforce.com认为云计算是一种更友好的业务运行模式。在这种模式中,用户的应用程序运行在共享的数据中心中,用户只需要通过登录和个性化定制就可以使用这些数据中心的应用程序。
IBM认为云计算是一种革新的信息技术与商业服务的消费与交付模式。在这种模式中,用户可以采用按需的自助模式,通过访问无处不在的网络,获得来自于与地理无关的资源池中被快速分配的资源,并按实际使用情况付费。本书沿用IBM的定义。这种模式的主体是所有连接着互联网的实体,可以是人、设备或程序。这种模式的客体是服务本身,包括我们现在接触到的,以及会在不远的将来出现的各种信息与商业服务。这种模式的核心原则是:
硬件和软件都是资源并被封装为服务,用户可以通过网络按需地访问和使用。
在云计算中,IT业务通常运行在远程的分布式系统上,而不是在本地计算机或者单个服务器上。这个分布式系统由互联网相互连接,通过开放的技术和标准把硬件和软件抽象为动态可扩展、可配置的资源,并对外以服务的形式提供给用户。该系统允许用户通过互联网访问这些服务并获取资源。服务接口将资源在逻辑上以整合实体的形式呈现,隐蔽其中的实现细节。该系统中业务的创建、发布、执行和管理都可以在网络上进行,而用户只需要按资源的使用量或者业务规模付费。
1.1.3 云计算的特征
在云计算的定义中有四个关键要素,如图1.2所示。
图1.2 云计算的特征
1.硬件和软件都是资源,通过网络以服务的方式提供给用户
正如上一节所描述的,Amazon EC2将计算处理能力打包为资源提供给用户;Google App Engine将从设计开发到部署实施Web应用所需的软件、硬件平台一起打包提供给用户;Salesforce.com将专业的客户关系管理应用模块打包成解决方案提供给用户。
在云计算中,资源已经不限定在诸如处理器机时、网络带宽等物理范畴,而是扩展到了软件平台、Web服务和应用程序的软件范畴。传统模式下自给自足的IT运用模式,在云计算中已经改变成分工专业、协同配合的运用模式。对于企业和机构而言,他们不再需要规划属于自己的数据中心,也不需要将精力耗费在与自己主营业务无关的IT管理上。相反,他们可以将这些功能放到云中,由专业公司为他们提供不同程度、不同类型的信息服务。对于个人用户而言,也不再需要一次性投入大量费用购买软件,因为云中的服务已提供了他所需要的功能。
2.这些资源都可以根据需要进行动态扩展和配置
例如在前面的典型案例中,Amazon EC2可以在极短的时间内为华盛顿邮报初始化200台虚拟服务器的资源,并在9小时的任务完成后快速地回收这些资源;Google App Engine可以满足Giftag的快速增长,不断为其提供更多的存储空间、更高的带宽和更快速的处理能力;Salesforce.com可以为哈根达斯公司在已经成型的CRM系统中动态地添加和删除应用模块,来满足客户不断改进的业务需求。这些例子都体现了云计算可动态扩展和配置的特性。
3.这些资源在物理上以分布式的方式存在,为云中的用户所共享,但最终在逻辑上以单一整体的形式呈现
对于分布式的理解有两个方面。一方面,计算密集型的应用需要并行计算来提高运算效率。例如,一个Web应用是由多个服务器通过集群的方式来实现的,此类的分布式系统,往往是在同一个数据中心中实现的,虽然有较大的规模,由几千甚至上万台计算机组成,但是在地域上仍然相对集中。
另一方面,就是地域上的分布式。例如,一款商业应用的服务器可以设在位于纽约的华尔街,但是它的数据备份却由位于德州戈壁中的数据中心完成。
在前面介绍的典型案例四中,IBM公司在世界范围内共拥有9所研究院,IBM RC2将这些研究院中的数据中心通过企业内部网连接起来,为世界各地的研究员提供服务。作为最终用户,这些研究员们并不知道也不关心某一次科学运算运行在哪个研究院的哪台服务器上,因为云计算中分布式的资源向用户隐藏了实现细节,并最终以单一整体的形式呈现给用户。
4.用户按需使用云中的资源,按实际使用量付费,而不需要管理它们
例如,华盛顿邮报为尽快完成档案的转换任务,使用了200台虚拟服务器,并为其所获得的1407小时机时支付了144.62美元。虽然华盛顿邮报没有足够的运算处理能力,但是云给了它强大的资源来快速完成任务,而它仅需要根据实际使用量来付费。对于华盛顿邮报来说,如此巨大计算量的任务并不经常出现,因此按照这个标准购置IT设备显然是不合理的。如果没有Amazon EC2,华盛顿邮报在9小时内完成档案的转换工作将是不可能的。
同样,在Giftag的例子中,Giftag需要做的仅仅是根据其业务的增长而使用更多的Google App Engine的资源。依托Google强大的数据中心,Giftag拥有近乎无限的资源来满足新用户的注册,从而避免了自己投资IT基础设施而可能出现的浪费现象或客户流失。
总之,在云计算中软、硬件资源以分布式共享的形式存在,可以被动态地扩展和配置,最终以服务的形式提供给用户。用户按需使用云中的资源,不需要管理,只需按实际使用量付费。这些特征决定了云计算区别于自给自足的传统IT运用模式,必将引领信息产业发展的新浪潮。
1.1.4 云计算的分类
以上我们分析了云计算中“云”的含义,给出了云计算的例子和定义,并总结了云计算的关键特征。在云计算中,硬件和软件都被抽象为资源并被封装为服务,向用户提供;用户以互联网为主要接入方式,获取云中提供的服务。细心的读者可能已经发现,本章开始给出的四个案例之间既有共同点又存在着差别。相同点是,用户都获取了云中的服务,快速、高效地完成了工作;不同点是,用户获取的服务类型不尽相同。下面我们分别从云计算提供的服务类型和服务方式的角度出发,为云计算分类。
1.1.4.1 按服务类型分类
所谓云计算的服务类型,就是指为用户提供什么样的服务;通过这样的服务,用户可以获得什么样的资源,以及用户该如何去使用这样的服务。目前业界普遍认为,云计算可以按照服务类型分为以下三类,如图1.3所示。
1.基础设施云(Infrastructure Cloud)
例如在前面的案例一中提到的Amazon EC2。这种云为用户提供的是底层的、接近于直接操作硬件资源的服务接口。通过调用这些接口,用户可以直接获得计算资源、存储资源和网络资源,而且非常自由灵活,几乎不受逻辑上的限制。但是,用户需要进行大量的工作来设计和实现自己的应用,因为基础设施云除了为用户提供计算和存储等基础功能外,不做进一步任何应用类型的假设。
图1.3 云计算的服务类型
2.平台云(Platform Cloud)
在前面案例二中提到的Google App Engine就是平台云。这种云为用户提供一个托管平台,用户可以将他们所开发和运营的应用托管到云平台中。但是,这个应用的开发和部署必须遵守该平台特定的规则和限制,如语言、编程框架、数据存储模型等。通常,能够在该平台上运行的应用类型也会受到一定的限制,比如Google App Engine主要为Web应用提供运行环境。但是,一旦客户的应用被开发和部署完成,所涉及的其他管理工作,如动态资源调整等,都将由该平台层负责。
3.应用云(Application Cloud)
例如在前面案例三中提到的Salesforce.com。这种云为用户提供可以为其直接所用的应用,这些应用一般是基于浏览器的,针对某一项特定的功能。应用云最容易被用户使用,因为它们都是开发完成的软件,只需要进行一些定制就可以交付。但是,它们也是灵活性最低的,因为一种应用云只针对一种特定的功能,无法提供其他功能的应用。
表1.1总结了从服务类型的角度来划分的云计算类型。实际上,正如我们现在所熟悉的软件架构范式,自底向上依次为计算机硬件—操作系统—中间件—应用一样,这种云计算的分类也暗含了相似的层次关系。这里不同类型的云其实就是云的不同层次提供的云计算服务,我们将在第4章从技术的角度详细分析云计算的层次架构,给出每一层次的主要功能和实现示例。
表1.1 按服务类型划分云计算
1.1.4.2 按服务方式分类
云计算作为一种革新性的计算模式,虽然具有许多现有计算模式所不具备的优势(云计算带来的优势将在后面进行具体分析),但是也不可否认地带来了一系列挑战,不论是从商业模式上还是从技术上。首先就是安全问题,对于那些对数据安全要求很高的企业(如银行、保险、贸易、军事等)来说,客户信息是最宝贵的财富,一旦被人窃取或损坏,后果将不堪设想。其次就是可靠性问题,例如银行希望每一笔交易都能快速、准确地完成,因为准确的数据记录和可靠的信息传输是让用户满意的必要条件。还有就是监管问题,有的企业希望自己的IT部门完全被公司掌握,不受外界的干扰和控制。虽然云计算可以通过系统隔离和安全保护措施为用户提供有保障的数据安全,通过服务质量管理来为用户提供可靠的服务,但是仍有可能不能满足用户的所有需求。
针对这一系列问题,业界以云计算提供者与使用者的所属关系为划分标准,将云计算分为三类,即公有云、私有云和混合云,如图1.4所示。用户可以根据需求选择适合自己的云计算模式。
图1.4 云计算的服务方式
1.公有云(Public Cloud)
公有云是由若干企业和用户共同使用的云环境,IT业务和功能以服务的方式,通过互联网来为广泛的外部用户提供;用户无须具备针对该服务在技术层面的知识,无须雇佣相关的技术专家,无须拥有或管理所需的IT基础设施。我们前面所列举的Amazon EC2、Google AppEngine和Salesforce.com都属于公有云的范畴。在公有云中,用户所需的服务由一个独立的、第三方云提供商提供。该云提供商也同时为其他用户服务,这些用户共享这个云提供商所拥有的资源。
2.私有云(Private Cloud)
私有云是由某个企业独立构建和使用的云环境,IT能力通过企业内部网,在防火墙内以服务的形式为企业内部用户提供;私有云的所有者不与其他企业或组织共享任何资源,例如我们前面提及的IBM RC2。私有云是企业或组织所专有的云计算环境。在其中,用户是这个企业或组织的内部成员,他们共享着该云计算环境所提供的所有资源,公司或组织以外的用户无法访问这个云计算环境提供的服务。
3.混合云(Hybird Cloud)
混合云是整合了公有云与私有云所提供服务的云环境。用户根据自身因素和业务需求选择合适的整合方式,制订其使用混合云的规则和策略。在这里,自身因素是指用户本身所面临的限制与约束,如信息安全的要求、任务的关键程度和现有基础设施的情况等,而业务需求是指用户期望从云环境中所获得的服务类型。有研究表明,例如网络会议、帮助与培训系统这样的服务适合于从公有云中获得;例如数据仓库、分析与决策系统这样的服务适合于从私有云中获得。
一般来说,对安全性、可靠性及IT可监控性要求高的公司或组织,如金融机构、政府机关、大型企业等,是私有云的潜在使用者。因为他们已经拥有了规模庞大的IT基础设施,因此只需进行少量的投资,将自己的IT系统升级,就可以拥有云计算带来的灵活与高效,同时有效地避免使用公有云可能带来的负面影响。除此之外,他们也可以选择混合云,将一些对安全性和可靠性需求相对较低的日常事务性的支撑性应用部署在公有云上,来减轻对自身IT基础设施的负担。相关分析指出,一般中小型企业和创业公司将选择公有云,而金融机构、政府机关和大型企业则更倾向于选择私有云或混合云。
值得注意的是,虽然私有云能够为企业或组织创建一个独占的云环境,具有防火墙内的信息安全保障,提供资源与服务共享的便利,但是拥有与运维一个私有云需要较高的资金投入与持续的技术支持,即便是实力雄厚的公司也会力不从心。同样,虽然公有云能够为用户快速而便捷地提供IT能力,但是有些企业和组织希望能够获得更强的私密性,因此,在现实的生产环境中,云的私有性和公有性并不是泾渭分明的,而是存在着多种逐级过渡的方案,如图1.5所示。
图1.5 私有云至公有云的逐级过渡
除了完全由自己拥有和运维的私有云外,用户还可以选择“被管理的私有云”和“被托管的私有云”两种提供模式。在被管理的私有云中,承载云环境的IT设备和基础设施仍由所属的企业或组织拥有,在物理上位于企业的数据中心内,但其私有云的创建和运维将由专业的第三方公司来完成。一般来说,这样的第三方公司常常会通过以下步骤来帮助客户完成私有云的搭建:第一,将客户现有的物理资源通过虚拟化技术进行逻辑化,形成便于划分的资源池;第二,在该逻辑资源池上创建业务应用,并订立服务目录以便使用者浏览;第三,为业务应用提供自助访问接口和用量计费功能,服务上线并为私有云所属的企业或组织内用户所用。此后,该第三方公司还将为客户持续地提供在运维上的支持,如安全管理、业务升级、新服务上线等。
与被管理的私有云相同,被托管的私有云的创建与运维将由第三方公司来完成。相比前者更进一步,如果客户选择后者作为自己拥有私有云的模式,它将不再需要建设自己的数据中心,云环境所需的IT设备和基础设施将被托管在由第三方公司提供的专业数据中心内,并可根据合同的订立来保证客户在该数据中心内对资源在物理上或逻辑上的独占性。这种独占性是该模式与公有云的本质区别。在公有云中,不同客户需通过多租户(Multi Tenancy)技术来共享底层资源,有关该技术细节将在第10章中介绍。
同样,用户对于公有云的选择还可以分为排他的公有云和开放的公有云两种。在排他云中,云服务的提供者和使用者不是同一个企业,但它们事先知道谁会提供何种服务,谁会使用何种服务,它们通过线下的协商确定服务价格和服务质量。排他云通常出现在企业的联盟中,例如:某大企业与它的众多供应商和业务伙伴间可以建立排他云,大企业为供应商们提供云服务;某一行业联盟中的企业间可以建立排他云,比如:航空公司、酒店、旅行社等组成的联盟。
在开放的公有云中,服务的使用者和提供者在服务预订前彼此不知晓对方,他们的关系是通过在线服务订阅的方式确立的。服务条款通常是由服务提供方预先定义和控制的,而服务价格和服务质量约定也是自动的和标准化的,由服务提供方预先设定。
综上,从私有云到公有云,第三方公司能够为客户提供不同深度的自底向上的整合服务,帮助用户便捷可靠地获得私有云,同时有效减轻其建设数据中心、购置基础设施和运维云环境的负担。
1.1.5 相关概念辨析
在计算机科学技术发展的历史上,曾经出现过一些里程碑式的技术。这些技术产生的时间或远或近,但都对当今世界的IT运用模式产生了巨大的影响。这些技术包括并行计算、网格计算和效用计算。罗马不是一天建成的,同样,云计算也不是一蹴而就的,云计算是从这些技术中逐渐演进而来的,既一脉相承,又有所不同。下面我们就来辨析云计算与这些相关概念的异同。
1.1.5.1 并行计算
并行计算(Parallel Computing)将一个科学计算问题分解为多个小的计算任务,并将这些小任务在并行计算机上同时执行,利用并行处理的方式达到快速解决复杂运算问题的目的。并行计算一般应用于诸如军事、能源勘探、生物、医疗等对计算性能要求极高的领域,因此也被称为高性能计算(High Performance Computing)或超级计算(Super Computing)。并行计算机是一群同构处理单元的集合,这些处理单元通过通信和协作来更快地解决大规模计算问题。常见的并行计算机系统结构包括共享存储的对称多处理器(SMP)、分布式存储的大规模并行机(MPP)和松散耦合的分布式工作站集群(COW)等。解决计算问题的并行程序往往需要特殊的算法,编写并行程序需要考虑很多问题之外的因素,例如各个并发执行的进程之间如何协调运行、任务如何分配到各个进程上运行等。
并行计算机可以说是云环境的重要组成部分,例如案例四中IBM研究院科研人员使用的IBM RC2。与云计算的思想相似,目前世界各国已经集中建立了若干超级计算中心来服务于该区域内有并行计算需求的用户,并采用分担成本的方式进行付费。但是,云计算与传统意义上的并行计算相比,又存在明显的区别。
首先,并行计算需要采用特定的编程范例来执行单个大型计算任务或者运行某些特定应用,而云计算需要考虑的是如何为数以千万计的不同种类应用提供高质量的服务环境,以及如何提高这个环境对用户需求的响应从而加速业务创新。一般来说,云计算对用户的编程模型和应用类型等没有特殊限定,用户不再需要开发复杂的程序,就可以把他们的各类企业和个人应用迁移到云计算环境中。
其次,在并行计算中,计算资源往往集中在单个数据中心的若干台机器或者集群上。云计算则更加强调用户通过互联网使用云服务,并在云中利用虚拟化进行大规模的系统资源抽象和管理。云计算中资源的分布更加广泛,正如上文所述,它已经不再局限于某个数据中心,而是扩展到了多个不同的地理位置。同时,由于采用了虚拟化技术,云计算中的资源利用率可以得到有效的提升。
由此可见,云计算是互联网技术和信息产业蓬勃发展背景下的产物,完成了从传统的、面向任务的单一计算模式向现代的、面向服务的多元计算模式的转变。
1.1.5.2 网格计算
网格计算(Grid Computing)是一种分布式计算模式。网格计算技术将分散在网络中的空闲服务器、存储系统和网络连接在一起,形成一个整合系统,为用户提供功能强大的计算及存储能力来处理特定的任务。对于使用网格的最终用户或应用程序来说,网格看起来就像是一个拥有超强性能的虚拟计算机。网格计算的本质在于以高效的方式来管理各种加入了该分布式系统的异构松耦合资源,并通过任务调度来协调这些资源合作完成一项特定的计算任务。
可见,网格计算着重于管理通过网络连接起来的异构资源,并保证这些资源能够充分为计算任务服务。通常,用户需要基于某个网格的框架来构建自己的网格系统,并对其进行管理,执行计算任务。而云计算则不同,用户只需要使用云中的资源,不需要关注系统资源的管理和整合。这一切都将由云提供者进行处理,用户看到的是一个逻辑上单一的整体。因此,在资源的所属关系上存在着较大差异,也可以说在网格计算中是多个零散资源为单个任务提供运行环境,而在云计算中是单个整合资源为多个用户提供服务。
另外由于网络因素,网格计算的终端通常只进行小量的计算和数据传输。因此网格计算通常不适合需要大规模数据传输的计算。
1.1.5.3 效用计算
效用计算(Utility Computing)强调的是IT资源,如计算和存储等,能够根据用户的要求被按需地提供,而且用户只需要按照实际使用情况付费。效用计算的目标是IT资源能够像传统公共设施(如水和电等)一样地供应和收费。效用计算使得企业和个人不再需要一次性的巨额投入就可以拥有计算资源,而且能够降低使用和管理这些资源的成本。效用计算追求的是提高资源的有效利用率,最大程度地降低资源的使用成本和提高资源使用的灵活性。
效用计算所提倡的资源按需供应、用户按使用量付费的理念与云计算中的资源使用理念相符。云计算也可以按照用户的资源需求分配运算、存储、网络等各种基础资源。比效用计算更进一步的是,云计算已经有了很多实际应用案例,所涉及的技术和架构可行性更强。
云计算所关注的是如何在互联网时代以其自身为平台开发、运行和管理不同的服务。云计算不但注重基础资源的提供,而且注重服务的提供。在云计算环境中,不但硬件等IT基础资源能够以服务的形式来提供,应用的开发、运行和管理也是以服务的形式提供的,应用本身也可以采用服务的形式来提供。因此,云计算与效用计算相比,技术和理念所涵盖的范围更广泛,可行性更强。
1.1.5.4 物联网
物联网(Internet of Things,IoT)是一个将人、物理实体和信息系统互联起来的遍布全球的系统。它通过可扩展、价格可以接受的技术,如大范围的数据搜集、智能网络、预测分析和深度优化等,来更好地管理物理世界。物联网是当前重要的创新领域。国务院总理温家宝2009年11月3日在人民大会堂向首都科技界发表题为《让科技引领中国可持续发展》的讲话中明确指出:信息网络产业是世界经济复苏的重要驱动力。全球互联网正在向下一代升级,传感网和物联网方兴未艾。温总理的讲话将物联网提升到国家战略的高度,物联网的应用也日趋丰富,如高速公路不停车收费系统、公路铁路车辆调度系统、物流货品追踪管理、学生进出校门管理、手机移动支付系统等,都是基于物联网理论的应用探索。
物联网的核心和基础在于物品与物品之间的互联。相对于传统的互联网,物联网将计算机间的互联互通延伸和扩展到物与物之间。云计算与物联网在概念上有很强的关联性。我们可以将物联网看做是处于前端的传感器与网络设备、处于核心的云计算海量数据处理平台和处于上层的应用系统这三者的结合体。
云计算作为物联网数据处理的核心平台,适于处理物联网中地域分散、数据海量、动态性和虚拟性强的应用场景。它能够促进物联网底层传感数据的共享,为分析与优化提供超级计算能力,从而更高效地提供更可靠的服务。如果将物联网比喻为人体,那么传感器就如同感知器官,网络就如同神经系统,云计算就如同大脑。传感器所获得的物理世界的信息通过网络汇聚到云中,通过云计算提供的处理、存储和共享能力,进行有针对性的调优,再通过一定的反馈机制作用于物理世界,使其更加智慧而有效地运行。可见,物联网与云计算是相辅相成的概念。云计算为物联网提供了使其发挥效用的核心能力,物联网为云计算提供了宽广而前景光明的舞台。
1.2 云计算的优势
正如达尔文在其著作《物种起源》中指出的那样,自然界中的生物是按照物竞天择、适者生存的规律一步一步进化而来的,优秀的物种会发展出适应当前环境的特征,而正是这些特征使得该物种能够战胜残酷的生存考验,最终繁衍下来。云计算作为互联网时代最新提出的IT运用模式,必然有其技术的进步和独到的优势,才能在IT这个高速发展的产业里成长起来。本节将按照从商业到技术的顺序,首先在IT产业的层面,从优化产业布局和推进专业分工的角度分析云计算的优势,再逐渐深入到云计算的运行和维护层面,从提升资源效率、减少运营投资、降低管理成本的角度分析云计算的本质优势。相信读者阅读过本节后,将对云计算的未来充满信心。
1.2.1 优化产业布局
正如前面所述,云计算将企业原先自给自足的IT运用模式改变为由云计算提供商按需供给的模式。IT业界将出现一些实力雄厚的云计算提供商,他们拥有雄厚的技术实力和管理经验,雇用专业的商业专家和研发人员。最重要的是,他们有一座甚至许多座规模巨大的计算中心来支撑云中的服务。在摩尔定律的指引下,硬件成本正在不断降低,这些未来的云计算运营商心目中的关键资源不再是服务器,而是运行这些服务器所必不可少的电力资源。
以正在大规模投资云计算的Google公司为例,据推测(关于数据中心的建造细节一直以来被各个公司列为商业机密),该公司在多个地点拥有约40余座数据中心,在这些数据中心里同时运行着数百万台服务器。据估计,仅以该公司在美国华盛顿州Dalles建设的数据中心为例,其电力消耗就高达约103兆瓦,相当于82000户家庭一年的用电量。
电力作为一种传统资源,分布很不均匀。由于自然条件和政策法规的影响,各地的电价具有很大差异,如表1.2所示。在当前技术条件下,用电网传送电力的成本和产生的浪费要远大于用互联网传输数据,而电价又忠实地反映了获取电力资源的难易程度,因此云计算提供商在建立大规模数据中心的时候都会充分考虑这个因素,将大型数据中心建造在电力资源丰富、地理条件安全、很少有自然灾害的地方;同时又要充分考虑诸如当地法律政策、是否靠近互联网重要结点等非自然因素。
表1.2 美国部分地区工业电价比较(2008年)
可见,进入云计算时代后,IT产业已经从以前那种自给自足的作坊模式,转化为具有规模化效应的工业化运营,一些小规模的单个公司专有的数据中心将被淘汰,取而代之的是规模巨大而且充分考虑资源合理配置的大规模数据中心。而正是这种更迭,生动地体现了IT产业的一次升级,从以前分散的、高耗能的模式转变为集中的、资源友好的模式,顺应了历史发展的潮流。
1.2.2 推进专业分工
正如1.2.1节所述,不同于中小型企业的数据中心只能在距离企业不太远的地方选址以便维护,专业公司的大型数据中心可以充分利用选址灵活的优势合理配置资源。此外,大型数据中心具有实力雄厚的科研技术团队、丰富的维护管理经验来体现专业分工的优势。
云计算提供商普遍采用大规模数据中心,比中小型数据中心更专业,管理水平更高,提供单位计算力所需的成本更低廉,如表1.3所示。中小规模的数据中心采用风冷的方式进行温度调节,空调耗电量较大,而大型数据中心一般采用专业的水冷与风冷相结合的方式进行温度调节,这样的数据中心一般建立在水资源丰富的河边,将用于制冷的水抽取到制冷单元,当水温升高后再送到室外自然冷却,相对风冷来说这是一种既节能环保又经济的温度调节方式。
表1.3 大型数据中心与中小型数据中心相比的成本优势
注:PUE即Power Usage Effectiveness,是数据中心总设备能耗与IT设备能耗的比值,PUE越接近1表明数据中心的能效水平越好。
同时,专业的云计算提供商可以有更多的科研和经费投入来推动数据中心的技术革新。例如,目前大多中小型数据中心采用交流电的供电方式,仅能达到约75%的能效比,其中有25%的电能被白白浪费,转化成了热量,加剧了温度调节所需的能源消耗。但通过技术革新,改用直流电源的方式进行供电,仅此一项,大型专业数据中心就可以节电约30%。
除了在硬件上更加专业,云计算提供商还具有更完善的软件,这包括具有丰富知识和经验的管理团队及与其配套的管理软件。在中小型的数据中心,平均每个工作人员最多可以管理170台服务器。而在大型数据中心,由于有专业团队和工具的支持,每个工作人员可以同时管理的服务器数量达1000台以上。因此,人力成本这一项可以被大幅度削减。
由此可见,云计算带来的是更加专业的分工,更进一步优化的IT产业格局。通过让专业的人做专业的事,各取所长,扬长避短,有效避免了IT产业中可能产生的内耗。另一方面,专业分工也孕育了新的产业契机,除了现有的大型IT公司外,一批新兴的高科技企业也将在云计算中找到自己的位置并逐渐成长起来。
1.2.3 提升资源利用率
前面我们在IT产业的层面,从产业布局和专业分工的角度阐述了云计算的优势。下面我们将深入到云计算所涉及的各个实体,讨论这个新兴的计算模式将赋予它们怎样的优势。
在云计算模式下,高科技企业、传统行业甚至是互联网公司的IT业务都可以在不同程度上外包给专业的云计算提供商进行管理。如在上文介绍的典型案例二中,Giftag公司就将其设计的Web 2.0应用交由Google App Engine托管,Google公司根据其业务量的变化来调整和分配其所需的资源。值得注意的是,Giftag并不是Google App Engine平台上唯一的托管应用。实际上,它与成千上万其他的Web应用一起共享这个平台提供的服务与资源。
如图1.6所示是一个Web应用的典型负载变化图,从图中可以看出负载呈现出三个主要规律:其一是负载的周期性变化规律,通常由昼夜差异和周末与工作日的差异引起,基本可以通过长期观察来预测;其二是一次性任务或突发事件引起的负载,例如某热门话题会引起网站的访问量激增,通常无法预测;其三是由于业务增长引起的负载长期增长趋势,一定程度上可以预测。
面对这样变化的负载,传统的Web应用提供商或者企业专有数据中心应该如何来规划资源呢?一般来说无外乎图中的A、B、C三种方式。方式A仅考虑短期的负载来分配资源,该方式产生的浪费最少,仅在负载周期低谷时有较大资源浪费。然而,在不对业务发展进行预测的情况下分配资源,会导致一段时间后因资源不足影响业务系统运行,或不久就需要再次扩容,带来管理上的复杂性。目前被采用较多的是方式B,这种方式考虑了负载长期的增长趋势,有一定预见性地增加了资源,但相比方式A来说,造成短期内一定的资源浪费。方式C为了应对不可预测的突发事件或一次性任务而准备大量资源,在绝大多数情况下资源处于严重浪费的状态。这种方式仅适用于业务系统极其重要、为保证可用性可以不计成本的应用。
图1.6 典型的业务系统负载变化及传统的资源分配方式
可见,传统的数据中心无法兼顾业务的可用性和资源的高效利用,只能在二者之间达到某种程度的平衡。一般来说,企业为了保证业务系统的高可用性,会牺牲掉资源的高效性。据统计,多数企业数据中心的资源利用率在15%以下,有的还不到5%。而在云计算的平台中,若干企业的业务系统共用同一个大的资源池,资源池的大小可以适时调整,还可以通过动态资源调度机制对资源进行实时的合理分配。即使有突发事件对某一个业务系统产生冲击,也不会对整个资源池造成很大影响。通过这些手段,云计算平台中的资源利用率可达80%以上,与传统数据中心的资源利用率相比有大幅度提升。
1.2.4 减少初期投资
从云服务提供商的角度看,同时托管多个服务提高了资源利用率,也降低了长期的运营成本。同样,对于将自己的IT业务外包给云计算提供商的公司,他们的一次性IT投入也降到了最低,从而有效地规避了财务风险。
云计算将取代传统的企业专有数据中心。企业无须拥有硬件,而是直接使用云中的计算资源。云计算即用即付费的方式消除了企业的一次性投入,包括数据中心的营建,以及硬件设备的购置和定期更换。这种一次性投入对企业的现金流冲击较大,它意味着企业预付了若干年的投入。IT设备的平均寿命是3~5年;制冷设备、监控设备、门禁系统等其他设备的使用寿命则是10~20年;如果再考虑上数据中心的建筑寿命,就可以达到几十年之久。这样巨额的一次性投入将使企业背负沉重的负担。此外,一旦企业发生较大变化,如业务转型、系统下线、政策变化等,前期投入的资产就有可能面临被折价处置的困境。
在大多数情况下,软件同样也是一项高昂的支出。如果需要一套高质量的行业解决方案,企业首先要购买构建该解决方案所必需的中间件软件的许可证,然后在这个基础上购买或者开发自己所需要的特定解决方案。除此之外,当这些服务器或者软件被购入以后,很多时候它们其实并没有被充分利用。因为系统的负载是不均衡的,甚至有些时候系统是空闲的,即并不处理任何用户请求。
回顾本章开始时华盛顿邮报的例子,显然以报社现有的IT资源是无法完成档案格式转换工作的。但是,报社也不可能为了这个任务而进行一次性投入,购买功能强大的计算机设备。而恰好是云计算提供的“按使用付费”的计价模型有效地降低了用户的IT成本,使不可能的任务成为可能。
云计算帮助用户降低IT成本体现在两个方面:
(1)用户不再需要进行巨大的一次性IT投资,彻底省去了购置、安装、管理软硬件的费用,因为他们可以从云计算提供商那里租用这些IT基础设施;
(2)用户在使用这些IT资源时,可以按照自己的实际使用量付费。如表1.4所示列出了Amazon公司的AWS业务为美国东海岸用户提供的打包计算资源实例及计价标准。在这种计价模型中,时间是按照小时来计算的,运算平台分为Linux/UNIX和Windows两种,并根据占用资源的情况分为若干等级,各个等级的计价有所不同。用户可以在负载较低的时候选择较小的实例,甚至在空闲的时候停止部分虚拟机的运行。
表1.4 Amazon公司提供的配置实例和收费标准(美国东海岸,2010年7月)
除了以上这种按小时的快速实例计费方案,Amazon公司还提供了其他可选方案,比如包年和竞拍方案。采用包年方案的用户只需一次性支付一定数额的费用,即可以相对更低的小时资费获得案例一的一年或者三年的使用权,该方案适合明确而稳健的业务需求;采用竞拍方案的用户能够以极低的价格拍得AWS在系统低负载时的实例,该方案适合对成本要求严格但对可用性要求较低的业务需求,或者离线处理的非实时性应用。
综上所述,云计算提供的这种在类型和时间上更加细粒度、在租期和要约上更加灵活的计费模型将有助于用户根据自身业务需求的特点来进行因地制宜的选择,达到减少初期IT投资的目标。
1.2.5 降低运营成本
对于云计算的用户来说,除了降低IT的使用门槛,更重要的是云计算平台还可以帮助他们实现应用的自动化管理。对于应用的运行和管理来讲,云计算的出现能够使用户获得更高的灵活性和自动化。
对应用管理的动态、高效率、自动化是云计算的核心。它要保证用户在创建一个服务的时候,能够用最少的操作和极短的时间就完成资源分配、服务配置、服务上线和服务激活等一系列操作。与此类似,当用户需要停用一个服务的时候,云计算能够自动完成服务停止、服务下线、删除服务配置和资源回收等操作。在虚拟化技术的支持下,Web应用可以被做成虚拟器件,当需要启动服务的时候,被快速部署到云计算环境中;当服务不再需要时,可以取消部署以释放占用的资源。可见,云计算可以在软件和解决方案等不同层次提供极大的灵活性与自动化。
除了应用的部署与删除,在应用的整个生命周期中,时时刻刻需要按照其当前状态进行动态管理,比如根据业务需求增删功能模块、增减资源配置等。在云计算中,这些工作也将在不同程度上由云平台自动完成,云平台为用户提供了灵活的业务管理和便捷的服务。
1.2.6 产生新创价值
作为一种革命性的信息产业浪潮,云计算能够形成新的业务价值链,促进跨领域的创新协作,从而产生更高的价值。在以云计算推动的新价值链产生过程中,能够创造更多的就业机会,产生更多的新兴服务,建立新兴产业。
以我国台湾地区为例,随着2010年4月“云计算产业发展方案”的推出,一项跨度5年、投资240亿元新台币的规划进入人们的视野,预计该规划将在2年内改变千万民众的生活,创造5万个就业岗位,并最终实现1万亿元新台币的产值。台湾地区计划整合其在信息技术、工程制造和基础设施上的优势,通过推动云计算来实现产业升级与节能减排的目标。“云计算产业发展方案”将由5大组成部分全方位推动,包括发挥台湾当地整体施政效益,提升该地区运作效能;提升民众生活水平;提升硬件附加价值;带动产业投资,加速产业转型;加强基础研究与产业科技研发等。
可见,云计算的革新虽然来自于IT行业,却将对诸如行政、教育、医疗等各个行业产生深远的影响。例如在中国台湾,2年后纸发票就有可能被全面取代,未来学生将连书包也不用带,市民看病也有统一的电子病历。云计算帮助实现了信息的整合与快速获取,将流程化繁为简,改变了人们的生活形态,并在这种新的形态中孕育了创新价值。
1.3 云计算产生的原动力
在1.2.6节,我们介绍了云计算的本质优势。实际上,早在1966年,D.F.Parkhill就在其经典的《计算机效用事业的挑战》(The Challenge of the Computer Utility)一书中大胆预测了一个计算能力如同水和电一样被供给的世界。此后,计算机科学家们向着这个目标不断努力探索,却始终没有一个成功的方案让工业界与市场接受。但是,云计算的出现正在改变这一切。云计算让人们了解到,原来计算、存储和应用也可以像水和电一样地去获得。
在过去的三十年中,我们目睹了发达国家将低端制造业向发展中国家转移,从而完成自身产业升级的全过程。上一节分析了云计算带来的优势,从IT产业的角度出发,云计算顺应了资源合理配置、合理专业化分工的历史潮流。由此,规模效益与全球化分工在IT业界逐渐形成。正如托马斯·弗里德曼在《世界是平的》这本书中所述,分布在世界各地的企业和个人正在由互联网更紧密地联系起来,世界正变得越来越平坦,资源合理配置、专业化分工和规模效益这些原本只在传统制造业中出现的名词已经被应用于IT产业。
可见,云计算带来的是IT产业的转型和升级。不仅各个微观经济实体成为了云计算产业链中的参与者,各国政府也同样重视这一产业的重要变革。毕竟,就如同制造业的变革导致了全球范围内的重新分工,云计算的出现也将引发IT产业在世界范围内的再分工。世界各国,尤其是新兴发展中国家不应错过这个难得的机遇以实现自己产业结构的升级。各国政府对于高科技产业的重视程度和投入力度是推动云计算向前发展的重要动力。
在技术层面,云计算之所以在今天产生,是六方面原动力共同作用的结果,如图1.7所示。
图1.7 云计算产生的原动力
(1)芯片和硬件技术的飞速发展,使得硬件能力激增、成本大幅下降,让独立运作的公司集中可观的硬件能力实现规模效益成为可能。
(2)虚拟化技术的成熟,使得这些硬件资源可以被有效地细粒度分割和管理,以服务的形式提供硬件和软件资源成为可能。
(3)面向服务架构的广泛应用,使得开放式的数据模型和通信标准越来越广泛地为人们使用,为云中资源与服务的组织方式提供了可行的方案。
(4)软件即服务模式的流行,云计算以服务的形式向最终用户交付应用的模式被越来越多的用户所接受。
(5)互联网技术的发展,让网络的带宽和可靠性都有了质的提高,使得云计算通过互联网为用户提供服务成为可能。
(6)Web 2.0技术的流行和广泛接受,改变了人们使用互联网的方式,通过创新的用户体验为云计算培育了使用群。
下面具体介绍这些推动云计算出现和发展的技术原动力。
1.3.1 芯片与硬件技术
半导体芯片技术遵循着摩尔定律在不断发展,摩尔定律是指集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。同时计算能力、内存容量、磁盘存储容量也相应地快速提升。多核技术可以在一枚处理器中集成多个完整的计算引擎,它的出现规避了仅仅提高单核芯片的速度而产生过多热量且无法带来相应的性能改善的问题。处理器位数的提高与总线技术的提升,使系统能够支持容量与吞吐量都更大的内存,满足日益增长的应用需求,使更多的任务可以同时运行。随着磁记录技术和机械工艺的不断改进,磁盘的存储容量在增大,数据传输率在提高,寻迹时间在缩短。这些芯片与硬件技术的变革直接作用于计算机系统,使单个系统的能力越来越强,成本越来越低。
除了计算机系统能力的提高,系统间的通信能力也在增强。IEEE 802.3ae定义了带宽为10GB的以太网标准,企业级交换机也支持了10GB全速第二层转发。大量相对廉价的x86系统可以通过高速网络被组织成为大规模的分布式系统,通过协同和冗余来获得以往在大型机上才能达到的处理速度和可靠性。但是,大量地运用廉价系统也带来了这样或那样的问题,如大规模系统难于维护、资源消耗高等。在探索解决这些问题的新技术的过程中,云计算应运而生。
芯片与硬件技术的提升也为数据中心的建造创造了便利条件。伴随着速度的不断提升,硬件价格也在不断下降。以前,建设大规模数据中心所需的巨大资金投入,只有极少数企业或者政府机构能够负担得起。现在,由于硬件性能的提升和价格的下降,建造大型数据中心已经不再是不可实现的目标。这就为云服务提供商构建公有云,为企业机构用户构建私有云创造了可能。
1.3.2 资源虚拟化
在云计算中,数据、应用和服务都存储在云中,云就是用户的超级计算机。因此,云计算要求所有的资源能够被这个超级计算机统一管理。但是,各种硬件设备间的差异使它们之间的兼容性很差,这为统一的资源管理提出了挑战。
虚拟化技术可以将物理资源等底层架构进行抽象,使得设备的差异和兼容性对上层应用透明,从而允许云对底层千差万别的资源进行统一管理。此外,虚拟化简化了应用编写的工作,使得开发人员可以仅关注于业务逻辑,而不需要考虑底层资源的供给与调度。在虚拟化技术中,这些应用和服务驻留在各自的虚拟机上,有效地形成了隔离,一个应用的崩溃不至于影响到其他应用和服务的正常运行。不仅如此,运用虚拟化技术还可以随时方便地进行资源调度,实现资源的按需分配,应用和服务既不会因为缺乏资源而性能下降,也不会由于长期处于空闲状态而造成资源的浪费。最后,虚拟机的易创建性使应用和服务可以拥有更多的虚拟机来进行容错和灾难恢复,从而提高了自身的可靠性和可用性。
可见,正是由于虚拟化技术的成熟和广泛运用,云计算中计算、存储、应用和服务都变成了资源,这些资源可以被动态扩展和配置,云计算最终在逻辑上以单一整体形式呈现的特性才能实现。虚拟化技术是云计算中最关键、最核心的技术原动力。
1.3.3 面向服务架构
面向服务架构(Service Oriented Architecture,SOA)是一种IT架构设计模式,通过这种设计,用户的业务可以被直接转换成为能够通过网络访问的一组相互连接的服务模块。这个网络可以是本地网络或者是互联网。面向服务架构所强调的是将业务直接映射到模块化的信息服务,并且最大程度地重用IT资产,尤其是软件资产。当使用面向服务架构来实现业务时,用户可以快速创建适合自己的商业应用,并通过流程管理技术来加速业务的处理,促进业务的创新。面向服务架构还可以为用户屏蔽掉运行平台及数据来源上的差异,从而使得IT系统能够以一种一致的方式提供服务。
面向服务架构的设计思想引领了Web服务技术的发展,使得开放式的数据模型和通信标准越来越广泛地为人们使用,更大程度地促进了已有信息系统的互联。面向服务架构通过基础设施层、业务层、服务层、流程层的层次划分,将模块化的服务和标准化的流程封装成为可以被用户直接应用的组件,允许用户按照自己的实际情况选择、搭建灵活的IT架构,满足业务需求。
资源和功能服务化是云计算的一个核心思想。面向服务架构为云中的资源与服务的组织方式提供了可行的方案。云计算依赖于面向服务架构的思想,通过标准化、流程化和自动化的松耦合组件为用户提供服务。不过,云计算将不仅是一种设计架构的模式或方法,而且是一个完整的应用运行平台,基于面向服务架构思想构建的解决方案将在云中运行,服务于云外的用户。
1.3.4 软件即服务
软件即服务(Software as a Service,SaaS)是一种通过互联网提供软件的服务模式,用户不用再一次性购买软件,而改向服务提供商租用软件,且无须对软件进行维护,服务提供商会全权管理和维护软件。其核心理念是将软件直接提供为服务,从而改变目前常见的软件销售并安装在客户自己的计算机上的这种消费及使用模型。对于中小型企业来说,SaaS消除了购买、安装和维护基础设施、中间件和应用程序的投资环节。从技术方面来看,企业无须再配备专业技术人员进行管理,同时又能得到最新的技术应用。
此外,SaaS也深刻改变了IT业界的商业模式。“长尾理论”被认为是使SaaS在商业上取得成功的理论基础。长尾理论讲求的是充分发掘那80%的零散但充满潜力的市场。从同样的理论出发,利用软件即服务的思想,云计算可以开发那部分曾经无法拥有专业计算中心和Web应用的客户,尤其是中小企业和初创型公司,为他们提供那些曾经只有实力雄厚的大公司才能够负担得起的IT基础设施和应用。
软件即服务技术是云计算的先行者,比如软件的远程使用、按需付费模式。然而软件即服务提供商一般仅仅提供某一种特定的应用软件。云计算就是把这种单一的模式更广泛推广的技术,其采用的虚拟化等技术使得普通软件也可以成为服务,比如Amazon公司的计算和存储服务就可以适应于企业的更多应用类型。
1.3.5 互联网技术
近二十年来,世界各国在互联网基础设施建设方面进行了巨额的投资,互联网的带宽和可靠性都得到了大幅提升,网络的触角所涉及的区域也越来越广。目前,信息技术的发展使得世界上大部分的业务都离不开互联网的支持,互联网已成为世界运转不可缺少的平台。网上纷繁复杂的业务对于互联网上资源的稳定性、可靠性、安全性、可用性、灵活性、可管理性、自动化程度甚至节能环保等特性都提出了苛刻的要求,这一切都在不断推动着互联网技术的发展。正是由于互联网的发展,使得云计算中跨地域的资源共享与服务提供成为可能。
除了骨干网的发展,互联网的接入方式也发生了质的转变。从PSTN拨号上网到ADSL宽带上网,从单一的有线连接到灵活的无线接入,从高速而廉价的WiFi到潜力巨大的3G和LTE,从单一的计算机接入到手机、汽车及各种家用电器的接入,可以说,互联网已经是随时随处可用了。不论是在办公室、在家,还是在路途中,稳定的互联网接入是用户获取云计算中丰富多彩资源的基础,不断提高的带宽是用户获得完美体验的前提。正是由于互联网接入的普及和改善,使得用户通过互联网使用远程云端的服务成为可能,在用户和云间搭起了宽阔的桥梁。
1.3.6 Web 2.0技术
Web 2.0浪潮推动了Web的功能创新性、信息共享程度和用户使用体验的长足进步。今天,它已经成为实际意义上的标准互联网运用模式。以博客(Blog)、内容聚合(RSS)、百科全书(Wiki)、社会网络(SNS)和对等网络(P2P)为代表的Web 2.0应用已经被用户广泛地接受和使用。Web 2.0的出现让用户从信息的获得者变成了信息的贡献者,也让富互联网应用(Rich Internet Application,RIA)成为网络应用的发展趋势。例如,Ajax是支持RIA的编程框架,帮助RIA在客户端实现友好而丰富的使用感受。在该框架中,HTML和CSS为信息提供静态表述,JavaScript负责信息的动态呈现及信息与用户的交互。在Ajax中,浏览器和服务器之间的交互是异步的,这样就避免了页面被重复刷新,从而实现了类似于本地程序的用户体验。
Web 2.0的出现和广泛流行深刻地影响了用户使用互联网的方式。现在,人们越来越习惯从互联网上获得所需的应用与服务,同时将自己的数据在网络上共享与保存。而以往,这些都是用户在个人电脑上完成的工作。个人电脑渐渐不再是为用户提供应用、保存用户数据的中心,它蜕变成为接入互联网的终端设备。Web 2.0提供了云计算的接入模式,也为云计算培养了用户习惯。
Web 2.0为云计算的出现提出了内在需求。随着Web 2.0的产生和流行,互联网用户更加习惯将自己的数据在网络上存储和共享。每天,视频网站和图片共享网站都要接受海量的上载数据。同时,为了给用户提供新颖而有吸引力的服务,Web应用的开发周期越来越短,只有更加快捷的业务响应才能让应用提供商在激烈的竞争中生存。因此,他们需要有这样一个平台,能够提供充足的资源保证其业务增长,能够提供可以复用的功能和非功能模块来保证其快速开发。这些,都是云计算产生的内在需求。
1.4 云计算带来的变革
前面我们从IT产业和各个实体的角度分析了云计算的本质优势,总结了云计算产生的原动力。变革的到来已势不可当。如果我们将视野放宽,把当下所处的时代定位于技术与经济发展的历史长河中,就能够更加清晰地理解云计算所带来的变革与机遇。Carlota Perez在其著作《技术革命与金融资本》(Technology Revolutions and Financial Captial)中梳理了从18世纪工业革命起到当今信息时代近250年的人类社会发展史,回顾了五次由于基础性的技术革命而主导的社会更迭,归纳了在这些更迭中由技术引致的从萌芽到高速发展、躁动到泡沫破裂、重建到最终成熟的循环规律。当前,我们正处于由IT技术主导的信息与通信时代,经历了.com泡沫的破裂,目睹了金融危机的爆发,社会的技术与经济正经历着秩序的重建。在这个过程中,虽然不再有虚幻的传奇和狂躁,但技术的沉淀和演进将越走越实,其中蕴藏的机遇和财富将越来越广。
1.4.1 大势所趋的转型
变革的背后往往蕴藏着规律,云计算的到来也不例外。它并不是随机的、意外的,而是当科学技术和社会经济发展到一定程度时必然发生的。在这里,我们将计算技术的发展与社会经济的发展做一个类比(如图1.8所示),便不难探究出其中的规律。
图1.8 社会经济与计算技术发展的规律
在农耕时代,家家户户过着“采菊东篱下,悠然见南山”般的生活,自己制作工具,自己耕种收获,看起来惬意,但只是低效地满足了有限的基本生活需求。随着铁制工具的使用和生产技术的进步,农业劳动生产率获得提高,也使农具的生产变得多样而复杂,不能再由一家一户独立进行了。在这个背景下出现了人类历史上的“第二次社会大分工”,由工匠进行专业农具生产,由农民专门从事农业活动。随着社会生产率的进一步提高,工具的生产逐渐标准化和规模化,手工作坊的规模越来越大,农业生产的能力也越来越大,简单的交换已无法容纳社会经济发展的需求。在这个背景下,商人出现了,完成了“第三次社会大分工”。随着分工的不断精细化,每个人和社会整体的效率与效益都获得了提高,人类社会逐渐从荒蛮走向文明。
反观近百年来计算技术的发展,我们不难从中发现与社会经济相似的规律。在早期的大型机时代,公司或机构自己购买、营运并使用计算设备。随着半导体、网络和软件技术的综合发展,计算技术进入个人电脑时代。互联网上出现了多种多样的服务提供商,崭新的业务模式层出不穷。在这个过程中,提供商通过制定标准来巩固自己的专业地位与业务规模。这样的专业化与规模化不断深入,伴随着技术的成熟,IT服务将逐渐变得如水和电一样,可以通过无处不在的互联网随处获得。这就是云计算,顺应着历史发展的脉络在我们这个时代诞生。当下,仅是一个开始,随着IT生态系统的进一步精细分工,云计算将孕育出新兴的产业链。新的参与者将加入,旧的参与者必须相机而变。
1.4.2 新兴的产业链
云计算作为一种新兴的IT运用模式,带来了IT产业调整和升级,同时也催生了一条全新的产业链。这条产业链中主要包含硬件供应商、基础软件提供商、云提供商、云服务提供商、应用提供商、企业机构用户和个人用户等不同角色。
云计算产业结构中的角色如图1.9所示。在云计算的产业结构中,位于中心的是云提供商。云提供商为云服务提供商搭建公有云环境,为企业和机构用户搭建私有云环境。云提供商从硬件提供商和基础软件提供商那里采购硬件和软件,向上提供构建云计算环境所需的解决方案。应用提供商从云服务提供商那里获得所需的资源来开发和运营自己的应用,为个人用户和企业机构用户提供服务。除了从云提供商那里获得私有云,从应用提供商那里获得随时可用的软件外,企业机构用户还可以直接从云服务提供商那里获得计算和存储资源来运行企业机构内部的自有应用。可见,位于产业链中游的云提供商、云服务提供商和应用提供商从事着与云计算直接相关的业务活动,我们将他们统称为云计算提供商。
图1.9 云计算产业结构中的角色
云计算将为IT产业带来深刻的变革,也为创业者带来新的机遇。本节将自底向上从这条产业链中的各个角色出发,简要介绍云计算带来的变革。
1.4.2.1 硬件提供商
云计算对当前硬件提供商的业务具有很大的影响。作为硬件的行业客户,一些企业和机构考虑按照云提供商给出的解决方案,增购服务器或者进行技术升级,来构建完全可以由自己控制的私有云环境;也有一些公司将继续以传统的方式使用服务器并且不改变服务器的购买计划。但是,云计算会使得更多的公司,尤其是中小型企业都开始重新考虑甚至放弃原有的服务器购买计划,转而通过使用公有云来提高业务的灵活性,降低运营成本。
然而,这并不意味着云计算会打压硬件提供商的业务。相反,为了满足用户对公有云的需求,云服务提供商将建设更多的公有云环境。这将创造市场对硬件产品的新需求,并促进硬件产品在技术上的创新。那些更加节能、灵活并且能够支持云计算技术要求,尤其是支持虚拟化功能的硬件产品,将在未来的市场中占据更大的份额。
1.4.2.2 基础软件提供商
基础软件包括传统意义上的操作系统和中间件。云计算对于基础软件提供商的影响是巨大的。云计算所带来的变革将影响从操作系统到上层应用整个软件体系结构的每个角落。在云计算中,互联网就像是一个巨大的操作系统,它运行着云中所有的软件并向用户提供服务。由于越来越多的应用都从桌面操作系统搬到了互联网上,这使得传统操作系统提供商承受着巨大的挑战和压力,一方面必须在新版本的操作系统中引入对云计算核心技术的支持,如虚拟化技术,从而在未来云基础设施领域中占据更多的市场份额;另一方面,如果已有客户要采纳这些新技术,就意味着比较复杂的升级周期,这在从操作系统桌面应用升级到云应用的过程中体现得最为明显。
与操作系统相同,中间件为上层服务提供了通用的功能模块,并且隐蔽了实现细节,使得上层软件的开发可以着重于业务逻辑,而非烦琐的底层细节。在云计算环境中,中间件对上层依然需要提供相同的便捷功能,但是对下层它需要隐藏的细节就更加复杂了。首先,中间件运行在云之上,而不是在传统意义上的单个服务器上,这样它不但需要适应单个云服务提供商的运行环境,而且要具有跨多个云服务提供商的互操作性。其次,在云上运行的中间件必须支持云计算的核心特征——可扩展性,可以随时随地为任何用户调整资源以满足业务上的需求。可见,作为提供操作系统和中间件的基础软件提供商,新技术的研发和新产品的推出速度将决定其能否在云计算中占据领先地位。
1.4.2.3 云提供商
云提供商处于云计算产业的核心位置,它向下采购(或者通过咨询服务的方式建议云服务提供商和企业机构用户采购)硬件提供商及基础软件提供商的硬件与软件产品,向上为云服务提供商提供构建公有云的解决方案,为企业机构用户提供构建私有云的解决方案。可见,云提供商在云计算产业中处于“造云者”的角色。可以说,在云计算产业中,其他角色的业务流转都是围绕云提供商展开的。
云提供商需要具有三个显著特点。
1.具有丰富的硬件系统集成经验
云计算无疑将带来现有数据中心的技术升级和扩容,以及新兴大型数据中心的建造。为这些数据中心提供从处理、存储到网络的集成解决方案是一项复杂的系统工程,因此需要云提供商在这方面具有深刻的认识和丰富的经验。
2.具有丰富的软件系统集成经验
硬件是云计算的躯体,软件是云计算的灵魂。从操作系统到中间件,从数据库、Web服务到管理套件,软件的选择、配置与集成方案种类众多、千变万化,如何帮助用户做出最合适的选择,需要云提供商对软件集成具有深刻的理解。
3.具有丰富的行业背景
这一点主要是针对企业机构的私有云建设。由于用户是身处各行各业的不同企业机构,其业务也不尽相同,因此如何为用户设计出最适合自己的私有云解决方案,就需要云提供商对该行业具有深刻的理解和丰富的行业经验。
总之,云提供商需要同时具有丰富的硬件、软件和行业经验才能保证其在云计算产业中的核心位置。云计算产业中的其他角色围绕着云提供商运营流转。云提供商为产业链中的其他角色提供服务,创造价值。
1.4.2.4 云服务提供商
云计算是互联网时代信息技术发展和信息服务需求共同作用下的产物。传统的软件提供商所提供的产品并不能直接适用于云计算环境。规模较小的独立软件提供商一般没有强大的技术实力去实现云计算技术的创新,而规模庞大的专业软件提供商在实现传统软件产品转型时遇到的技术和业务压力也是空前的,这就给那些眼光卓越的精英们带来了创业机会。
这些新兴企业在面对变革时没有沉重的包袱,能够充分而直接地构建适合互联网时代需求的云计算产品。他们与云提供商紧密合作,提供适合市场需求的云计算环境。无疑,云计算打开了一片宽广的市场空间,无论是基础设施云、平台云还是应用云,都有着巨大的潜在需求。因此,对于每一家云服务提供商,只要能够通过变革和创新来提供便捷的、差异化的云计算服务,就能够在云计算产业中获得成功。
1.4.2.5 应用提供商
传统的应用提供商将其应用运行在自己的服务器或者在数据中心中租赁的服务器上,这种传统的方式有着几个弊端。首先,应用提供商要负担更高的成本,因为需要购买或者租赁物理机器,购买相应的各种软件。其次,应用提供商需要对所有的机器和软件进行维护,保证整个系统从硬件到软件都正常地工作。更重要的是,由于成本控制,应用提供商很难用更为低廉的方式获取更多的资源,这会使得服务质量在服务高峰期受到很大影响。
在云计算中,应用提供商所提供的服务运行在云中,并且是以服务的方式通过互联网提供的。云计算能够有效地使应用提供商避免上述弊端,从而为中小企业和刚刚起步的企业降低成本。
(1)应用提供商不需要购买专门的服务器硬件及各种软件,只需要将应用部署在云平台中即可,所需的硬件资源和软件服务都由云提供。
(2)由于云平台由专人维护,应用提供商也省去了维护费用。
(3)云计算中所有的资源都按照具体使用情况付费,从而避免了传统方式中资源空闲所造成的浪费。
(4)云平台上的软件都以服务的形式运行,应用提供商在开发新业务的时候能够以较低的成本充分利用云平台所提供的各种服务,从而加速业务上的创新。
1.4.2.6 个人用户
云计算时代将产生越来越多的基于互联网的服务,这些服务丰富全面、功能强大、使用方便、付费灵活、安全可靠,个人用户将从主要使用软件变为主要使用服务。在云计算中,服务运行在云端,用户不再需要购买昂贵的高性能的电脑来运行种类繁多的软件,也不需要对这些软件进行安装、维护和升级,这样可以有效减少用户端系统的成本与安全漏洞。更重要的是,与传统软件的使用方式相比,云计算能够更好地服务于用户。在传统方式中,一个人所能使用的软件仅为其个人电脑上的所有软件。而在云计算中,用户可以通过互联网随时访问不同种类和功能的服务。
云计算将数据放在云端的方式给很多人带来了顾虑,通常人们认为数据只有保存在自己看得见、摸得着的电脑里才最安全,其实不然,因为个人电脑可能会不小心被损坏、遭受病毒攻击,导致硬盘上的数据无法恢复,数据也有可能被木马程序或者有机会接触到电脑的不法之徒窃取或删除,笔记本电脑还存在丢失的风险。而在云环境里,有专业的团队来帮用户管理信息,有先进的数据中心帮助用户备份数据。同时,严格的权限管理策略可以帮助用户放心地与指定的人共享数据。这就如同把钱存到银行里比放在家里更安全一样。
1.4.2.7 企业机构用户
对于一个企业用户来讲,云计算意味着很多。正如上文所述,企业不必再拥有自己的数据中心,大大降低了运营IT部门所需的各种成本。由于云所拥有的众多设备资源往往不是某一个企业所能拥有的,并且这些设备资源由更加专业的团队进行维护,因此企业的各种软件系统可以获得更高的性能和可靠性。另外,企业不需要为每个新业务重新开发新的系统,云中提供了大量的基础服务和丰富的上层应用,企业能够很好地基于这些已有的服务和应用,在更短的时间内推出新业务。
当然,也有很多争论说云计算并不适合所有的企业和机构,比如对安全性、可靠性都要求极高的银行、金融企业,还有涉及国家机密的军事单位等,另外如何将现有的系统迁入到云中也是一个难题。尽管如此,很多普通制造业、零售业等类型的企业都是潜在的能够受益于云计算的企业。而且,那些对安全性和可靠性要求很高的企业和机构,也可以选择在云提供商的帮助下建立自己的私有云。随着云计算的发展,必将有更多的企业用户从不同方面受益于云计算。
1.5 小结
本章从四个典型案例出发,介绍了云计算的概念与分类,分析了云计算的特征,并将云计算与其他相关概念进行了辨析。随后,我们从产业到技术,首先在IT产业的层面,从合理配置资源和专业分工的角度分析了云计算的本质优势,再逐渐深入到云计算的实体层面,从技术革新及提高效益的角度分析了云计算的本质优势。然后,为读者解析了云计算产生的原动力。最后,从云计算催生的产业链的角度出发,分析了云计算为这条产业链上每一类参与者带来的深刻变革,以及为创业者带来的新的机遇。
本章作为本书的引子,概述了云计算。在接下来的第2章将介绍几个典型行业中运用云计算的不同实践;在第3章,将按步骤介绍云计算的实施;在第4章,将深入技术层面,分析云计算的架构;在第5章,将介绍云环境构建的关键技术;在第6章,将介绍云计算的最新业界动态。