1.3 云计算的发展历程和驱动因素
本节将详细介绍云计算的发展历程和驱动因素。
1.3.1 云计算的发展历程
云计算从技术理念出现,到技术融合创新,再到商业运营成功,前后经历几十年,是各种技术发展到一定阶段,在某些因素(宽带的普及、互联网上的海量数据、信息化的快速发展、多个IT巨头的实践)共同促进下形成的一个新的业务领域。
1.第一阶段:关键技术探索期(20世纪90年代之前)
在这一阶段,虚拟化、分布式计算、并行计算等关键技术和概念纷纷出现并取得了一系列的进展。
虚拟化技术在20世纪60年代就已经被提出,IBM大型机7044上首先应用分时系统实现了在单一硬件系统上运行多个操作系统。20世纪80年代之前,IBM和其他几家公司在硬件接口虚拟化、内存虚拟化等技术上实现突破,大型机虚拟化技术逐渐成熟。大型机虚拟化的出发点是充分利用昂贵的硬件资源,但随着大规模集成电路和PC的出现,计算机的硬件成本大幅降低,大型机虚拟化技术逐渐淡出人们的视野。
并行计算的思想出现于20世纪60年代,第一个并行计算实用系统是1972年推出的ILLIAC Ⅳ。并行计算利用时间或空间并行模型,通过对计算任务进行分解和并发处理,实现计算任务的高速解决。参与并行计算的各计算单元之间需要频繁交互,以协同完成同一任务。20世纪70年代的并行模型多为SIMD(Single Instruction Multiple Data,单指令多数据流),20世纪80年代则以MIMD(Multiple Instruction Multiple Data,多指令多数据流)为主,并行计算开始应用于实际计算,越来越多的人开始掌握并应用并行编程技术。制约并行计算发展的主要问题是计算模型较为复杂,各种计算模型(例如PRAM模型、BSP模型、LogP模型、C^3模型等)的专业性较强。同时,并行计算由于需要频繁交互,对网络的要求很高,因此其可扩展性会受到限制,只能通过不断提升服务器的性能来提升计算能力。
20世纪80年代初,人们开始提出分布式计算的思想。分布式计算将需要巨大计算能力才能解决的问题切分成许多相对独立的任务,并把这些任务分配给多台计算机进行处理,最后把这些计算结果综合起来,得到最终的结果。完成分布式计算的计算机之间交互较少,彼此之间的关系也比较松散,可以跨越不同网络,分别独立完成各自的任务,因此分布式计算任务需要能够拆解成较为独立的子任务。但是,传统分布式计算的主要问题是没有统一的编程模型,针对不同应用领域,需要相关专业的人员进行复杂的开发,因此限制了其应用。
总而言之,在第一阶段里,虚拟化、分布式、并行计算等关键计算技术理念开始提出并得到了初步的探索,但仍以技术研究为主,应用范围很窄。
2.第二阶段:IT服务化商业模式探索期(20世纪90年代初到21世纪初)
进入20世纪90年代,随着硬件性能的大幅提升,服务器的利用率迅速降低,管理运营成本(特别是电力开销)逐渐成为IT的主要支出之一。为了提高服务器利用率,降低运行成本,VMware和其他几个主要虚拟化厂商开始实践基于x86服务器的虚拟化,并且推动其商业化应用进程。初期主要通过软件方式模拟硬件,即完全虚拟化。这种模式将单台物理机模拟成多台虚拟机,完全靠VMM(虚拟机监控器)模拟底层硬件实现,因此性能较低。后来出现了半虚拟化技术,通过修改客户机操作系统代码实现。但这种模式无法用在非开源操作系统中,同时修改操作系统的工作量很大,比较烦琐。因此,从20世纪90年代到21世纪初,基于x86服务器的虚拟化技术在性能上一直没有获得质的突破,其应用发展也受到了限制。
20世纪90年代中期,Sun提出了网络即计算机的概念,曾在业界掀起了一波热潮,并且有不少公司开始实践这一理念。但由于当时的网络和技术条件所限,这种理念并没有得到普及。到了21世纪初,效用计算的概念被提出。效用计算是指将主机资源基于网络出租给用户,并且按用户的资源使用量计费,这样,硬件设备就可以像水和电一样按需按量提供。这种理念与后来为人们所熟知的IaaS如出一辙,但在当时由于部署管理效率较低、运营成本较高,且受到网络带宽的制约,所以最终没有发展起来。不过,效用计算的概念仍为后来的IaaS奠定了基础。
同期,ASP(应用服务平台)的概念也被提出,在IT行业,这种新的应用外包模式兴盛一时,各种系统开始迁移到网络上,并通过出租的方式提供给用户。但同样由于当时的网络条件和Web技术不成熟,对每个用户都需要进行定制化部署和开发,运营成本很高,而业界真正提供的ASP服务大部分功能都比较简单,用户使用体验不好,不能真正实现为用户节约成本和提升信息化水平的初衷,因此ASP的理念也逐渐淡出人们的视野。
在这个阶段还出现了分布式计算的另一个分支——网格计算,并且一度让人们看到了计算资源共享和按需供应的可能。与传统分布式计算不同的是,网格技术试图解决的是异构问题,由跨网络、跨机构(虚拟组织)、异构节点构成网格,统一提供计算和存储能力。通过网格技术虽然可以获得比传统分布式计算更为强大的能力,但复杂性可想而知,因此,网格计算一直未能在商业应用上打开局面,而是主要在学术领域和一些需要高处理性能的领域(例如地震预测)获得了应用,并且在21世纪初逐渐不被人们所关注。
在这个阶段,各种技术得到了进一步的发展,同时进行了初步的商业模式探索,网络计算机、效用计算、ASP、网格等都曾红极一时。但受制于技术成熟性、网络条件、市场接受度等,这个阶段的商业模式探索基本以失败告终。
3.第三阶段:云计算技术和商业模式实践期(21世纪初至今)
2005年,Intel正式推出了从硬件上支持虚拟化指令的VT技术,打破了虚拟化的性能瓶颈,掀开了虚拟化发展的新一页。同时,在存储和网络领域,虚拟化技术也获得了长足的发展,基础设施虚拟化方案开始走向成熟,并且从企业应用领域逐渐拓展到数据中心,成为云计算的基础架构技术,极大地提升了基础设施的资源利用率和灵活性,使“资源即服务”的新型IT商业模式成为可能。
随着互联网的规模化发展,大数据处理、海量数据存储等方面的问题越来越突出,分布式计算和并行计算技术经过Google、Yahoo、Facebook等互联网巨头的改进和优化,逐渐成为解决这一问题的利器。尤其是Google,其搜索业务需要庞大的存储和计算能力,传统的分布式计算、并行计算、集群计算乃至网格计算,在规模、成本及复杂性方面都难以满足迅速增长的数据处理需求。因此,Google针对搜索需求设计了新的分布式架构和计算、存储技术。这一技术以GFS、MapReduce、BigTable为代表,主要特征是超过10000台服务器的大规模集群、同构节点、统一编程模型、软件高可靠性,同时使用廉价的服务器节点和绿色能源,降低了建设和运营成本。Google的分布式计算模型不仅简单、对开发者要求不高,而且适用于各类数据的处理及多种应用场景,已经成为云计算分布式技术的新“标准”。Hadoop是在Google技术原理的基础上开发出来的开源项目。经过多年的发展,Hadoop已经广为各类互联网公司采用。分布式并行计算架构和模型虽然在适用度上还存在限制,例如对关系型数据库查询的支持能力很弱、对小文件的存储效率较低等,但在解决互联网海量非结构化数据和大数据的存储、分析与并发处理方面非常有效,能够大幅节省成本,具备极强的可扩展性和对大规模系统的高效管理运营能力,已经成为各主要互联网公司的基础设施核心架构技术,并且有利于支撑互联网公司开放其基础设施和平台能力,为各类云计算服务的提供创造了技术条件。
在虚拟化、自动化、分布式计算和存储技术开始走向成熟后,互联网巨头在借鉴以往经验的基础上对商业模式进行了再创新,并且涌现出了若干典型的成功案例,从而为云计算最终粉墨登场提供了“素材”。
作为IaaS的鼻祖,Amazon一方面通过引入虚拟化技术来实现用户共享基础设施、提升基础设施复用率、降低成本、大大提高部署和管理效率,一方面重点面向互联网开发商和中小型企业提供基础资源服务。由于它们对成本更为敏感,对弹性和灵活性更为看重,对新型的基于互联网自助订购和接入的IaaS服务接受度较高,因此Amazon的IaaS很快就获得了用户的认可并迅速发展起来。
Salesforce率先提出了SaaS的概念,并进行了积极的实践。Salesforce的SaaS服务之所以能够取得成功并广被效仿,客观上当然是因为网络条件的提升以及浏览器和Web技术的进步,但同时它也吸收了ASP失败的经验,引入了多租户架构和技术,使用户可以共享应用平台和数据库,同时能针对不同用户实现自助式定制,服务提供的速度更快,成本大幅下降,而用户体验却大幅提升。
在IaaS、SaaS发展的同时,PaaS的理念也趋于成熟,并由Salesforce、Google进行了商业实践,获得了初步的成功,开始从互联网应用服务向全面的网络应用开发与托管演进。
至此,云计算的三大服务IaaS、PaaS和SaaS落地开花,并不断引入和应用新的技术,实现了成本、安全性以及用户体验的进一步提升,促进了云计算商业模式的成熟。
1.3.2 云计算发展的驱动因素
通过第1.3.1节对云计算发展历程的回顾可以看出,云计算是一项里程碑式的技术,它翻开了IT和互联网发展历史上新的一页。云计算在虚拟化、分布式计算、并行计算、网格计算、Web 2.0技术等已有技术的基础上,针对信息化新需求进行了重构、优化、整合,通过业界的共同实践和努力,并伴随着宽带网络的普及,成为冲击和改变传统IT产业的一支革命性力量,并开始改变现有的IT产业格局。从本质上说,云计算不仅是科学技术的创新,同时也是重大的社会知识创新。
也许很多人会说,云计算中的许多技术,如并行计算、分布式计算、虚拟化、数据集中存储访问等,在二三十年前就出现了,云计算只是IT概念的又一次炒作,是一种市场行为和宣传手段,是用新瓶装旧酒。但是,这种说法并不全面。根据彼得·德鲁克的创新理论,“以知识为基础的创新,需要很长的间隔时间,这一特征并不仅仅局限于科技知识的创新,也同样存在于那些基于非科学和非技术性知识的创新中。知识变成可应用的技术,进而开始被市场接受,所需要的间隔时间大约在25~35年之间”。托马斯·库恩在《科学革命的结构》(The Structure of Scientific Revolution,1962)一书中也提到,一个新的科学理论大约需要30年时间才能转变为新的范式。“云”的基本理念和一些基础技术早已存在,但真正形成改变信息社会的革命性力量却是最近才出现的。
根据创新理论,“基于知识的创新几乎从不基于一个要素,相反,它们是多种不同知识的融合,而且这些知识并不局限于科学或技术知识。在所有必需的知识条件齐备之前,从事以知识为基础的创新在时间上尚未成熟。如果过早进行创新,势必遭遇失败。在大多数情况下,只有当各种要素都已经广为人知,可以同时获得,而且在某些地方已经被先行使用时,创新才会产生”。云计算近几年爆炸式的增长正是多方面知识准备和条件具备的结果。总之,云计算是技术、商业模式、运营组织架构3个要素共同发展驱动的结果,这3个因素缺一不可。
1.技术条件
半导体、存储技术、网络技术的发展达到较高水平为云计算的发展提供了基础条件。硬件集成度和性能的提升遵循摩尔定律,而网络带宽的提升则超越摩尔定律,为大规模部署硬件基础设施奠定了基础。
并行计算、分布式计算、虚拟化等关键技术经过几十年的不断实践和完善,目前已经达到了新的高度,基本具备规模化商用条件。并行计算早在20世纪60年代初就出现了,分布式计算在20世纪80年代出现,虚拟化技术也在20世纪60年代初出现,它们都经历了漫长的发展和应用过程。分布式计算目前的主要应用形式包括集群计算(紧耦合)、网格计算(松耦合)及正在发展的云计算(松、紧耦合相结合);而虚拟化技术从20世纪60年代IBM的大型机虚拟化发展到20世纪90年代末的x86虚拟化,并且不断完善,目前已基本成熟。分布式计算从以硬件为主转变到以软件为主(例如Google的分布式软件系统采用的是普通、廉价的定制服务器,主要通过软件的方式来实现可用性、可靠性和可扩展能力);而虚拟化技术则从软件发展到软、硬件配合,效率更高。
运维管理技术随着自动化管理、监控和集群调度技术的发展,目前已经可以管理规模庞大、遍布全球的基础设施。
软件开源社区的蓬勃发展及Linux、Apache(Tomcat)、MySQL等开源软件通过定制开发构成的云计算基础软件栈都极大地降低了云计算部署的成本。
在互联网发展的过程中,计算架构也发生了巨大的变化,从早期的C/S(Client/Server,客户端/服务器)阶段,到后来的B/S(Browser/Server,浏览器/服务器)阶段,目前正在进入B/C(Browser/Cloud,浏览器/云)阶段,浏览器的功能越来越强大,服务器也逐渐演进到大规模、分布式的服务器集群。
2.商业模式
互联网服务经过十几年的发展,已经渗透人类社会的各个领域,电子邮件、搜索、新媒体(如新闻、博客、微博、视频分享)、电子商务、行业信息化都离不开互联网。从PC到笔记本电脑,再到目前正在兴起的智能手机、上网本和平板电脑,互联网终端也发生了巨大的变革,正处在从桌面互联网向移动互联网的跨越式发展过程中。互联网逐渐从提供内容和应用,发展为提供软件、硬件和开发平台等传统IT能力,从而使IT能力的提供从传统的产品模式转变为基于互联网的服务模式。
在这个商业模式变革中,Salesforce、Amazon和Google等互联网巨头起到了关键的作用。Salesforce在业界首先通过SaaS模式发起对商业软件的挑战,2002年首度推出SaaS CRM软件服务,2007年首度推出PaaS模式的开发平台服务。Amazon是业界首先以IaaS模式提供服务器资源的互联网服务提供商。Google则将PaaS和SaaS推向高潮,促使微软等传统软件厂商加速转型。
因此,在云计算真正被提出之前,IaaS、PaaS和SaaS就已经由若干互联网提供商尝试和实践。这种按需订购IT能力的服务模式经过了市场的检验,并获得了认可,从而为云计算的提出及被市场广泛接受打下了坚实的基础。不过,目前云计算商业模式的发展还处于初级阶段,仍有许多模式和细节需要逐步完善,从而最终形成被广泛认可的、标准化的模式,且为大众所接受。
3.运营组织架构
生产关系要适应生产力的发展。对于一个企业来说,组织架构和管理模式需要适应技术的发展和市场变化的需要,只有找到了适合的运营组织架构,企业才能充分发挥新技术的优势。
在云计算被提出之前,绝大部分互联网企业都已经实现了对IT基础设施的统一部署和管理,并能根据业务和应用的需求提供IT基础设施,而且随着业务和应用的扩张,IT基础设施能够实现快速的规模化扩展。大量的应用和用户共享基础设施极大地提升了资源共享率,降低了成本。同时,集中的监控、维护和简单的管理界面实现了高效运营,极大地降低了运维成本。互联网的这种基础设施分布化、共享式按需资源提供模式及集中运营管理的IT运营架构和管理组织模式,为云计算的低成本、易扩展、海量存储和大规模并发计算提供了运营和组织上的保证。
正是由于以上3个方面因素的成熟,才出现了云计算的创新时代。不过,目前云计算还处于初始阶段,就像20世纪50年代计算机刚刚产生时一样,还有很多不完善之处,只有少数企业掌握了其核心技术,并具备将其转化为服务和产品的能力。对整个业界来说,云计算在技术、商业模式和运营组织架构方面的研究和实践仍处于起步阶段,还需要进一步的完善和发展。而对于任何一个企业或组织,不论是希望掌握和使用云计算技术,还是希望推出基于云计算的技术和产品,都需要具备这3个方面的能力,才能顺应产业的发展,跟上时代的潮流。