当前位置:文档之家› 云计算分层体系结构研究

云计算分层体系结构研究

【摘 要】文章首先探讨了云计算的定义,接着对其体系结构进行梳理,将IT业内的相关业务和技术分别归纳到该体系结构的五个层面中,最后阐述了云计算在国内的应用。

【关键词】云计算 体系结构 业务实例 IDC收稿日期:2010-07-27彭国庆 周冠宇 广州杰赛通信规划设计院云计算分层体系结构研究1 云计算定义从严格意义上来说,云计算不是一个具体的技术概念,并没有明确的定义,也因其所指的“什么都能做”而受到业界的广泛批评。

尽管如此,我们却可以对云的特性进行分析,从而明确云计算的涵义。

可以通过以下几条语句来描述它:(1)云计算是通过互联网广泛共享计算资源的一种计算方式,而不是使用本地PC的软件或存储;(2)云计算是快捷接入互联网所提供的远端站点的一种延伸。

理论上,这是一种范式转移,对用户来说,云将实现的技术细节抽象了,用户不需要也不用了解和控制组成云的技术架构;(3)云计算描述了一种新的基于互联网IT服务的补充、消费和交付模式,它提供典型的基于互联网的业务——以动态可扩展的和虚拟的资源作为服务;(4)典型的云计算提供商交付公共在线商业应用,这些商业应用在客户端通过网页浏览器访问,而软件和数据则被存储在服务器端。

由此,我们可以尝试着给云计算下一个定义:提供计算能力,将底层技术架构(如:服务器、存储和网络)抽象为计算资源,方便地、按需地通过网络访问可配置计算资源的共享池,计算资源能以少量的管理代价或由服务提供商交互而被快速提供和释放。

这个定义描述了云计算的五个必要特性:(1)按需自助服务:申请、调整和释放资源均由用户在管理界面上自行操作;(2)广泛网络访问:任何时间、任何地点和任何接入方式均可以访问到云计算所提供的服务;(3)资源的池化:计算机的物理资源不再专人专用,而是有需求才占用,不需要就释放;(4)良好的弹性:资源的调度能够及时响应用户需求的扩张和收缩;(5)计费服务:可满足公用服务的运营需求,资源的使用以计时和计量来收取费用。

其实云计算所涵盖的技术并不具有创新性,它是很多已有技术的抽象、进化和综合:(1)网格计算(Grid Computing):分布式计算和并行计算的一种形式,一群联网的松耦合计算机可协同处理非常巨大的任务,如同一台超级的虚拟计算机。

通常用于科学计算;(2)公用计算/效用计算(Utility Computing):将计算资源打包,如计算能力和存储,作为一项可计量的服务,类似于传统的公用设施(例如:水、电、气)。

由亚马逊首先进行商用;图2 云计算分层体系架构各层的详细描述如下:2.1 云客户端(Cloud Clients)云客户端,有时又称为云终端或云电脑,是直接面向客户的人机接口。

一台云客户端由计算机硬件和/或计算机软件组成(计算机软件是否存在,取决于云计算应用,可能需要特别设计用于获得云服务的软件,否则云服务就不能使用)。

现下流行的云客户端有:(1)手机:基于Linux的Palm(预置WebOS的Linux 核心)、Android(Linux核心)、iPhone(Darwin核心),以及基于Microsoft的Windows Mobile;(2)胖客户端:CherryPal、Wyse、Zonbu、基于gOS系统的;(3)瘦客户端/网页浏览器:Internet Explorer、Mozilla Firefox、Google Chrome、WebKit。

2.2 云应用(Cloud Applications)云应用是在软件结构上采用云计算,通常不必在客户端安装和运行应用,所有的操作、维护和升级均在服务端进行,因此可以减轻软件维护、日常操作和支持的负担。

可以作为云应用的应用主要有以下几个关键特征:(1)基于网络访问的和可管理的商用软件;(2)活动管理是由服务端控制,而不是客户端,使得客户可以通过Web方式远程访问应用;(3)应用的交付更接近一对多的模式(单实例、多租户架构)而不是一对一模式,包括架构、价格、合作伙伴和管理特征;(4)集中化的功能更新,不需要在客户端下载补丁和升级包。

(3)自主计算(Autonomic Computing):计算机系统具有自主管理能力。

从工作原理层面来看,云计算=网格计算。

工作负载被传送给由分派任务的主控节点和工作的从属节点组成的IT基础设施,主控节点控制分配给工作负载的资源(即有多少从属节点运行并行化的工作负载)。

客户机只看到工作负载被分配给云/网格,然后结果返回给它。

从属节点可以是虚拟主机,也可以是物理主机。

从运营层面来看,云计算=公用计算/效用计算。

这是Amazon EC2等的商用模型,在这种模型中,由一个外部实体来维护IT基础设施,而客户购买这个基础设施上的时间/资源。

正是这种“在云中”致使云计算分布在Web 上,处在向它租用时间和资源的机构之外。

从运维管理层面来看,云计算=自主计算。

大规模硬件节点(1000至100万)所组成的云,若仍采用以前的IT系统运维模式,大量的运维工作要由人工来处理,这将是不可能完成的任务。

