1.3 云计算产生的原动力
在第1.2.6小节,我们介绍了云计算的本质优势。实际上,早在1966年,D. F. Parkhill就在其经典的《计算机效用事业的挑战》(The Challenge of the Computer Utility )一书中大胆预测了一个计算能力如同水和电一样被供给的世界。此后,计算机科学家们向着这个目标不断努力探索,却始终没有一个成功的方案让工业界与市场接受。但是,云计算的出现正在改变这一切。云计算让人们了解到,原来计算、存储和应用也可以像水和电一样地去获得。
在过去的三十年中,我们目睹了发达国家将低端制造业向发展中国家转移,从而完成自身产业升级的全过程。上一节分析了云计算带来的优势,从IT产业的角度出发,云计算顺应了资源合理配置、合理专业化分工的历史潮流。由此,规模效益与全球化分工在IT业界逐渐形成。正如托马斯·弗里德曼在《世界是平的》这本书中所述,分布在世界各地的企业和个人正在由互联网更紧密地联系起来,世界正变得越来越平坦,资源合理配置、专业化分工和规模效益这些原本只在传统制造业中出现的名词已经被应用于IT产业。
可见,云计算带来的是IT产业的转型和升级。不仅各个微观经济实体成为了云计算产业链中的参与者,各国政府也同样重视这一产业的重要变革。毕竟,就如同制造业的变革导致了全球范围内的重新分工,云计算的出现也将引发IT产业在世界范围内的再分工。世界各国,尤其是新兴发展中国家不应错过这个难得的机遇以实现自己产业结构的升级。各国政府对于高科技产业的重视程度和投入力度是推动云计算向前发展的重要动力。
在技术层面,云计算之所以在今天产生,是六方面原动力共同作用的结果,如图1.7所示。
图1.7 云计算产生的原动力
第一是芯片和硬件技术的飞速发展,使得硬件能力激增、成本大幅下降,让独立运作的公司集中可观的硬件能力实现规模效益成为可能。
第二是虚拟化技术的成熟,使得这些硬件资源可以被有效地细粒度分割和管理,以服务的形式提供硬件和软件资源成为可能。
第三是面向服务架构的广泛应用,使得开放式的数据模型和通信标准越来越广泛地为人们使用,为云中资源与服务的组织方式提供了可行的方案。
第四是软件即服务模式的流行,云计算以服务的形式向最终用户交付应用的模式被越来越多的用户所接受。
第五是互联网技术的发展,让网络的带宽和可靠性都有了质的提高,使得云计算通过互联网为用户提供服务成为可能。
第六是Web 2.0技术的流行和广泛接受,改变了人们使用互联网的方式,通过创新的用户体验为云计算培育了使用群。
下面具体介绍这些推动云计算出现和发展的技术原动力。
1.3.1 芯片与硬件技术
半导体芯片技术遵循着摩尔定律在不断发展,摩尔定律是指集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。同时计算能力、内存容量、磁盘存储容量也相应地快速提升。多核技术可以在一枚处理器中集成多个完整的计算引擎,它的出现规避了仅仅提高单核芯片的速度而产生过多热量且无法带来相应的性能改善的问题。处理器位数的提高与总线技术的提升,使系统能够支持容量与吞吐量都更大的内存,满足日益增长的应用需求,使更多的任务可以同时运行。随着磁记录技术和机械工艺的不断改进,磁盘的存储容量在增大,数据传输率在提高,寻迹时间在缩短。这些芯片与硬件技术的变革直接作用于计算机系统,使单个系统的能力越来越强,成本越来越低。
除了计算机系统能力的提高,系统间的通信能力也在增强。IEEE802.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应用的开发周期越来越短,只有更加快捷的业务响应才能
让应用提供商在激烈的竞争中生存。因此,他们需要有这样一个平台,能够提供充足的资源保证其业务增长,能够提供可以复用的功能模块来保证其快速开发。这些,都是云计算产生的内在需求。