云计算(2)

发布时间:2010-03-31 作者:王柏,徐六通

    云计算是目前被广泛讨论的互联网热点,各大IT巨擘都推出了自己的云计算产品。本讲座将分3期对云计算技术进行讨论:第一讲从云计算服务的使用者角度简单叙述云计算的由来、基本特点以及当前的典型应用;第二、三讲从技术角度探讨云内部的具体内容,分析云计算的组成、体系结构、计算模型,比较云计算与其他分布式计算技术的区别,探讨云计算的成功案例、云计算商业模式、相关的经济技术问题、云计算发展趋势等。

 

 

6 云计算体系结构
    要想知道云计算到底是什么,就得看看这云里边到底包括什么成分以及采用何种体系结构组成。就像自然界的云是指停留大气层上的水滴或冰晶胶体的集合体。云是地球上庞大的水循环的有形结果。太阳照在地球表面,水蒸发形成水蒸气,一旦水汽过饱和,水分子就会聚集在空气中的微尘(凝结核)周围,由此产生的水滴或冰晶将阳光散射到各个方向,这就产生了云的外观。但是其成分并不仅是水、微尘,还有导致闪电的正负电荷,甚至由于污染物造成的酸类物质。云中各类成分构成比例不同,对气候会产生不同的影响。
通常一个软硬件应用系统的体系结构包含从不同角度察看系统所得到的不同视图。我们同样采用这种方式来刻画云计算系统。云内部的成分及其组织方式也将影响到云系统的功能和使用。


    下面就从不同角度来看云的组成、云的分类、云的服务层次、云计算开放体系结构和面向市场的云计算。当然,云计算还不成熟,文中的阐述并非一家之言,但是读者可以从中对云计算相关的技术有基本了解。

 

6.1 云的组成
    从上一讲中的云计算概观图可以看到,云计算系统由许多云计算服务提供商共同组成。从计算机软硬件角度来说,云计算系统是由各类计算机、存储设备、通信设备,以及在这些硬件设备上运行的软件系统构成的。

 

 

 

 

 

6.2 云的分类
    有研究人员把云计算分为3类,即公共云、私有云和混合云。如图3所示:

 

 

  • 公共云:或者外云,表示传统主流意义上的云计算,即非本地的第三方云服务提供商在Internet上通过Web应用或Web服务的方式为客户提供基于自服务的精细化的共享资源,以及基于效用计算的精细化资源账单。
  • 私有云:或者内云,是指一些厂商用来描述在其私有网内提供云计算服务的新词汇。这些虚拟化产品声称能够“交付有优点没有弱点的云计算服务”,主要关注数据安全、企业可管理、和可靠性方面。有批评指出用户“仍然需要购买、搭建和管理私有云”,不能在降低前端资本投资和减少管理方面受益,而恰恰是这个经济模型才成就了云计算这个奇妙的东西。
  • 混合云:混合云环境包含多个内部和/或外部云构成,“将会适合大多数企业的典型云环境”。

 

 

 

6.3 云的服务层次
    截止到2009年,大部分的云计算基础构架是由通过数据中心传送的可信赖的服务和建立在服务器上的不同层次的虚拟化技术组成的。人们可以在任何提供有网络基础设施的地方使用这些服务。云计算软件和数据均存储在数据中心,并通过Web方式提供通用的商业应用服务,而用户则采用浏览器访问在线应用服务。


云计算一般被认为包括几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。人们常看到的关于云计算的结构图如图4所示。

 

 

  • 云客户端可以在各类设备上(包括移动设备)运行Web浏览器,但它使用的云应用服务是由云计算平台提供的。
  • 云应用层(SaaS)在应用软件层次上实现云计算,通常不需要在客户端安装和运行应用程序,从而可减轻用户进行软件运维的负担。在这一层次上典型的应用如Web应用Facebook、YouTube,软件即服务的Google Apps(如Gmail)、Salesforce,内容分发服务BitTorrent(BT下载)等。
  • 云平台(PaaS)将计算平台或解决方案作为服务交付,通常需要云基础设施并支撑上层云应用。例如:支付服务平台Paypal、解决方案Google App Engine、文件存储Amazon S3等。
  • 云基础设施(IaaS)是将计算机基础设施(通常是平台的虚拟化环境)也作为服务交付。例如:Amazon EC2虚拟机等。
  • 云服务器层由计算机硬件和相应软件组成,专门为云服务的交付而设计。

 

 

     总的来说,云计算强调一种互联网资源利用的新模式,它是一种把 IT 资源当作服务来提供的手段。几乎所有 IT 资源都可以作为云服务来提供:应用程序、计算能力、存储容量、网络通信服务和协作工具。因此,下面我们从服务的角度来看看云计算。

 

 


    与云计算密切相关的概念是 “一切即服务”(XaaS)。更有研究者把人的群体智能也纳入服务栈,利用大众的力量共同为某些服务作贡献,例如维基百科、“有新闻价值的”视频流等。上述服务栈进一步细化后如图5所示:

 


    简单的服务可以进一步组合成复杂多样的应用服务。这不仅可以在SaaS层实现,也可以在低层上实现。比如AmazonWeb Services 的应用GrepTheWeb采用简单队列服务(SQS)实现控制器的解耦合,在EC2实例的集群上实现Hadoop MapReduce,S3和SimpleDB 用于数据存储和检索。

 

