分享

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

 京城客家人老黄 2017-03-12


根据《中国高被引图书年报》,刘鹏教授所著《云计算》被引用量,名列中国所有自动化技术和计算机技术图书第一名。

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

12.1 主流商业云计算解决方案比较

云计算时代已经到来,从Google App Engine[1]到Amazon的AWS[2],从微软的Azure[3]到VMware的vCloud[4],为了在云计算时代继续保持自己的领先优势,IT业的巨头们纷纷推出自己的云计算解决方案。这些方案的着眼点和应用场景不尽相同,技术实现上各有千秋。解决方案的多种多样反映了云计算蓬勃发展的势头,也使得用户需要面临解决方案选择的问题。不论是个人用户还是企业用户,了解各种云计算解决方案的异同点,都将有助于选择最合适自己的方案。

本节将从应用场景、使用流程、体系结构、实现技术和核心服务五个方面比较Google、Amazon、微软和VMware这四家公司的云计算解决方案。四家公司解决方案的具体细节参见前面的相关章节。

12.1.1 应用场景

Google、Amazon、微软和VMware这四家公司在不同时间陆续推出各自的云计算方案,在应用领域和赢利模式上,Amazon和Google处于领跑者地位,微软和VMware紧随其后。

Google在2007年率先提出了“云计算”的概念,开发了电子邮件、在线文档等一系列SaaS类型的云计算产品,并根据产品开发中积累的技术,打造了Google App Engine平台来对外提供PaaS类型的服务。开发人员可以在Google App Engine平台上开发应用程序并对外服务。该平台采用了Google GFS、Bigtable等关键技术,具有很高的可靠性和稳定性。但由于该平台和Google自身产品的开发需要结合得过于紧密,所以在使用中限制较多,例如最初只支持Python和Java语言(目前还可支持PHP和Go语言)、基于Django架构的Web应用等。目前Google App Engine的使用者大都是个人用户,使用的内容也主要是开发一些比较实用的小规模程序,比如搭建CDN、使用iphone访问GAE等。不过考虑到Google在全球的服务器数量已经超过200万台,海量的服务器将会产生巨大的聚集效应,再加上Google强大的科研创新实力,相信Google很快就会推出专门面向企业的“杀手级”服务。

Amazon在“云计算”概念出现之前就开始了提供弹性的计算、存储等服务,其云计算解决方案在技术上最为全面深入。整套方案被统一命名为Amazon Web Service(AWS)。Amazon的AWS包括了云计算服务的所有类型(IaaS,PaaS和SaaS)。个人和企业可以通过EC2和S3来构建SmugMug、Animoto等典型应用,通过SimpleDB来处理日常简单的数据库业务,利用弹性MapReduce进行大规模数据处理,利用CloudFront分发网页内容,利用FPS提供安全的网上支付服务等。可见,Amazon提供的云计算服务是目前所有的商业解决方案中覆盖领域最全面、应用范围最广泛的,并且Amazon还在根据市场需求不断推出更多的新型服务。

微软在2008年发布了其云计算战略及云计算服务平台Windows Azure Platform,其后连续发布了几个版本,很多特性和服务都在不断地完善和改进中。微软的Azure平台中包含了IaaS和PaaS类型的云计算服务,主要面向软件开发商。其中,Windows Azure云操作系统是整个云计算方案的核心,包含了多种计算和存储服务;在此基础上AppFabric和SQL Azure分别提供了云的基础架构服务和数据库服务。此外,微软还提供了Azure Marketplace用于在线购买基于云计算机的数据与应用。与其他方案不同的是,Azure中考虑了本地环境在云计算方案中的作用,Azure上的程序在离线状态下仍可在本地环境中运行。

VMware在云计算解决方案中充分利用了自身在虚拟化技术上的领先优势,在2008年与EMC、思科等公司联合推出了vCloud计划,在2009年又推出了首款云操作系统vSphere。目前,VMware通过自主研发和收购合作,提供了包括云基础架构及管理、云应用平台和终端用户计算在内的所有类型的一系列云计算产品和解决方案,其中以IaaS类型服务为主,用以支持企业级组织机构从现有的数据中心向云计算环境进行转变。

表12-1展示了Google、Amazon、微软和VMware云计算解决方案总体的异同点。

表12-1 主流商业云计算解决方案比较

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

从表12-1中可以看出,四家公司的云计算解决方案各有特色,除了各个公司提供的云计算软件服务外,用户可以根据自身需要选择合适的平台来构建自己的云计算服务。例如,如果用户对定制性要求不高、希望简化操作时,可以选择Google App Engine;如果需要直接定制底层硬件配置,可以选择Amazon的AWS或VMware的vCloud;如果希望利用已有的IT环境或需要离线操作,则可以选择微软的Azure。

12.1.2 使用流程

