浅析深究什么是云计算(2)
在IT业界,对于“云计算”至少有超过20种的解释。
维基百科的定义为“云计算(cloud computing),是这样一种计算方式,计算资源是动态易扩展而且虚拟化的,往往通过互联网提供。用户不需要了解‘云’中基础设施的细节,不必具有相应的专业知识,也无需直接进行控制”。
埃森哲(Accenture)咨询公司的定义“第三方提供商通过网络动态提供及配置IT功能(硬件、软件或服务)”。
云计算的概念模型
其实,云计算作为一种新技术,包含了多层含义:
用户的公共性:云计算所提供的服务对象,既有企业/政府/学术/个人等最终用户,也包括应用软件、中间件平台等“用户”,这是根据云计算提供不同层次的服务所决定的。
设备的多样性:云计算所提供服务的设备也是多样的,既包括各种规模的服务器、主机、存储设备,也包括各种类型的终端设备,如计算机、智能手机、各种智能传感器、RFID设备等。
商业模式的服务性:云计算是以服务的方式提供设备和应用的。这种服务特性体现在两个方面的特征:简化和标准的服务接口,按需计费的商业模式。
提供方式的灵活性:云计算既可以作为一种共用设施,提供社会服务,即“公共云”,也可以作为企业信息化的集中计算平台来提供,即“私有云”。
云计算的概念模型
因此,云计算的核心内涵包括:
计算服务化;
资源虚拟化;
管理智能化。
云计算的技术体系
要完全理解云计算的技术体系,或者其完整含义,我认为需要从三个方面说明。
也就是说,云计算一点也不神秘,其实云计算就是软件即服务SaaS、网格计算、虚拟化三个概念的结合体。
云计算的技术基础
云计算的虚拟化(Virtualization)
虚拟化即基础设施的虚拟化(Virtualization),核心是传统已经成熟的集群技术和分区技术的结合。集群计算(Cluster Computing)是将多台服务器虚拟为一台服务器的技术,目的是提高计算能力和提升设备的容错、实现负载均衡。集群技术已经广泛应用于操作系统、数据库和中间件等系统软件平台。而分区计算(Partition Computing)是大型主机和UNIX小型机上一种成熟的技术,就是将一台服务器虚拟为多台服务器,每个虚拟单元叫一个分区,各分区之间是相互隔离的,目的是提高资源利用率。只不过,现在低端的INTEL架构的PC服务器也支持虚拟化而已。
云计算的虚拟化
虚拟化目前还包括网络虚拟化(VPN)和存储虚拟化(SAN/NAS)等技术,与服务器虚拟化一起,构建为一个完整的计算资源虚拟化环境,在虚拟化管理系统的控制下,实现动态的可配置的智能系统。
网格计算(Grid Computing)
云计算是网格计算(Grid Computing)的另一种表现形式,是相似技术的两种表现形式。
网格计算是一种计算能力提升的方式,其原理是依据并行计算理论,通过任务分解,将子任务分布式提交到其他服务器上运行,以获得更强大计算能力。
应用场景:科学计算,天气预报,地震分析、地质勘探、石油勘探等;
任务特色:重计算,弱流程,少交互;这种计算任务需要消耗大量的CPU计算,对网络流量不大,存储和硬盘访问量不大。
计算模式:任务通过服务分解,分布式计算。
因此,网格计算尽管在IBM等公司大力推动下,实际商业应用并不成功,主要在一些高校、科研机构等建设有这样的实验环境,因为这种计算场景并不普遍。
而云计算就是解决商业应用环境下的计算资源的虚拟提供更强大计算能力和资源利用率。
应用场景:企业管理,电子政务,电子商务等;
任务特色:弱计算,强流程,多交互;这种应用很难进行分解,频繁的人机交互,CPU消耗并不大,但存储和硬盘访问量很大,因此网络的访问流量也非常大。
计算模式:资源的虚拟提供更强大的计算能力。
云计算与网格计算
网格计算的基础技术就是Web Services,通过任务分解为服务,这些服务可以在分布式的计算环境中,实现和设备无关的标准交互,并且通过服务的封装,可以实现并行的事务处理。
云计算的平台技术,主要是依赖于SOA,而我们知道SOA的主要实现技术体系也就是Web Services,因此云计算和网格计算的核心技术基础是相似的。
因此,云计算的商业用途将非常广泛,能够得到厂商和用户的大力支持。
云计算的服务化
云计算的使用模式即服务化。所谓服务化,即服务消费者只需提供服务的请求,并提交服务的输入,而不关心服务的实现方法、技术和流程,而直接得到服务的结果。云计算的服务模式是将软件作为服务SaaS (Software as a Service)、将平台作为服务PaaS (Platform as a Service)和将基础设施作为服务IaaS (Infrastructure as a Service)等各种模式。
云计算的服务化
软件即服务Software-as-a-Service,简称SaaS,是随着互联网技术的发展和应用软件的成熟,而在21世纪开始兴起的一种完全创新的软件应用模式。著名的SaaS供应商salesforce公司提出的SaaS 并运用于CRM行业,它是一种通过Internet提供软件的模式,SaaS供应商将应用软件统一部署在服务器上,客户可以根据自己实际需求,通过互联网向服务商定购所需的应用软件服务,按定购的服务多少和时间长短向服务商支付费用,并通过互联网获得服务商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。SaaS之中的软件“Software”本质上是指应用软件Application Software,严格上来说SaaS应该叫做AaaS(Application as a Service)或者BaaS(Business as a Service),这是因为SaaS出现的时候,系统软件和平台软件还不能也还没有作为服务来提供。
平台即服务Platform -as-a-Service,简称PaaS,是云计算一种重要的服务模式,其核心是将计算环境和应用程序的运行平台作为一项服务进行提供。PaaS的实现方式是将中间件平台、及其组件和运行环境进行封装。 例如,如果客户拥有Java应用程序,或者个性化的一个应用需要电子地图组件,传统上必须购买和配置服务器硬件和操作系统,以及应用服务器软件和电子地图组件等,还必须购买Oracle数据库等系统软件,才能提供一个综合的计算平台,其应用软件才能够运行。而现在,云计算就可以提供客户一个应用运行的平台,而客户无须关心平台的配置硬件环境和软件系统,只要部署到PaaS之中的平台实例或者电子地图的接口上(WebService)就可以按照租用的方式来运行系统了。
基础设施即服务IaaS (Infrastructure as a Service)是将硬件资源进行虚拟化,在操作系统层面将计算基础设施(CPU/内存和存储/操作系统)等以出租的方式在虚拟网络VPN下为客户提供服务的模式。
云计算的智能化
云计算的虚拟化和动态管理本质上是系统的管理智能化,通过动态配置的资源管理、自动动态配置的自适应性和自我恢复能力,将云计算设计为智能系统。这些智能的自我管理特性表现为:
- 虚拟化设置:可以非常简化地在控制台配置虚拟化的计算资源;
- 资源动态配置:可以在运行期动态调整资源配置;
- 系统自动监测:自动监测系统运行的健康状况,对异常情况自动报警;
- 安全隔离:各虚拟资源之间进行安全的隔离,各个实例之间实现自治;
- 负载自动均衡:系统在虚拟设备之内实现多个资源之间的自动负载均衡;
- 资源管理决策支持:可以对云计算资源的适应状况进行优化的管理决策,实现自优化;
- 自恢复:云计算的实例和虚拟化资源出现运行故障或者死锁,系统具备自我恢复功能。
通过这些智能化的管理功能,云计算是一个自适应、自优化的智能系统。