从严格意义上来说,云计算并不是一个具体的技术概念,它好似天空中的云一样,有着多种多样形态,观看它的人总会根据自己的想象来认为它是什么,所以 才会导致业界对云计算的定义多种多样。云计算这个术语也因为它的模糊性和所指的“什么都能做”而受到业界的普遍批评。云计算是一个产业链,其中蕴含了巨大 的商机,各类IT企业都能在其中找到自己的位置。由于体系结构的复杂性,要将云计算技术落实到企业应用却是一个非常复杂的系统工程,可能涉及多方产品的配 合,以及客户化的定制,这个过程需要有云计算的技术集成商来实施,缩短前沿技术与商业应用的距离,从而将云计算技术真正落地,而不是总在天上飘着。
在 此,我们虽然不能对云的形态进行明确定义,但可以对云的特性进行分析,从而明确云计算的内在含义:云计算是通过互联网广泛共享计算资源的一种计算方式,而 不是使用本地PC的软件或存储;云计算是快捷接入互联网所提供远端站点的一种延伸。理论上说,这是一种范式转移,对用户来说,云将实现的技术细节抽象了, 用户不需要、不用了解、不用控制组成云的技术架构; 云计算描述了一种新的基于互联网IT服务的补充、消费和交付模式,它典型地提供基于互联网的业务——以动态可扩展的和虚拟的资源作为服务;其实,“云”这 个术语是对互联网的一个比喻,是对互联网基础结构的一个抽象描绘,典型的云计算提供商交付公共在线商业应用,这些商业应用在客户端通过网页浏览器访问,而 软件和数据则是被存储在服务器端。
在上述描述的基础上,我们可以尝试着给云计算下一个技术定义:提供计算能力,将底层技术架构(服务器、存储和网络)抽象为计算资源,方便的、按需的网络访问可配置计算资源的共享池,计算资源能以少量的管理代价或服务提供商交互而被快速提供和释放。
其 实,云计算所涵盖的技术并不具有创新性,它是很多已有技术的抽象、进化和综合,比如网格计算、效用计算、自主计算。其中从工作原理层面来看,云计算=网格 计算。工作负载被传送给由分派任务的主控节点和工作的从属节点组成的IT基础设施。主控节点控制分配给工作负载的资源(多少从属节点运行并行化的工作负 载)。这些对于客户机是透明的,客户机只看到工作负载被分配给云/网格,然后结果返回给它。从属节点可以是虚拟主机,也可以是物理主机。从运营层面来看, 云计算=效用计算。这是 Amazon EC2等的商用模型,在这种模型中,一个外部实体来维护IT基础设施,而客户购买这个基础设施上的时间/资源,正是这种“在云中”致使云计算分布在Web 上,处在从它租用时间和资源的机构之外。从运维管理层面来看,云计算=自主计算。大规模硬件节点(1000至100万)所组成的云,若仍采用以前的IT系 统运维经验,大量的运维工作需要人来参与和处理,这将是不可能完成的任务,因此,为需要云计算具备自主管理的能力,尽量少用人工参与。
但凡 接触过云计算的人都会被来自各方面的云计算定义搞得很困惑,什么是云计算?怎么大家说得都不一样,但又自称是云计算呢?这是因为云计算是一个庞大的体系结 构,通常大家只看到它的某个方面或者层面,就如经典故事《盲人摸象》中的盲人对大象的观感。我们有必要就云计算这只大象进行系统化的分析。云计算是由5个 层面构成的分层体系,这5个层面是必不可少的,缺了哪一个层面都不能算是真正意义上的云计算(如左下图)。
一是云客户端,有时又称为云终端 或云电脑,它是直接面向客户的人机接口,一台云客户端由计算机硬件或计算机软件组成。现在流行的云客户端有手机、胖客户端和瘦客户端。二是云应用,云应用 是在软件结构上采用云计算,通常不必在客户端安装和运行应用,所有的操作、维护和升级均在服务端进行,因此可以减轻软件维护、日常操作和支持的负担。现有 网络应用可以划入云应用的主要有Web应用、软件即服务、软件+服务。三是云平台,云平台又称为平台即服务(PaaS),它将计算平台或解决方案栈作为一 项服务,通常它是基于云基础设施,来支撑其上的云应用。它可以有效促进应用部署,因为它避开了成本、复杂的采购、底层硬件和软件层管理。四是云基础设施, 也称为IaaS(基础设施即服务),是指计算机基础设施的交付使用,典型的表现为一个平台虚拟化环境。主要有物理机和虚拟机等类型。五是服务器层,由计算 机硬件或计算机软件组成,这里的计算机软硬件均是针对云服务的交付而特别设计的。
必须看到,云的到来总是携风夹雨,云计算也不例外,IT业 界对其争议颇多。不可否认的是,业界不乏有深厚技术储备的企业努力推动着云计算产业的向前发展,也有一些企业趁势投机和搅局,将其描绘得太理想而让人混淆 了理想与现实,从而让很多人对云计算的前景产生了困惑,甚至对其持否定态度,但我们应该认识到,云计算的发展方向是没错的。