个人或企业用户在使用各种云计算解决方案时都要遵从一定的使用流程。Google、Amazon、微软和VMware的云计算方案从整体上来看基本的流程是一致的,但是具体的细节有所不同。

  1. Google App Engine的使用流程


(1)注册Google账户,填写注册信息,登录。

(2)创建Google App Engine应用,通过手机号码完成验证,填写应用的详细信息(注意应用的标示符无法更改)。

(3)下载App Engine SDK。

(4)使用Python或Java语言在本地开发应用程序,并完成本地调试。

(5)将程序上传到Google App Engine后运行。

2.Amazon AWS的使用流程

(1)注册亚马逊账户,填写注册信息,登录。

(2)根据需要选择需要的服务进行注册,填写相关信息,完成服务配置(对于IaaS类型服务需要选定所需的资源数,对于其他类型服务需要对设置参数)。

(3)上传应用程序或待处理数据,有时需要按要求上传附加程序。

(4)运行服务,直至获取结果。

(5)停止使用,根据实际使用量支付相关费用。

3.微软Azure的使用流程

(1)在Azure页面上输入Live ID,注册Azure账号,填写注册信息,登录。

(2)在项目列表中选择“Windows Azure”,然后在新建服务向导中选择“托管服务”。

(3)在本地新建“cloud”类型项目,编写应用程序并完成调试。

(4)创建应用程序服务包,将服务包上传到Windows Azure上,设定URL地址,选择“部署”,选择“运行”。

(5)停止使用,根据实际使用量支付相关费用。

4. VMware vCloud的使用流程

(1)加入VMware技术联盟计划,填写基本信息,获取账号和信息支持,登录。

(2)选择编程语言(支持Java、C、C++)编写在不同操作系统(包括Linux、Windows、Solaris)上运行的软件应用程序,并可根据vCloud API来利用基于VMware的云计算基础架构。

(3)在VMware认证服务提供商列表中选择合适的服务提供商,或选择使用企业自身的支持vCloud的云计算环境。

(4)在虚拟机、虚拟设备和vApp三种模式中选择一种,将应用程序部署到云平台中运行。

(5)停止使用,如果使用了服务提供商的服务,根据实际使用量支付相关费用。

12.1.3 体系结构

Google、Amazon、微软和VMware的云计算解决方案所提供服务的差别与其云计算系统体系结构的差异密切相关。

Google App Engine的结构是主/从式的,共分为四个部分。前端用于负载均衡、静态文件转发和请求转发;应用服务器用于运行程序;应用管理节点用于复杂应用启停和计费;服务群用于提供多种类型的服务。这四个部分被集成为一个整体,对外提供服务。

Amazon AWS的架构是完全分布式、去中心化的。不同用户请求在经过一系列请求路由后被分发到各自的目的地。服务之间的低耦合度可以保证各个服务之间的运行互不影响,且整个系统不存在弱点。

微软Azure的架构由“云”和“端”两部分组成,“云”和“端”能够无缝地运行应用程序和提供服务是Azure的特点。Azure的核心是云计算操作系统Windows Azure,用以提供多种计算和存储服务。在此之上,AppFabric为本地应用和云中应用提供了分布式的基础架构服务,SQL Azure提供类似SQL Server的数据库服务、报表服务、数据同步服务等。

VMware平台的云计算服务中以云基础架构和管理为主,其中主要包括云操作系统vSphere和底层架构服务vCloud Service Director两大部分。vSphere中包含了底层的虚拟机ESX Server和vCenter,ESX Server负责对数据中心虚拟化,vCenter负责整合和管理ESX Server。在vSphere架构之上,vCloud Service Director利用一系列虚拟技术提供连接企业虚拟环境与私有云的接口和自动化管理工具,通过运行vCloud Express与外部服务商无缝地连接,向外提供云IaaS服务。

四家公司云计算体系结构的主要相同之处有如下两点。

(1)整个云计算平台对外提供统一的Web接口。

(2)后台实现的细节对用户透明。

主要的区别也有两点。

(1)Amazon、微软和VMware的云计算服务都是由多种服务组成,需要为不同的服务提供不同的入口。Google的云计算服务实现相对简单,没有实现多个服务的单独入口。

(2)微软的云计算不仅支持云端应用程序,还支持本地的应用程序,这是微软云计算和其他三种方案的最大不同之一。这也反映了微软在云计算中的“云+端”策略。

12.1.4 实现技术

云计算至今还没有公认的统一定义,技术实现上也是千差万别。各个公司都以自己原先的技术优势为基础,来构建各自的云计算系统。下面将四家公司的核心技术进行总结。

  1. Google App Engine的实现技术


