1.1 云计算定义
云计算是由分布式计算、并行处理、网格计算发展而来的,是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物,是一种新兴的商业计算模型。
云计算(Cloud Computing)这一概念于2007年10月8日正式出现,其标志性事件是谷歌和IBM宣布联合加入“云计算”的研究工作,并给出“云计算”的定义。同年11月15日,IBM上海和阿莫科(Armok,NY)同时发布了“Blue Cloud”,Blue Cloud是一系列的云计算产品,使得共同的数据中心像互联网一样运作。
自“云计算”这一概念诞生至今,尚未形成业界广泛认可的统一定义。本书将列举4种有代表性的云计算定义,并对每种定义方式进行解读。
1. IBM的“云计算”定义
2007年10月,IBM的Greg Boss等人以技术白皮书的形式给出了“云计算”的定义:
“‘云计算’是同时描述一个系统平台或者一类应用程序的术语。云计算平台按需进行动态部署(provision)、配置(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。在云计算平台中的服务器可以是物理或虚拟的服务器。高级的计算云通常包含一些其他的计算资源,例如存储区域网络(SANs)、网络设备、防火墙以及其他安全设备等。
在应用方面,云计算描述了一类可以通过互联网进行访问的可扩展应用程序。这类云应用基于大规模数据中心及高性能服务器来运行网络应用程序与Web服务。用户通过合适的互联网接入设备以及标准的浏览器就能够访问云计算应用程序。”
IBM的定义明确指出云计算概念的内涵包含两个方面:平台和应用。平台即基础设施,其地位相当于PC机上的操作系统,云计算应用程序需要构建在平台之上;云计算应用所需的计算与存储通常在“云端”完成,客户端需要通过互联网访问计算与存储能力。
2. 加州大学伯克利分校的“云计算”定义
2009年2月10日,加州大学伯克利分校电子工程和计算机学院的Michael Armbrust等人发布技术报告《Above the Clouds: A Berkeley View of Cloud Computing》,介绍了对云计算的理解和认识。该技术报告对“云计算”这一概念的定义如下:
“云计算这一概念既指通过互联网以服务形式发布的应用程序,也指数据中心中提供这些服务的硬件及系统软件。这些服务本身就是我们常说的软件即服务(Software as a Service,SaaS),而位于数据中心的软硬件则是‘云’。”
上述定义也从云计算应用的角度对其进行了定义,认为云计算应包含应用程序和数据中心(服务端)两部分内容,应用程序以“服务”的形式对外提供功能。在这个过程中,应用程序具有“软件即服务”的特征,而“云”则指的是服务端大型数据中心的硬件和软件资源。
3. 卡耐基梅隆大学软件工程研究所的“云计算”定义
2010年9月,卡耐基梅隆大学软件工程研究所大系统(System of Systems)研究小组的Grace Lewis以白皮书的形式给出了云计算的定义:
“云计算是一种采用虚拟化、面向服务的计算和网格计算等已有技术的大规模分布式计算范型,为获取和管理大规模IT资源提供了一种不同的方式。”
该定义强调了云计算的两个重要特征。第一,云计算不是什么新名词,它基于现有成熟技术(如虚拟化、SOA和网格计算等),主要解决大规模分布式计算问题。第二,云计算的特征是规模大,并以获取和管理IT资源为主要目标。
4. 美国商务部国家技术标准委员会的“云计算”定义
2011年9月,美国商务部国家技术标准委员会(NIST)也以标准的形式给出了云计算的定义:
云计算是一种对IT资源的使用模式,对共享的可配置资源(例如网络、服务器、存储、应用和服务等)提供普适的、方便的、按需的网络访问。资源的使用和释放可以快速进行,不需要很大的管理代价。
上述定义强调云计算具有可配置共享计算资源池的结构特征,能够实现资源的快速提供和释放,从而体现了云计算边界的模糊性。另一方面,在资源使用方面,云计算具有普适性、方便性和按需性。
结合上述定义,本书对“云计算”这一概念的特征进行总结:
(1)在技术体制方面,云计算不是全新的技术,而是现有技术的综合利用。“云”可以认为是以虚拟化、面向服务的计算和网格计算等成熟技术为基础,以大规模资源共享为目标,采用共享资源池的模式进行构建的大型服务器集群。
(2)在经济性方面,云计算强调系统构建的低成本。基于云计算技术,通常采用数量较多的高性能PC机或小型服务器等较为便宜的硬件构建分布式服务器集群,提供可用性、可伸缩性都很强的计算服务。
(3)在应用程序特征方面,云计算强调基于互联网的应用。云计算的典型应用模式是客户端根据自身需要,通过浏览器等标准程序访问发布在互联网之上、以服务形式提供的计算能力、软件、存储服务、中间件平台,等等。
(4)在应用模式方面,云计算提倡效用计算(utility computing),并采用多重租赁的方式提供计算服务。云计算技术将“计算”看作是“效用资源”,强调“软件即服务”。这种新的应用模式将带来三个方面的转变:第一,对于中小型企业与独立开发者来说,在构建与部署新的应用系统时,不再需要购买硬件设备,也无须花费大量的人力成本来对设备进行管理,只要按需租用需要的计算资源,从而消除了计算资源的超前供给与浪费。第二,对于快速成长的中小型企业,云计算允许企业按照需求从小规模开始逐渐发展,并仅在需要时增加硬件资源,支付相应成本。第三,云计算支持根据需要对计算资源的短期使用付费(如按小时计的处理器资源,按天计的存储资源等),并在需要时发布,这样可以在它们不再有用的时候释放机器和存储资源,以节约成本。