6.4 云计算开放体系结构
    虚拟化是实现云资源共享的核心技术,结合面向服务体系结构(SOA)的灵活性、可扩展性和可重用性,有研究人员参考开放系统互连参考模型(OSI)七层模型设计了云计算开放体系结构,并作为云计算系统实施的参考模型。


    该体系结构涵盖了云生态系统实施环境、云基础设施及其管理、服务导向、基于供给和订阅的云核心服务、提供可组合的云服务、云信息体系结构和管理以及云质量分析。该体系结构的一系列设计原则有:


    (1)云生态的集成管理。一个体系结构必须支持云计算生态系统的管理,这个生态系统包括在云计算环境中涉及提供或消费共享资源的全体的服务和解决方案厂商、合作伙伴、以及最终用户。强调在云计算环境的价值链中云厂商和合作伙伴之间的协作关系。


    (2)云基础设施的虚拟化。硬件虚拟化实现设备的即插即用,软件虚拟化采用软件映像管理或代码虚拟化技术实现软件共享。其他软件虚拟化技术包括动态代码组装和执行。例如在Internet应用中,一些JavaScript代码元素可以动态检索并插入到一个Ajax包中以便在Web客户端实现新的功能或特性。


    (3)服务导向是另一个通过云计算来实现资产重用、应用合成、和混搭服务,进而实现商业价值的驱动力。公共可重用服务可用于云核心服务的供给和订阅,以及构建提供IaaS、SaaS、甚至业务流程即服务(BPaaS)云服务。


    (4)云服务供给、订阅及可扩展性。可扩展性是云计算系统的独特特性,没有它云计算体系结构中供给部分只能支持某些类的资源共享。随着时间的推移,免费用户和付费用户均可能在服务提供和消费之间转换,并且能在3个不同的服务层次上进行。


    (5)可配置云业务解决方案。体系结构须保证云计算平台和服务的可配置性。模块化的云生态管理、虚拟化、服务导向、云核心服务为确保计算平台可配置、可组合、和可管理提供了坚实的基础。


    (6)统一的信息表示和交换框架。云计算资源信息的表示和消息交换对于云计算中实现协作是至关重要的特性。云计算资源包括所有业务实体(云客户端、合作伙伴和厂商)和支撑资源(如虚拟化模块、服务导向模块、云核心服务、云服务提供)。云信息体系结构就是在统一云计算实体描述框架内实现这些云实体的表示,而消息路由和交换协议以及消息转换能力则构成云信息体系结构的基础。


    (7)云质量和管理。定义并标识云计算环境中质量指标,以及一组指南指导云服务提供相关的设计、部署、运行、和管理。


    上述方法总体来说,就是结合SOA和虚拟化技术一起来实现并发掘云计算的商业价值。

 

 

6.5 面向市场的云
    云计算是一种基于互联网的新的资源共享模式,强调的是其运行的商业模式。那么,这种特性对于云计算本身有什么影响呢?有研究人员提出面向市场的云计算体系结构以及用于服务交易的全球云交易和市场基础设施,并展开了深入的研究。

 

