为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

主流云计算平台的特征

2010-12-03 9页 doc 1MB 71阅读

用户头像

is_072579

暂无简介

举报
主流云计算平台的特征主流云计算平台的特征 摘要 Google、Micsoft和Amazon等公司正在大力开发云计算技术,旨在使个人和企业能够通过终端设备更加智能和快速地处理复杂的计算任务,由于云计算是开放的标准,企业用户都可以利用“云”端的计算和存储能力来完成自己的应用和数据存储。各企业都开发了自己的云计算,因此就各具有各自的特征,本文主要通过分析Windows Azure Services Platform,Google App Engine和Elastic Computer Cloude三个平台从结构功能以及服务等方面,更好了解云计算。 Wi...
主流云计算平台的特征
主流云计算平台的特征 摘要 Google、Micsoft和Amazon等公司正在大力开发云计算技术,旨在使个人和企业能够通过终端设备更加智能和快速地处理复杂的计算任务,由于云计算是开放的标准,企业用户都可以利用“云”端的计算和存储能力来完成自己的应用和数据存储。各企业都开发了自己的云计算,因此就各具有各自的特征,本文主要通过Windows Azure Services Platform,Google App Engine和Elastic Computer Cloude三个平台从结构功能以及服务等方面,更好了解云计算。 Windows Azure Platform是一个运行在微软数据中心的云计算平台。他包括了一个云计算操作系统Windows Azure、云中的数据库SQL Azure和一个基于Web的开发服务Windows Azure PlatformAppFabric。这种结构延续了传统软件平台的特点,不同的是Windows Azure Platform可以按照云计算的方式将服务按需扩展。Windows Azure支持微软和非微软的语言和开发环境,包括对PHP、Eclipse、REST等互操作性的支持;AppFabric让开发人员更专注在应用逻辑上而不是在基础架构的部署和管理方面。 Google的云计算技术实际上是针对Google特定的网络应用程序而定制的。针对内部网络数据规模超大的特点,Google提出了一整套基于分布式并行集群方式的基础架构,利用软件的能力来处理集群中经常发生的节点失效问题。   Amazon将自己的弹性计算云(EC2)建立在公司内部的大规模集群计算的平台上,用户可以通过弹性计算云的用户交互界面去申请在云计算平台上运行的各种服务。通过Xen(一个开源的虚拟机管理程序)虚拟化技术提供操作系统级的平台支持,用户可以不需要硬件的基础而从“云”中直接获取所需的“计算机”。运行结束后,系统管理程序会根据用户使用资源的状况来计费,即用户只需为自己所使用的计算平台实例付费。通过这种方式,无论是个人还是企业,都可在Amazon的基础架构上进行应用软件的开发和交付,而不必配置软件和服务器。图4展示了一个EC2系统的使用模式。 如图4,终端用户通过SOAP over HTTPS与Amazon弹性计算云内部的实例进行交互。这样,云计算平台就为用户和软件开发人员提供了一个虚拟的集群环境。弹性计算云中的每一个实例代表一个正在运行的虚拟机,用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的超级管理权限。当服务结束后,系统将按照虚拟机的能力(如存储容量、处理器速度、流量等)进行计费,用户实际上租用的是虚拟的计算能力。由于弹性计算云这种“按需使用”的模式,使得开发者能够享有充分的灵活性,满足了中小规模软件开发人员对集群系统的需求,减小了开发成本和维护负担。同时,也使得“云”端的软硬件资源能够动态地“按需调度”,从而减轻了云计算平台供应商的管理负担。 微软云计算的战略主要包括了三个部分:第一部分是构建及运营公共云的应用和服务,通过Online Services和Windows Live的方式同时向企业客户和个人消费者提供云服务;第二部分是为企业提供搭建私有云的解决方案,包括提供产品、技术、平台和运维管理的支持;第三部分是合作伙伴托管,通过ISV/SI在Windows Azure Platform上开发ERP、CRM等各种云计算应用,并提供给最终用户,微软是唯一涵盖了云计算三大部署模式的提供商。” “三屏一云”是微软在客户端一直坚持的策略,希望利用互联网的力量,以软件为基准,将PC、移动终端设备和TV这三种不同类型的终端实现互联互通,并通过云端提供丰富的、无缝的用户体验。客户端构成了微软云计算整体架构最上面一层的应用。 “三屏一云”的愿景 在接下来的SaaS(软件即服务)部分,微软针对企业用户提供Online Services,在医疗、电子政务以及航空货运方面,提供邮件、企业门户、OA、CRM、即时通信、内容管理等提高业务经营效率的服务。微软将企业服务总线、工作流、身份认证管理以及数据挖掘方面的工具集成在PaaS(平台即服务)部分,提供了一个完整的应用系统开发、测试和托管的服务环境,为上层的SaaS服务提供商降低了应用开发的门槛,提高了开发效率。 最底层的IaaS(基础设施即服务),是指企业使用云计算技术远程访问计算资源,包括计算、存储以及应用虚拟化技术所提供的相关功能,微软集合了数据存储、负载管理、数据备份多种基础服务,通过云计算的相关技术将内存、I/O、存储和计算能力集中起来形成了一个虚拟的资源池。无论是最终用户、SaaS提供商还是PaaS提供商都可以从IaaS基础设施服务中获得应用所需的计算能力,但无需对支持这一计算能力的IT基础设施软硬件付出成本。   Google使用的云计算基础架构模式包括四个相互独立又紧密结合在一起的系统。包括Google建立在集群之上的文件系统Google File System,针对Google应用程序的特点提出的Map/Reduce编程模式,分布式的锁机制Chubby以及Google开发的模型简化的大规模分布式数据库BigTable。   Google File System 文件系统   为了满足Google迅速增长的数据处理需求,Google设计并实现了Google文件系统(GFS,Google File System)。GFS与过去的分布式文件系统拥有许多相同的目标,例如性能、可伸缩性、可靠性以及可用性。然而,它的设计还受到Google应用负载和技术环境的影响。主要体现在以下四个方面:   1. 集群中的节点失效是一种常态,而不是一种异常。由于参与运算与处理的节点数目非常庞大,通常会使用上千个节点进行共同计算,因此,每时每刻总会有节点处在失效状态。需要通过软件程序模块,监视系统的动态运行状况,侦测错误,并且将容错以及自动恢复系统集成在系统中。   2. Google系统中的文件大小与通常文件系统中的文件大小概念不一样,文件大小通常以G字节计。另外文件系统中的文件含义与通常文件不同,一个大文件可能包含大量数目的通常意义上的小文件。所以,设计预期和参数,例如I/O操作和块尺寸都要重新考虑。   3. Google文件系统中的文件读写模式和传统的文件系统不同。在Google应用(如搜索)中对大部分文件的修改,不是覆盖原有数据,而是在文件尾追加新数据。对文件的随机写是几乎不存在的。对于这类巨大文件的访问模式,客户端对数据块缓存失去了意义,追加操作成为性能优化和原子性(把一个事务看做是一个程序。它要么被完整地执行,要么完全不执行)保证的焦点。   4. 文件系统的某些具体操作不再透明,而且需要应用程序的协助完成,应用程序和文件系统API的协同设计提高了整个系统的灵活性。例如,放松了对GFS一致性模型的要求,这样不用加重应用程序的负担,就大大简化了文件系统的设计。还引入了原子性的追加操作,这样多个客户端同时进行追加的时候,就不需要额外的同步操作了。   总之,GFS是为Google应用程序本身而设计的。据称,Google已经部署了许多GFS集群。有的集群拥有超过1000个存储节点,超过300T的硬盘空间,被不同机器上的数百个客户端连续不断地频繁访问着。   下图给出了Google File System的系统架构,一个GFS集群包含一个主服务器和多个块服务器,被多个客户端访问。文件被分割成固定尺寸的块。在每个块创建的时候,服务器分配给它一个不变的、全球惟一的64位块句柄对它进行标识。块服务器把块作为linux文件保存在本地硬盘上,并根据指定的块句柄和字节范围来读写块数据。为了保证可靠性,每个块都会复制到多个块服务器上,缺省保存三个备份。主服务器管理文件系统所有的元数据,包括名字空间、访问控制信息和文件到块的映射信息,以及块当前所在的位置。GFS客户端代码被嵌入到每个程序里,它实现了Google文件系统 API,帮助应用程序与主服务器和块服务器通信,对数据进行读写。客户端跟主服务器交互进行元数据操作,但是所有的数据操作的通信都是直接和块服务器进行的。客户端提供的访问接口类似于POSIX接口,但有一定的修改,并不完全兼容POSIX标准。通过服务器端和客户端的联合设计,Google File System能够针对它本身的应用获得最大的性能以及可用性效果。   MapReduce分布式编程环境   为了让内部非分布式系统方向背景的员工能够有机会将应用程序建立在大规模的集群基础之上,Google还设计并实现了一套大规模数据处理的编程规范Map/Reduce系统。这样,非分布式专业的程序编写人员也能够为大规模的集群编写应用程序而不用去顾虑集群的可靠性、可扩展性等问题。应用程序编写人员只需要将精力放在应用程序本身,而关于集群的处理问题则交由平台来处理。   Map/Reduce通过“Map(映射)”和“Reduce(化简)”这样两个简单的概念来参加运算,用户只需要提供自己的Map函数以及Reduce函数就可以在集群上进行大规模的分布式数据处理。   据称,Google的文本索引方法,即搜索引擎的核心部分,已经通过Map Reduce的方法进行了改写,获得了更加清晰的程序架构。在Google内部,每天有上千个Map Reduce的应用程序在运行。   分布式大规模数据库管理系统BigTable   构建于上述两项基础之上的第三个云计算平台就是Google关于将数据库系统扩展到分布式平台上的BigTable系统。很多应用程序对于数据的组织还是非常有规则的。一般来说,数据库对于处理格式化的数据还是非常方便的,但是由于关系数据库很强的一致性要求,很难将其扩展到很大的规模。为了处理Google内部大量的格式化以及半格式化数据,Google构建了弱一致性要求的大规模数据库系统BigTable。据称,现在有很多Google的应用程序建立在BigTable之上,例如Search History、Maps、Orkut和RSS阅读器等。   图2给出了在BigTable模型中的数据模型。数据模型包括行列以及相应的时间戳,所有的数据都存放在表格中的单元里。BigTable的内容按照行来划分,将多个行组成一个小表,保存到某一个服务器节点中。这一个小表就被称为Tablet。   以上是Google内部云计算基础平台的三个主要部分,除了这三个部分之外,Google还建立了分布式程序的调度器,分布式的锁服务等一系列相关的云计算服务平台   Amazon是最早实现商业化云计算的公司。Amazon还为独立软件开发人员以及开发商提供云计算服务平台。Amazon的云计算名为Amazon Web Service,目前主要由4块核心服务组成: 1)简单存储服务(Simple Storage Service,S3),用于提供无限的文档、照片、视频和其它数据的存储服务,用户使用SOAP协议存放和获取自己的数据对象。   2)弹性计算云(Elastic Compute Cloud,EC2),用户选择服务器配置来“按需付费”的计算机处理服务,开放给外部开发人员使用。   3)简单队列服务(Simple Queuing Service,SQS),是一个可靠的且可伸缩的消息传递框架,整个队列框架在Amazon数据中心的安全环境中运行。利用它可以简便地创建、存储和获取文本消息。SQS能够跨越多个数据中心冗余地存储消息,支持分布式程序之间的数据传递,而无须考虑消息丢失的问题。 4)目前尚处于测试阶段的SimpleDB(SDB),是一个基于“云”的快速而简单的数据库,它支持快速的可伸缩实时数据集索引和查询功能,并且能够与EC2和S3很好地协作。SDB提供数据索引、存储及访问的能力,主要为企业提供排列轮询和数据库服务。 表1 云计算系统之间的特性比较 Google cloud computing infrastructure IBM BlueCloud product Amazon elastic computing cloud Compatibility to traditional software The new network system is built from scratch; current software cannot run on the infrastructure. Not compatible Virtualization provided, can run traditional software as well as new cloud computing interface for programming the new applications Virtualization provided, can run traditional software System openness Developed with private technologies Developed with open source technologies Combine the open source and private technologies together Adoption of system virtualization technology No system virtualization technology adopted, only support new applications Use open source virtualization software Xen with virtualization overheads Use open source virtualization software Xen with virtualization overheads Target users End users can use directly, also open specific interfaces for developers for building new applications For developers For developers Programming support Specific network application programming interfaces are provided Local distributed application programming interface Network remote operation interface 总结   当前云计算体系结构的组成及特征,通过对具体的云计算平台进行剖析,使读者能够了解云计算的内部含义。总体而言,它包括两个方面的基本内容:一方面描述了用于构造应用程序的基础架构;另一方面描述了建立在这种基础架构之上的应用和扩展服务;阐述了云计算体系结构模型和基础架构建设,因为它是支撑整个云计算应用和服务的前提。 参考文献 1 张亚勤.与云共舞———微软云计算的新进展.中国计算机用户,2009,(2):12~13 2 译言每月精选8月.云计算:着眼于天空. 3 百度百科—云计算,请参考http://www.microsoft.com/privatecloud 4 主流云计算服务商和服务商提供的云应用 http://www.spn.com.cn/post/t-2_t2-1_nid-371071.html 5 google云计算服务 http://blog.163.com/should@188/blog/static/3747127120081122104331550/ 6 Amazon与Google称霸云计算服务 http://www.techweb.com.cn/news/2009-10-09/445638.shtml 7 维基百科—云计算,http://en.wikipedia.org/wiki/Cloud_computing 8 Amazon云计算介绍,http://labs.chinamobile.com/know/22009 9 Google的云计算平台解析,原作者:chinabyte,2010-9-6 10 让云触手可及 ——微软云计算解决方案白皮书 ,2009年12月 11 Amazon EC2,Google App Engine,Microsoft Azure大比拼 http://www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure 12 Google云计算的灾难恢复技术 http://www.infoq.com/cn/articles/analyze-cloud-architecture
/
本文档为【主流云计算平台的特征】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索