云计算发展现状研究Final.docx
- 文档编号:30643143
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:73
- 大小:1.14MB
云计算发展现状研究Final.docx
《云计算发展现状研究Final.docx》由会员分享,可在线阅读,更多相关《云计算发展现状研究Final.docx(73页珍藏版)》请在冰豆网上搜索。
云计算发展现状研究Final
云计算发展现状研究报告
孔华锋
2010-09-03
目录
第1章云计算技术3
1.1云计算的定义3
1.2云计算特点4
1.3云计算的服务模式5
1.4云计算的部署模式8
1.5云计算与其他概念8
第2章云计算应用12
2.1Amazon12
2.2Google14
2.2Microsoft20
2.4SalesForce23
2.5Yahoo24
2.6IBM25
2.7SUN27
2.8开源社区28
2.9云计算核心技术比较39
第1章云计算技术
计算机软件与硬件技术的飞速发展也导致了计算模型的不断演化。
继分布式计算,并行计算,网络计算,效用计算,Web2.0等计算概念与模型的不断被推出以后,计算机工业界与学术界又提出了云计算模型,在某种意义上实现对这些计算概念与模型的泛化与商业化。
总体上来讲,云计算通过互联网将超大规模的计算与存储资源整合起来,并以可信服务的形式按需提供给用户。
1.1云计算的定义
云计算是计算机资源公共化在商业模型上一个重要革新。
通过云计算,用户将从繁重,复杂,易错的计算机资源管理中解放出来,而只需关注业务逻辑。
这种业务逻辑与计算资源的分离将大大地降低企业信息化的复杂度。
更重要的是,云计算带来的服务整合与按需供给将大大提高当前计算资源的利用率,降低每服务的能耗量,并且有效屏蔽计算资源的出错问题。
云计算正处于不断演化的过程中,各界对云计算的定义持有不同看法。
IBM蓝云定义:
●一种新的用户体验和业务模式:
云计算式一种新出现的计算模式,它是一个IT计算资源池,并将应用、数据及其他资源,以服务的形式通过网络提供给最终用户
●一种新的IT架构管理方法:
云计算是一种新的方式来管理大量的虚拟化的IT资源,从管理的角度来看云计算,它可以讲多个小的资源组装成大的资源池,也可以讲大型资源虚拟化彻骨多个小型资源,而最终目的都是提供服务。
微软认为云计算就是通过Internet标准和协议以实用工具形式提供的计算功能。
XX百科给出了狭义云和广义云的概念:
●狭义云计算:
提供资源的网络被称为“云”。
“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
这种特性经常被称为像水电一样使用IT基础设施。
●广义云计算:
这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务。
Sun公司认为,云的类型有很多种,而且有很多不同的应用程序可以使用云来构建。
由于云计算有助于提高应用程序部署速度,有助于加快创新步伐,因而云计算可能还会出现我们现在无法想像到的形式。
作为创造“网络就是计算机”(TheNetworkistheComputer)这一短语的公司,SUN公司深信云计算就是下一代的网络计算。
维基百科(Wikipedia.org)对云计算的定义也在不断更新,前后版本的差别非常大。
最新定义为:
云计算是一种动态的易扩展的且通常是通过互联网提供虚拟化的资源计算方式,用户不需要了解云内部的细节,也不必具有云内部的专业知识或直接控制基础设施。
云计算包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)以及其他依赖于互联网满足客户计算需求的技术趋势。
云计算主要提供通用的通过浏览器访问的在线商业应用、软件和数据存储等服务。
加州大学伯克利分校(universityofcaliforniaatberkeley)的MichaelArmbrust等在名为“伯克利云计算白皮书(abovetheclouds:
aberkeleyviewofcloudcomputing)”中对云计算的定义:
云计算包括互联网上各种服务形式的应用以及这些服务所依托数据中心的软硬件设施,这些应用服务一直被称作软件即服务(SaaS),而数据中心的软硬件设施就是所谓的云,云计算就是SaaS和效用计算。
为了更好的促进云计算的发展与应用,美国国家标准与技术研究院(NIST)制定了“云计算工作定义”。
这份“工作定义”提出了云计算的基本定义和特征、交付模式和部署模式。
云计算是一种资源利用模式,它能以简便的途径和以按需的方式通过网络访问可配置的计算资源(网络、服务器、存储、应用、服务等),这些资源可快速部署,并能以最小的管理代价或只需服务提供商开展少量的工作就可实现资源发布。
1.2云计算特点
(1)按需自助服务。
消费者可对计算资源(如服务器时间和网络存储)进行单边部署以自动化地满足需求,并且无须与服务提供商的人工配合。
(2)泛在网络连接。
云计算资源可以通过网络获取和通过标准机制访问,这些访问机制能够促进用户通过异构的瘦(thin)客户平台或胖(thick)客户平台(手机、笔记本电脑、掌上电脑等)来使用云计算,也包括其它传统的或基于云的服务。
(3)与地理位置无关的虚拟化的资源“池”。
云计算服务商采用多用户模式,根据用户需求动态地分配和再分配物理资源和虚拟资源。
用户通常不用知道这些资源具体所在位置,资源包括存贮器、处理器、内存、网络、虚拟机等。
提虽然存在某种程度上的位置无关性,也就是说用户无法控制或根本无法知道所使用资源的确切物理位置,但是原则上可以在较高抽象层面上来指定位置(例如国家、州、省、或者数据中心)。
资源的例子包括存储、处理、内存、网络带宽以及虚拟机等。
即使是私有的“云”往往也趋向将资源虚拟“池”化来为组织的不同部门提供服务。
(4)快速灵活地部署资源。
云计算供应商可快速灵活地部署云计算资源,快速地放大和缩小。
对于用户,云计算资源通常显得是无限的,并可以在任何时间购买任何数量的资源。
(5)服务计费(可测量的服务)。
通过对不同类型的服务进行计费,云计算系统能自动控制和优化资源利用情况。
可以监测、控制资源利用情况,并形成报告,为云计算提供商和用户就所使用的服务提供透明性。
人们可以监视、控制资源使用、并产生报表,报表可以对提供商和用户双方都提供透明。
1.3云计算的架构
1.3.1云计算服务模式
云计算有三种服务模式:
把云软件作为服务(SaaS)、把云平台作为服务(PaaS)、把云基础设施作为服务(IaaS)。
图1给出了这三种云服务模式所对应的云提供商。
图1云计算服务模式
1.3.1.1软件作为服务(SaaS)
在这种交付模式下,提供商在云计算设施上运行程序,用户通过各种客户端设备的瘦客户界面(如网页浏览器、基于网页的电子邮件)使用这些应用程序。
用户不需管理或控制底层的网络、服务器、操作系统、存储系统、应用程序等,但可能需要完成一些与用户相关的应用程序参数设置。
“把软件作为服务”的特色是根据需要作为服务提供的一整套应用程序。
该软件的单个实例运行于云上,并为多个最终用户或客户机构提供服务。
相关的SasS示例主要包括:
最著名的SasS示例是。
1999年,27岁的甲骨文(oracle)高级副总裁、俄罗斯裔美国人马克·贝尼奥夫创办了S公司,并提出软件即服务(SaaS,Software-as-a-service)的思想,并运用于客户关系管理服务(CRM)软件。
目前已有72,500家公司采用了Salesforce的CRM。
针对终端用户谷歌则推出了GoogleApps,这是一套基于网络的文档、电子数据表和其他生产力应用软件。
主要有Gmail,GoogleDOCS、GoogleMAP、calendar、chat等。
MicrosoftOnlineServices:
包括WindowsLive、OfficeLive、ExchangeOnline、SharePointOnline、OfficeLiveMeeting、OfficeCommunicationsOnline、ExchangeHostedServices、DynamicsCRMOnline。
NetSuite:
NetSuite提供的NetSuiteBusinessSoftwareSuite是行业领域首家在线商业软件。
在强大的单一应用软件中,NetSuite集成了前台面向最终用户的CRM和电子商务功能与后台面向企业内部及合作伙伴的ERP,以及自助服务门户功能。
Yahoo:
YahooSmallBusiness服务提供了一个组合,其中包括:
域名注册服务、网站托管服务、邮件服务,这个简单组合在一个服务包内让小企业拥有了所有必要的面向因特网的服务,并且比起其它非云的选择具有明显的价格优势。
客户所需的只是接入服务,在不再需要时可以简单地取消服务。
1.3.1.2平台作为服务(PaaS)
在这种交付模式下,用户采用提供商支持的编程语言和工具编写好应用程序,然后放到云计算平台上运行。
用户不需管理或控制底层的网络、服务器、操作系统、存储系统等,但要控制应用程序,可能还需要设置应用程序的运行环境。
从服务生产商或消费者的观点看,关于PaaS的观点至少有两种:
生产PaaS的某个人可能通过集成OS、中间件、应用软件甚至是一个随后作为服务提供给客户的开发环境来生产一个平台。
例如,开发PaaS的人可能会使其以一组SunxVM管理程序虚拟机为基础,这组虚拟机包括一个NetBeans集成化开发环境、一个SunGlassFishWeb栈,并支持像Perl或Ruby这样的其它编程语言。
使用PaaS的人会看到一个封装式服务,该服务是通过API提供给用户的。
客户通过API与该平台互动,而且该平台执行一切必要的操作来管理和扩展其本身,以提供规定的服务水平。
虚拟设备可以归类为PaaS的实例。
例如,一个内容交换设备会将其所有组成软件对客户隐藏起来,而只向客户提供用来配置和部署服务的一个API或GUI。
PaaS的商业示例包括:
GoogleAppEngine:
谷歌推出了谷歌应用软件引擎(GoogleAppEngine,简称GAE),这种服务让开发人员可以编译基于Python的应用程序,并可免费使用谷歌的基础设施来进行托管(最高存储空间达500MB)。
对于超过此上限的存储空间,谷歌按“每CPU内核每小时”10至12美分及1GB空间15至18美分的标准进行收费。
最近,谷歌还公布了提供可由企业自定义的托管企业搜索服务计划。
F是的企业云计算平台。
F向企业提供在云端上快速创建和实施业务应用程序所需的一切,包括数据库、无限的实时定制、强大的分析、实时工作流程和审批、可编程云逻辑、集成、实时移动部署、可编程的用户界面和网站功能。
客户和合作伙伴在F上创建了超过120,000种定制应用程序来运营他们的业务,包括供应链管理、合规追踪、品牌管理、应收账款、索赔处理、休假应用程序以及其他更多的应用程序
MicrosoftWindowsAzurePlatform,WindowsAzurePlatform是一套云端服务作业系统,作为WindowsAzure平台的开发、服务代管及服务管理的环境。
通过微软的WindowsAzure系统可提供开发人员随选运算及存储,用来装载、延伸及管理网络上的Web应用程序、云端应用程序和网络服务。
WindowsAzurePlatform与VisualStudio进行了整合,支持一致性的开发经验。
WindowsAzurePlatform是个可同时支持微软及非微软程序语言及环境的开放性平台。
微软欢迎Eclipse、Ruby、PHP与Python第三方工具和语言能够加入WindowsAzurePlatform行列。
NetSuiteSuite云:
NetSuite为其合作伙伴提供Suite云系统,在利润丰厚的云计算市场推出了自己的定制应用平台。
据国外媒体报道,该平台提供的服务使其成为谷歌及甲骨文等公司的竞争对手,Suite云平台将包含一系列的新产品、开发工具和服务,包括新的Suite云开发网络(SDN),将专门面向独立软件开发商。
独立软件开发商可以选择在NetSuite上或Suite云开发平台上利用NetSuite商业操作系统(NS-BOS)创建SuiteApp,或者干脆使用现有应用程序进行整合。
1.3.1.3基础设施作为服务(IaaS)
在这种交付模式下,用户将部署处理器、存储系统、网络及其他基本的计算资源,并按自己的意志运行操作系统和应用程序等软件。
用户不需管理或控制的底层的云计算基础设施,但要控制操作系统、储存系统和应用程序,可能还需要选择网络组件(防火墙、负载均衡器等)。
亚马逊的云计算产品总称为AmazonWebService(亚马逊网络服务),主要由4部分组成,包括S3(SimpleStorageService,简单的存储服务)、EC2(ElasticComputeCloud,可伸缩计算云)、SQS(SimpleQueuingService,简单信息队列服务)以及SimpleDB。
也就是说,亚马逊目前为开发者提供了存储、计算、中间件和数据库管理系统服务。
作为InfrastructureasaService(IaaS)在实际应用中的一个例子,TheNewYorkTimes使用成百上千台AmazonEC2实例在36小时内处理TB级的文档数据。
如果没有EC2,TheNewYorkTimes处理这些数据将要花费数天或者数月的时间。
另一个示例是Joyent,其主要产品是一系列虚拟化服务器,这些服务器提供运行网站的高度可扩展的随需应变基础设施,包括用rubyonrails、PHP、Python和JAVA编写的丰富的web应用程序。
1.3.2云计算的部署模式
不管利用了哪种服务模型(SaaS、PaaS、或IaaS),存在四种云服务部署模型,以及用以解决某些特殊需求而在它们之上的演化变形。
(1)私有云。
在这种模式下,云计算基础设施由单个组织经营,可由该组织或第三方管理。
可以是场内服务(on-premises),也可以是场外服务(off-premises)。
(2)社区云。
在这种模式下,云计算基础设施由数个组织共享,并为一个有共同关注点的团体提供支持,可由团体组织或第三方管理。
云基础设施由若干个组织分享,以支持某个特定的社区。
社区是指有共同诉求和追求的团体(例如使命、安全要求、政策或合规性考虑等)。
可以是该组织或某个第三方负责管理,可以是场内服务(on-premises),也可以是场外服务(off-premises)。
(3)公共云。
在这种模式下,云计算基础设施由一家销售云计算服务的组织所拥有,该组织将云计算服务销售给公众或大型工业团体。
(4)混合云。
在这种模式下,云计算基础设施由两种或两种以上的云(私有、团体或公共)组成,每种模式的云都保持独立,但通过标准或专有技术被组合成一体,具有数据和应用程序的可移植性。
如AmazonWebServer等既为企业内部又为外部用户提供云计算服务。
这些技术促成数据和应用的可移植性(例如用以云之间负载分担的cloudbursting技术)。
1.4云计算关键技术
云计算是一种新型的超级计算方式,以数据位中心,是一种数据密集型的超级计算。
在数据存储、数据管理和编程模型等方面具有自身独特的技术。
1.5.1数据存储技术
为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,即为同一份数据存储多个副本。
另外,云计算系统需要同时满足大量用户的需求,并行的为大量用户提供服务。
因此,云计算的数据存储技术必须具有高吞吐量和高传输速率的特点。
云计算的数据存储技术主要有谷歌的非开源的GFS和Hadoop开发团队开发的GFS的开源实现HDFS。
大部分IT厂商,包括yahoo、Intel的云计划采用的都是HDFS的数据存储技术。
未来的发展集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高IO速率等方面。
1.5.2数据管理技术
云计算系统对大数据集进行处理、分析想用户提供高效的服务。
因此,数据管理技术必须能够高效的管理大数据集。
其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。
云计算的特点是对海量数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,云中的数据管理是一种读优化的数据管理。
因此,云系统的数据管理往往采用数据库领域中列存储的数据管理模式。
将表按列划分后存储。
云计算的数据管理技术最著名的是谷歌的BigTable数据管理技术,同时Hadoop开发团队正在开发类似BigTable的开源数据管理模块。
由于采用列存储的方式管理数据,如何提高数据的更新频率以及进一步提高随机读取速率是未来数据管理必须解决的问题。
1.5.3编程模式
为了使用户能更轻松的享受云计算带来的服务,让用户能利用该编程模型编写简单的程序来实现特定的目的,云计算上的编程模型必须十分简单,必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。
云计算采用MapReduce的编程模型。
现在所有IT厂商提出的云计划中采用的编程模型,都是基于MapReduce的思想开发的变成工具。
MapReduce不仅仅是一种编程模型,同时也是一种高效的任务调度模型。
MapReduce这种编程模型不仅适用于云计算,在多核和多处理器、cellprocessor以及异构机群上同样具有良好的性能。
该编程模型仅适用于编写任务内部松耦合、能够高度并行化的程序。
如何改进编程模式,是程序员能够轻松的编写紧耦合的程序,运行时能高效调度和执行任务是MapReduce编程模型未来的发展方向。
1.5云计算与其他概念
1.5.1云计算与网格计算
从根本上来说,从应对Internet应用的特征特点来说,他们是一致的,为了完成在Internet情况下支持应用,解决异构性、资源共享等等问题。
云计算可看做是并行计算(ParallelComputing)、分布式计算(DistributedComputing)和网格计算(GridComputing)的发展,或者说是这些计算机科学概念的商业实现。
云计算是虚拟化(Virtualization)、效用计算(UtilityComputing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。
图2计算机模式的发展
具体看来,网格计算和云计算的区别如表1所示。
表1网格计算与云计算的区别
网格计算
云计算
目的
网格计算将独立的计算机连接成一个大的基础设施,充分利用闲置的资源,从而把计算资源作为能够开启关闭的公用事业来提供。
云计算除了把计算资源作为能够开启关闭的公用事业来提供外,更进一步提供了效用计算,用来支付在共享服务器上使用的服务,就好象支付公共事业一样(比如电力、天然气等)。
资源分布
聚合分布资源,支持虚拟组织,提供高层次的服务,例如分布协同科学研究等。
云计算的资源相对集中,主要以数据中心的形式提供底层资源的使用,并不强调虚拟组织(VO)的概念。
支持应用
网格计算用聚合资源来支持挑战性的应用,这是初衷,因为高性能计算的资源不够用,要把分散的资源聚合起来。
云计算从一开始就支持广泛企业计算、Web应用,普适性更强。
处理异构
网格计算用中间件屏蔽异构系统,力图使用户面向同样的环境,把困难留在中间件,让中间件完成任务。
云计算采用镜像或者提供服务的机制来解决异构性的问题。
当然不同的云计算系统还不太一样,像Google一般用比较专用的自己的内部的平台来支持。
服务的方式
网格计算用执行作业形式使用,在一个阶段内完成作用产生数据。
而云计算支持持久服务,用户可以利用云计算作为其部分IT基础设施,实现业务的托管和外包。
应用领域
网格计算更多地面向科研应用,商业模型不清晰。
而云计算从诞生开始就是针对企业商业应用,商业模型比较清晰。
1.5.2云计算与SOA
微软开发平台技术高级经理StevenMartin说,SOA的讨论肯定将开始转向云计算。
云计算是合乎逻辑的服务托管环境。
面向服务是构建应用程序的一种方法,而云计算指的是这种基础设施以及那个应用程序的交付模式。
开源软件SOA软件厂商WSO2的首席执行官SanjivaWeerawarana说,云计算是在SOA环境中部署服务的一个好方法。
他指出,SOA和云计算相互支持,但是,他们的思想基础不一样。
云计算是一种部署架构,而不是设计企业IT的架构方法。
而SOA是这种方法。
研究机构DirectionsonMicrosoft的研究经理RobHelm称,云计算和SOA都能够确定主要的可再利用的组件是什么,在开放网络上运行大规模组件的正确技术是什么。
以模块化方式向SOA过渡的机构在把模块迁移到云计算的之后将处于非常有利的地位。
1.5.3云计算与超级计算机
超级计算机拥有强大的处理能力,特别是计算能力。
2008年11月17日发布的超级计算机Top500榜单,IBM为美国LosAlamos国家实验室建造的计算机系统“Roadrunner”获得冠军。
它的运算速度达到了1.026Petaflop/s。
Roadrunner超级计算机包含了12960个IBMpowerXcell8处理器及6948个分布于刀片服务器上的AMDOpteron芯片,分别安装在288个IBMbladeCenter机架上。
Roadrunner拥有80TB的内存,外存使用1.5PB容量的Panasas存储,外存通过10GB/s以太网连接,耗资超过1亿美元。
TOP500对超级计算机的排名方式可以看出,传统的超级计算机注重运算速度和任务的吞吐量,以运算速度为核心进行计算机的研究和开发。
而云计算则以数据为中心,同时兼顾系统的运算速度。
传统的超级计算机耗资巨大,远超过云计算系统。
例如,趋势科技花费1000多万美元租用34000多台服务器,构建自身的“安全云”系统。
云计算系统相比于超级计算机具有松耦合的性质,可以比较方便的进行动态伸缩和扩展,而超级计算机不易扩展、改造和升级。
另外,云计算系统天生据哟良好的分布性,超级计算机则不具有。
1.6云计算存在的问题及下一步技术发展趋势
应用及数据安全
包含用户敏感信息的应用系统部署在公共云上,可能存在安全隐患。
云计算基础架构具有多租户的特性,厂商们通常无法保证A公司的数据与B公司的数据实现物理分隔。
企业私有云中,各个部门之间的信息安全也必须考虑,特别是财务数据、客户信息等。
另外,考虑到大规模扩展性方面的要求,数据物理位置可能得不到保证。
如果企业需要遵守业务交易及相关数据方面的全国或国际法规,用户可能会觉得不放心。
不过,有人认为,到时候法规可能会考虑这种大规模分布式、多租户环境。
标准制定
目前云计算厂商都在各自为战,并没有实现标准化。
不同云之间缺乏互操作性,用户从一个云计算环境迁移到另一个环境时面临巨大困难。
服务质量保证
通过远程网络访问的应用模式具有不可靠性。
亚马逊S3服务和Google云服务都出现过服务中断,企业被迫重新考虑他们对云计算的依赖。
云计算的商业模式
云计算强调发挥集中化的优势,以及应用、平台和资源的分层松耦合管理。
面临企业传统IT系统管理和使用模式的巨大阻力
云计算安全监管
云计算对于安全监管问题也带来了很大的挑战,云计算服务就是一种虚拟运营服务,它会带来一些监管上的问题,云计算资源的跨地域提供与本地化的监管之间存在矛盾,对虚拟业务运营商的监管机制还有待建立。
云计算与移动互联网相结合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 发展 现状 研究 Final