因此需要云计算具备自主管理的能力。

2 云计算分层体系云计算有着庞大的体系结构,通常人们只看到它的某个方面,就如经典故事“盲人摸象”中的盲人对大象的感觉,如图1:图1 云计算之盲人摸象因此,我们有必要就云计算这头“大象”进行系统化的分析。

云计算是由5个层面构成的分层体系,这5个层面是必不可少的,如图2所示:现有网络应用可以划入云应用的主要有以下几大类:(1)Web应用:有Webmail、Facebook、Twitter、YouTube、Yammer等。

◆Webmail:利用浏览器通过Web方式来收发电子邮件的服务或技术,不需借助邮件客户端;◆Facebook:起源于美国大学校园的社交网站,国内类似的有人人网等;◆Twitter:国外的一个网站,它利用移动网和互联网进行即时通讯,是微博的典型应用。

目前国内也出现了许多类似Twitter的网站,比如说说、饭否等,与国内移动通信服务商、即时聊天工具绑定;◆YouTube:国外的视频分享网站,国内有youku、tudou等。

(2)软件即服务:Software as a Service,如:Google Apps、Salesforce、Nivio、、Zoho、等。

◆Google Apps:Google在线应用服务,提供带有私人标志的电子邮件、即时通信(网上聊天)、日历工具、网站设计工具、协同办公工具等,这些服务都由Google 托管,而不需要用户安装或维护任何软硬件;◆Salesforce:提供客户关系管理软件,它开辟了一种新的软件应用模式,通过互联网使用企业级应用软件,按需使用、按需付费。

国内的XTools、八百客等也提供类似的在线CRM服务;◆:在线教育软件公司提供的基于云的人才、业绩、学习管理及培训的软件平台,按需应用和付费;◆Zoho:AdventNet公司开发的一个办公室软件套装,提供全方位的在线商务办公解决方案;◆:基于云的网络学习平台。

(3)软件+服务:Software plus Services,将客户端的软件与托管服务结合在一起,这是软件即服务与传统客户端软件互补的概念,如:Microsoft Online Services。

2.3 云平台(Cloud Platform)云平台又称为平台即服务(PaaS),它将计算平台和/或解决方案栈(有多层)作为一项服务,通常基于云基础设施来支撑其上的云应用。

因其避开了成本、复杂的采购、底层硬件和软件层管理,它可以有效促进应用部署。

现有的云平台主要有两大类:(1)解决方案栈解决方案栈(Solution Stacks)是指实现功能完备的解决方案所需要的一套软件子系统或组件,解决方案可以是一项产品或服务。

例如:开发一项Web应用,就需要用到操作系统、Web服务、数据库和编程语言,常常提及的有:LAMP(操作系统——Linux,Web服务——Apache,数据库——MySQL,编程语言——Perl、PHP 或Python)、WINS(操作系统——Windows,Web服务——IIS,编程语言——.NET,数据库——SQL)。

当前,云平台的解决方案栈有:◆Google App Engine:在Google集群中开发和托管Web应用的平台,目前,它只支持Python和Jave编程语言。

主要的竞争对手有:亚马逊网络服务(Amazon Web Services)、微软的蔚蓝服务平台(Azure Services Platform);◆Rackspace Cloud Sites:Rackspace Cloud公司提供的一项Web应用托管/云平台服务,按需使用、按使用付费,支持PHP 5、Perl、Python和.NET语言。

Rackspace Cloud公司还提供Cloud Files(云存储)和Cloud Servers(云基础设施)的服务;◆Engine Yard、Heroku:基于Ruby on Rails的云平台;◆Azure Services Platform:基于微软数据中心的互联网云端(不只有云平台,还有客户端)服务平台,提供Windows Azure云操作系统,所有的服务和应用都运行在这个操作系统之上。

该平台提供5项服务:Live Services、SQL Services、.NET Services、SharePoint Services、CRM Services;◆:Salesforce公司的PaaS产品。

该平台能使外部开发者创建额外的应用,并将这些应用整合到Salesforce的主应用中,而且这些应用都是托管在的基础设施中。

(2)结构化存储1)数据库基于云的数据库,目前有:◆Amazon SimpleDB:Amazon的分布式数据库,它与Amazon的EC2和S3共同组成亚马逊网络服务;◆BigTable:Google的数据库系统,基于Google文件系统(GFS)、Chubby Lock Service和其他的Google 程序,不对外界直接提供业务。

2)文件存储基于云的文件存储,目前有:◆Amazon S3(Simple Storage Service):Amazon 的在线存储服务,是一项公共收费服务,Web应用程序开发人员可以使用它存储数字资料,包括图片、视频、音乐和文档;◆Nirvanix SDN:Nirvanix公司的云存储产品,将来提供Clound NAS。

它将Amazon S3作为其竞争对手;◆Rackspace Cloud Files:Rackspace Cloud公司的云存储产品,提供对媒体文件的在线存储和内容分发。

3)队列基于云的消息发送,如:Amazon SQS(Simple Queue Service),提供计算机之间消息的可靠发送。

相关主题