Google云计算系统中所采用的技术来源于搜索等核心产品,具有很强的创新性。Google App Engine实现中所涉及的关键技术被Google以论文的形式陆续公开。总体来讲,可以分为GFS、MapReduce、Bigtable和Chubby四个相互独立却又紧密联系的组成部分。这四部分都是由Google独立开发的全新系统。其中,GFS是为Google应用程序量身定做的分布式文件系统,数据分块存储在块服务器上并自动备份;MapReduce是一种并行数据处理的编程规范,通过自定义的Map函数和Reduce函数可以实现大规模数据的快速并行处理;Bigtable是一个采取了多种容错措施的分布式数据库,具有很高的可用性;Chubby是一个分布式的锁服务,用于保证系统服务的一致性。

2.Amazon AWS的实现技术

Amazon在技术上进行了一系列的创新。最具代表性的是基础存储架构Dynamo,它是一个完全分布式的存储架构,采用了改进的一致性哈希算法、向量时钟、Merkle树等技术,在负载均衡、系统扩容等方面有着天然的优势。在此基础上,Amazon设计了EC2、S3、SimpDB等计算、存储、数据库服务,并积极地引入已有的先进技术,如在EC2上使用Hadoop的MapReduce来构建弹性MapReduce服务等。

3.微软Azure的实现技术

微软Azure以微软在个人计算机操作系统和应用软件上多年的技术积累为基础,通过在虚拟机上运行Windows Server 2008、基于SQL Server实现SQL Azure等方式构建云计算系统。这些已有的技术具有很好的成熟性和广泛的使用性,经过了大量用户长期使用的检验,符合多数用户的使用习惯。通过整合和扩展已有技术,微软Azure可以保证用户在使用体验上的无缝过渡,也使得开发者可以使用习惯的编程语言和框架在相对熟悉的平台上进行软件开发。

4.VMware vCloud的实现技术

VMware充分利用在虚拟化技术上的优势,对云计算中涉及的计算、存储、网络等方面进行了虚拟化,提供以IaaS类型为主的云计算服务。在底层,VMware开发了云操作系统vSphere,实现了对数据中心服务器的虚拟化和对虚拟机的管理。在vSphere之上,VMware又开发了vCloud Service Director,利用一系列虚拟技术提供连接企业虚拟环境与私有云的接口和自动化管理工具。VMware还提供了桌面虚拟化产品VMware View,通过在一台普通的物理服务器上虚拟出很多台虚拟桌面来供远端的用户使用,以简化IT管理和节省开支。除此以外,VMware还通过收购合作等方式,借助已有的基础来推出PaaS和SaaS类型的云计算服务。

12.1.5 核心业务

四种主流的商业云计算解决方案中均涉及计算服务、存储服务和数据库服务这三个核心业务。下面对不同方案在这三个核心业务上分别进行比较,找出其中的异同点。

计算服务是所有的云计算解决方案最核心的业务之一,同时也是用户最常用的服务。Google提供基于MapReduce的数据处理,整个过程对用户而言是透明的。Amazon的EC2给予用户配置硬件参数的权利,使得用户可以根据实际的需求动态地改变配置,从而提高效率和节省资源。微软的Azure允许用户在处理数据之前设置部分参数,但相对于EC2其灵活性要差很多。VMware的vCloud中提供了DRS和DPM技术,可以通过迁移和关闭虚拟机来实现资源优化。表12-2是这四种计算服务的比较。

表12-2 商业云计算方案的计算服务比较

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

稳定、高效的存储系统既是系统正常运行的重要保证,也可以单独作为一项服务提供给用户。四种方案之中,Amazon的S3和微软的Blob存储比较的类似,Google的GFS则完全不同,VMware目前仅向虚拟机提供存储服务。表12-3是四种存储服务的简单对比。

表12-3 商业云计算方案的存储服务比较

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

四家公司都提供了“云”环境下的数据库存储服务。Google App Engine的Datastore构建在Bigtable上,但自身及其内部没有实现直接访问Bigtable的机制,可以看做是Bigtable上的一个简单接口。Amazon的SimpleDB采用的是“键/值”存储方式,功能比较简单,实现的查询功能也不太全面。SimpleDB和Datastore使用的都是“实体—属性—值”(Entity-Attribute-Value)的EAV数据模型。微软的SQL Azure是云环境下的关系数据库,并支持报表、数据同步等服务。VMware在最近的CloudFoundary中采用了10gen开发的开源云数据库MongoDB,可以实现均衡性较好的分布式数据库存储。表12-4是四种数据库之间的比较。

表12-4 商业云计算方案的数据库服务比较

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

从上述比较中不难发现,四种商业云计算解决方案在应用场景、使用流程、体系结构、实现技术、核心业务等方面都存在较大的差异。但不同方案之间没有绝对的优劣之分,仅有适用场合的区别,用户可在确定自身的需求后进行选择。

精彩回顾:

《云计算(第三版)》精华连载14:主流商业云计算解决方案比较

点击下方“阅读原文”了解《云计算(第三版)》

↓↓↓

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多