6.5.1 面向市场的云计算体系结构
    墨尔本大学的云计算实验室的研究人员在期刊《下一代的计算机系统》上撰文“云计算和最新的IT平台:将计算作为第五类公用事业交付的愿景、假设和现实”,从另一个角度提出面向市场的云计算体系结构,支持云计算环境中基于服务质量(QoS)协商和服务等级协议(SLA)的资源分配。如图7所示。

 


    其中包含4类实体:

  • 用户/中间商:代表自身可以从全球任何地方向云计算中心提交服务请求。
  • SLA资源分配器:作为云服务提供商和外部用户/中间商之间的接口,需要下列交互机制来达到面向SLA的资源管理;
  • 服务请求检查和接纳控制:当服务请求到达时,首先解析其QoS需求并根据资源负载以决定接受或拒绝请求,再根据资源可用情况(虚拟机(VM)监控)和负载处理(服务请求监控)作出有效的资源分配决策,然后将服务请求指派给VM并确定该VM资源使用权。
  • 定价机制:基于提交时间(闲忙时)、费率、资源的可用性等为服务请求定价。
  • 记账:为服务请求记录资源的实际使用情况以便最后计算并向用户收取费用。
  • VM监控:跟踪VM及其可用资源的情况。
  • 服务请求监控:对服务请求的执行情况进行跟踪。
  • VM:在一台物理主机上可以按需启动/停止多个虚拟机以满足接受的服务请求需要。
  • 物理主机:大量服务器构成计算资源群以满足服务需求。


    作为商用的基于市场的云服务提供商必须能够:

  • 支持客户驱动的服务管理。
  • 定义计算风险管理战术,以甄别、评估、和管理运行客户程序可能带来的风险。
  • 制定合适的基于市场机制的资源管理策略,以满足上述两方面要求以维持面向SLA的资源分配。
  • 嵌入自动资源管理模型,实现服务需求变化的自我管理,同时满足原有服务的义务和新服务的需求。
  • 实现VM技术,根据服务需求动态分配共享资源。

 

6.5.2 云计算服务交易市场
    企业采用云计算来改善其服务的可伸缩性以解决突发事件的资源需求,但当前云服务商的专用接口和贫乏的资源定价策略限制了客户在多个服务商之间的迁移。云计算要走向成熟,服务必须遵循标准的接口,这样服务就可以被商品化,从而为建立支持服务交易市场的基础设施铺平了道路。在云计算市场中,服务消费者希望在费用最小化的同时满足QoS,而服务提供商则希望投资回报最大化的同时保持客户,这就需要研究资源价值的表示、转换、强化等相关的机制、工具和技术。基于现实市场交易的云计算服务市场系统模型如图8所示:

 


    其中,市场目录方便参与者定位供应商或消费者已获得供需信息,拍卖商定期更新从市场参与者收到的买入价和卖出价,银行系统保证参与方达成一致的金融交易能够顺利进行。


    中间商的作用与现实世界的市场中一致,他们在供应商和消费者之间起着中介者的作用,即从供应商处购买计算(服务)能力,然后转租给消费者。消费者、中间商和供应商之间受制于SLA,SLA规定了经各方同意的所提供服务的量化细节以及违背时的罚则。这样的市场机制能够在不同的云之间架起桥梁,允许消费者通过事先签订SLA或当场购买能力来选择能满足其需求的供应商。供应商的定价机制能够根据市场状况、用户需求、以及当前的资源利用率水平等为资源进行定价。供应商的采纳控制机制可以选择采用拍卖或通过中间商进行协商,协商过程最终达成SLA或放弃。中间商通过差价获利,因而中间商可以选择客户以及供应商。而消费者的需求则包括截至日期、结果的准确性、运行时间以及有限的预算等。对于企业消费者而言,可以把其有限的IT资源部署到云上。这样企业计算就可以采用这些资源作保障,也可以租用其它供应商的资源作为应用扩展。


    将计算资源纳入效用市场机制的想法由来已久。许多研究项目涉及基于VM的按时间片进行资源分配的交易机制,上面介绍的资源中间商则可以实现和资源供应商进行协商的能力。墨尔本大学的云计算实验室在原来开发企业网格的基础上实现了一个面向市场的云平台Aneka,它是一个基于NET的面向服务资源管理平台,实现了云计算模式的许多特性。

 

6.6 集群、网格、云计算比较
    我们在上一讲曾简单提及用户能直接感受到的云计算的若干特性。从技术角度来看,还有许多特性可以用来区分集群、网格和云计算平台。


    云计算和集群、网格具有许多共性,但云计算平台也具有一些独特属性和能力,如对虚拟化的支持,通过Web服务接口提供动态组合服务,支持创建基于云计算、存储和应用服务的第三方增值服务等。 一些关键特性的比较如表1所示。

 

 

收稿日期:2009-11-06