云计算架构比较和关键技术讲解ppt课件.ppt
云计算Cloud Computing,近年来,云计算已成为IT业界最热门的研究方向之一。几乎所有的主流IT厂商都在谈论云计算,既包括硬件厂商(IBM、英特尔等)、软件开发商(微软等),也包括互联网服务提供商(Google、Amazon等)和电信运营商(AT&T、中国移动等)。这些企业覆盖了整个IT产业链,构建了一个完整的云计算生态系统。,引言,2,引言,什么是云计算?,3,云计算的最终目标是将计算、服务和应用作为一种公共设施提供给公众,使人们能够像使用水、电、煤气和电话那样使用计算机资源。,引言,4,云计算概述云计算体系结构云计算关键技术云计算研究现状云计算机遇与挑战云计算与分布式处理,目录,5,1.1 云计算起源,2006年3月,亚马逊推出弹性计算云服务。2006年8月9日,Google首席执行官埃里克施密特在搜索引擎大会首次提出“云计算”的概念。2007年10月,Google与IBM开始在美国大学校园,推广云计算的计划,这项计划希望能降低分散式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持。2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。2008年8月3日,戴尔正在申请“云计算” 商标。戴尔在申请文件中称,云计算是“在数据中心和巨型规模的计算环境中,为他人提供计算机硬件定制制造”。,6,1.1 云计算起源,2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划”。2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码计划。微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的集成;而Ubuntu已把OpenStack加至11.04版本中。2011年2月,思科系统正式加入OpenStack,重点研制OpenStack的网络服务。,7,1.1 云计算起源(续),计算资源的演进:从集中到分步再到集中,计算时代,网络时代,云时代,8,1.2 云计算发展路线,9,1.2.1 并行计算,10,Parallel Computing是指同时使用多种计算资源解决计算问题的过程,其主要目的是快速解决大型且复杂的计算问题特点:把计算任务分派给系统内的多个运算单元并行机的多CPU和多存储器并行计算问题的特征将工作分离成离散部分,有助于同时解决随时并及时地执行多个程序指令(多CPU同时运行)多计算资源下解决问题的耗时要少于单个计算资源下的耗时,1.2.2 分布式计算,11,Distributed Computing所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。特点:把计算任务分派给网络中的多台独立的机器优点:稀有资源可以共享 通过分布式计算可以在多台计算机上平衡计算负载 可以把程序放在最适合运行它的计算机上,1.2.3 云计算,12,硬件为中心,软件为中心,服务为中心,数据在云端:不怕丢失,不必备份;软件在云端:不必下载自动升级;无所不在的计算:在任何时间、任何地点、任何设备登录即可进行计算服务;强大的计算:空间大,快速度。,1.2.3 云计算(续),13,电:从购买发电设备到购买电力服务,信息:从购买软硬件到购买信息服务,发电机,现代发电厂,计算,软件,存储,信息服务提供商,有了云计算,广大用户无需自购软、硬件,甚至无需知道是谁提供的服务,只关注自己真正需要什么样的资源或者得到什么样的服务。,1.3 云计算定义,维基百科:是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。Google :将所有的计算和应用放置在“云”中,设备终端不需要安装任何东西,通过互联网络来分享程序和服务。微软:认为云计算的应是“云+端”的计算,将计算资源分散分布,部分资源放在云上,部分资源放在用户终端,部分资源放在合作伙伴处,最终由用户选择合理的计算资源分布。美国国家标准与技术实验室:云计算是一个提供便捷的通过互联网访问一个可定制的IT 资源共享池能力的按使用量付费模式(IT 资源包括网络,服务器,存储,应用,服务),这些资源能够快速部署,并只需要很少的管理工作或很少的与服务供应商的交互;,到目前为止, 云计算还没有一个统一的定义。云计算领先者如Google、Microsoft 等IT 厂商,依据各自的利益和各自不同的研究视角都给出了对云计算的定义和理解。,14,1.3 云计算定义(续),狭义云计算 狭义云计算是指IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需的资源(硬件、平台、软件)。广义云计算 广义云计算是指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其它的服务。,15,1.4 云计算基本特征,16,1.5 云计算优势,17,按需服务,快速服务,通用性,高可靠性,极其廉价,超大规模,虚拟化,高扩展性,1.6 云计算模式,18,软件即服务(SaaS)Software as a Service平台即服务(PaaS) Platform as a Service基础设施既服务(IaaS) Infrastructure as a Service,1.6 云计算模式(续),19,服务多租赁化,平台可伸缩化,资源虚拟化,云计算的服务体系,1.6.1 软件即服务(SaaS),20,提供给客户的服务是服务商运行在云计算基础设施上的应用程序,可以在各种客户端设备上通过瘦客户端界面访问,比如浏览器。客户不需要管理或控制的底层的云计算基础设施,包括网络、服务器、操作系统、存储,甚至单个应用程序的功能. 如:Google APPS、SoftWare+Services;,1.6.2 平台即服务(PaaS),21,提供给客户的是将客户用供应商提供的开发语言和工具(例如Java,python,.Net)创建的应用程序部署到云计算基础设施上去。客户不需要管理或控制的底层的云基础设施,包括网络、服务器、操作系统、存储,但客户能控制部署的应用程序,也可能控制应用的托管环境配置。如:IBM IT Factory、Google APPEngine、F;,SaaS & PaaS 示例,22,定制化硬件,集装箱式数据中心,云计算IT平台,Google应用,托管的第三方应用,Google 云计算IT架构,搜索,广告,VoIP/IM,地图服务,照片分享,邮件,视频分享,办公套件,日历,GFS,BigTable,MapReduce,集群管理,SaaS & PaaS,1.6.3 基础设施即服务(IaaS),23,提供给客户的是出租处理能力、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。客户不管理或控制的底层的云计算基础设施,但能控制操作系统、储存、部署的应用,也有可能选择网络组件(例如,防火墙,负载均衡器)。如: Amazo Ec2、IBM Blue Cloud、Sun Grid;,实例,24,战略:利用内部IT资源平台,对外提供IT公用服务作为云计算的推动者,Amazon 历经2年多时间形成了基本成熟的云计算服务,商业模式计算,存储,带宽等IT基础设施出租Web基础能力,电子商务基本能力作为服务出租按需使用,按需付费网上支付客户互联网应用开发者企业(纳斯达克,纽约时报)面向全球,目前主要集中在北美和欧洲,09年已经启动中国市场拓展合作伙伴IBM、Microsoft、Oracle、Google、Apple,Amazon Technology Platform(计算,存储,网络),EC2,S3,Simple DB,SQS,DevPay,FPS,MT,AlexaSearch,FWS,Other,计算,支付,订单履行,搜索,人工智能,AWS Amazon Web Services,存储,数据库,消息队列,计费,其他设施能力,进展到08年11月为止,已经有45万开发者基于Amazon AWS开发Web应用存储对象数从07年4月份50亿增长到08年10月份的290亿,在一年半的时间里增长6倍08年云服务收入约4亿美金,25,1.7 云计算部署模式,26,部署层次的类型,27,1.7 云计算部署模式(续),1.8 云计算推动力量,28,虚拟化技术宽带的普及互联网应用增加服务器浏览器开发技术的进步IT基础设施利用率低下数据中心能耗问题突出IT管理与维护成本提高.,云计算的基本原理是通过使计算分布在大量的计算服务器上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。,2 云计算体系结构,29,2.1云计算体系逻辑结构,30,云用户端:提供云用户请求服务的交互界面,也是用户使用云的入口,用户通过Web浏览器可以注册、登录及定制服务、配置和管理用户。打开应用实例与本地操作桌面系统一样。服务目录:云用户在取得相应的权限后可以选择或定制的服务列表,也可以对已有服务进行退订的操作,在云用户端界面生产相应的图标或列表的形式展示相关服务。,2.1 云计算体系逻辑结构(续),31,管理系统和部署工具:提供管理和服务,能管理云用户,能对用户授权、认证、登录进行管理,并可以管理可用计算资源和服务,接收用户发送的请求,根据用户请求转发相应的程序,调度资源智能地部署资源和应用,动态部署、配置和回收资源。监控:监控和计量云系统资源的使用情况,以便做出迅速反应,完成借点同步配置、负载均衡配置和资源监控,确保资源能顺利分配给合适的用户。服务器集群:虚拟的或物理的服务器,由管理系统来管理负载、高并发量的用户请求处理、大运算量计算处理、用户Web应用服务,云数据存储时采用相应数据切割算法,采用并行方式上传和下载大容量数据。用户可以通过云用户端从列表中选择所需的服务,其请求通过管理系统调度相应的资源,并通过部署工具分发请求、配置Web应用。,2.2云计算技术系统结构,32,33,云计算技术体系结构分为4层:物理资源层、资源池层、管理中间件层和SOA构建层(如上图);物理资源层包括计算机、存储器、网络设施、数据库和软件等;资源池层是将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等。构建资源池更多是物理资源的集成和管理工作,例如研究在一个标准集装箱的空间如何装下2000个服务器、解决散热和故障节点替换的问题并降低能耗。,2.2云计算技术系统结构(续),34,管理中间件负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务;SOA构建层将云计算能力封装成标准的Web Services服务,并纳入到SOA体系进行管理和使用,包括服务注册、查找、访问和构建服务工作流等。管理中间件和资源池层是云计算技术的最关键部分,SOA构建层的功能更多依靠外部设施提供。,2.2云计算技术系统结构(续),35,计算的管理中间件负责资源管理、任务管理、用户管理和安全管理等工作。资源管理负责均衡地使用云资源节点,检测节点的故障并试图恢复或屏蔽之,并对资源的使用情况进行监视统计;任务管理负责执行用户或应用提交的任务,包括完成用户任务映象(Image)的部署和管理、任务调度、任务执行、任务生命期管理等等;,2.2云计算技术系统结构(续),36,用户管理是实现云计算商业模式的一个必不可少的环节,包括提供用户交互接口、管理和识别用户身份、创建用户程序的执行环境、对用户的使用进行计费等;安全管理保障云计算设施的整体安全,包括身份认证、访问授权、综合防护和安全审计等。,2.2云计算技术系统结构(续),2.3 云计算和下一代IT架构,37,集成&开发,用户界面 & 接口,虚拟应用,强化:减少费用& 提高质量,虚拟化:简单接入,提高终端用户管理& 使用最大化,自动化:提高速度和预言性 & 减少劳动力,38,商业流程,集成&开发,虚拟信息,虚拟存储,虚拟进程,底层结构虚拟,虚拟应用,云计算应用(“Software-as-a-Service”),用户界面 & 接口,2.3 云计算和下一代IT架构(续),39,Integration, Event & Deployment,协作消息,集成&开发,云平台(“Platform-as-a-Service”),商业流程,用户界面 & 接口,虚拟应用,虚拟信息,底层结构虚拟,虚拟存储,虚拟进程,2.3 云计算和下一代IT架构(续),40,协作/消息,商业流程,用户界面 & 接口,虚拟应用,虚拟信息,集成 & 开发,云协作,2.3 云计算和下一代IT架构(续),41,商业流程,协作/消息,服务/资源管理 & 安全,集成 & 开发,用户界面 & 接口,虚拟应用,虚拟信息,虚拟存储,虚拟进程,底层结构虚拟,2.3 云计算和下一代IT架构(续),42,服务/资源管理 & 安全,协作/消息,商业流程,用户界面 & 接口,虚拟应用,Virtualized Information,底层结构虚拟,虚拟进程,虚拟存储,集成 & 开发,虚拟信息,基础设施(“Infrastructure-as-a-Service”)软件(“Software-as-a-Service”),2.3 云计算和下一代IT架构(续),43,Service/Resource Mgmt & Security,协作/消息,商业流程,用户界面 & 接口,虚拟应用,Virtualized Information,底层虚拟结构,虚拟进程,虚拟储存,集成 & 开发,虚拟信息,43,2.3 云计算和下一代IT架构(续),虚拟化技术分布式技术数据中心构建技术云计算安全技术云计算编程模型.,3. 云计算关键技术,44,云计算的目标是以低成本的方式提供高可靠、高可用、规模可伸缩的个性化服务。为了达到这个目标,需要数据中心管理、虚拟化、海量数据处理、资源管理与调度、QoS 保证、安全与隐私保护等若干关键技术加以支持。,云计算与相关技术的联系,45,46,云计算体系架构,IaaS 层是云计算的基础。通过建立大规模数据中心,IaaS 层为上层云计算服务提供海量硬件资源。同时,在虚拟化技术的支持下,IaaS 层可以实现硬件资源的按需配置,并提供个性化的基础设施服务。主要研究问题:如何建设低成本、高效能的数据中心;如何拓展虚拟化技术,实现弹性、可靠的基础设施服务。,3.1 IaaS 层关键技术,47,数据中心相关技术,48,消除异构化系统之间障碍快速动态部署资源和服务,云计算平台对资源的独立,兼容各类应用平台计算,存储,网络资源的智能化统一管理面向业务的资源的定制化部署,虚拟化技术与绿色科技结合,降低能耗先进、高效、智能的系统散热方案智能化的环境控制和能效管理系统,虚拟化提高资源利用率,简化管理维度,节省维护成本支持异构资源兼容,实现业务的平滑升级,下一代数据中心的特征,基于云计算的基础架构,虚拟化,智能,绿色,低成本,与传统的企业数据中心不同,云计算数据中心具有以下特点自治性。规模经济。规模可扩展。研究重点: 数据中心网络设计以低成本、高带宽、高可靠的方式连接大规模计算节点; 数据中心节能技术,数据中心相关技术,49,虚拟化技术,50,虚拟化(Virtualization) 是将计算机物理资源如服务器、网络、内存及存储等予以抽象、转换后呈现出来,使用户可以采用比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。包括: 软件虚拟化 硬件辅助虚拟化 操作系统级虚拟化,虚拟化技术,51,非虚拟化环境 难以管理 无灵活性 投资回报率低 众多分立的采购,虚拟化技术,52,数据中心为云计算提供了大规模资源。为了实现基础设施服务的按需分配,需要研究虚拟化技术。虚拟化是IaaS 层的重要组成部分,也是云计算的最重要特点。虚拟化技术可以提供以下特点。资源分享资源定制细粒度资源管理 为了进一步满足云计算弹性服务和数据中心自治性的需求,需要研究虚拟机快速部署和在线迁移技术。虚拟机快速部署技术虚拟机在线迁移技术,PaaS 层作为3 层核心服务的中间层,既为上层应用提供简单、可靠的分布式编程框架,又需要基于底层的资源信息调度作业、管理数据,屏蔽底层系统的复杂性。随着数据密集型应用的普及和数据规模的日益庞大,PaaS 层需要具备存储与处理海量数据的能力。 主要技术包括:海量数据存储与处理技术资源管理与调度技术,3.2 PaaS 层关键技术,53,海量数据存储技术 云计算环境中的海量数据存储既要考虑存储系统的I/O 性能,又要保证文件系统的可靠性与可用性。如为Google 设计了GFS(google file system),GFS 对其应用环境做了6 点假设:系统架设在容易失效的硬件平台上;需要存储大量GB 级甚至TB 级的大文件;文件读操作以大规模的流式读和小规模的随机读构成;文件具有一次写多次读的特点;系统需要有效处理并发的追加写操作;高持续I/O 带宽比低传输延迟重要。,海量数据存储与处理技术,54,海量数据存储与处理技术,55,GFS 执行流程,数据处理技术与编程模型PaaS 平台不仅要实现海量数据的存储,而且要提供面向海量数据的分析处理功能。由于PaaS 平台部署于大规模硬件资源上,所以海量数据的分析处理需要抽象处理过程,并要求其编程模型支持规模扩展,屏蔽底层细节并且简单有效。 如:MapReduce 是Google 提出的并行程序编程模型,海量数据存储与处理技术,56,MapReduce 的执行过程,副本管理技术任务调度算法任务容错机制,资源管理与调度技术,57,为了使云计算核心服务高效、安全地运行,需要服务管理技术加以支持。服务管理技术包括:QoS保证机制安全与隐私保护技术资源监控技术服务计费模型.,3.3 服务管理层,58,4. 云计算研究现状,59,IBM:蓝云计划谷歌:Google App Engine亚马逊:弹性计算云Elastic Compute Cloud (EC2)微软:Windows Azure platform惠普、英特尔、雅虎:Open Cirrus云计算测试平台Salesforce:软件服务提供商,4. 云计算研究现状,60,4. 云计算研究现状,61,Google 101 计划:卡耐基梅隆大学,MIT,斯坦福大学,加利福尼亚大学伯克利分校,马里兰大学和华盛顿大学。学生们学习如何调整自己的程序来适应Google计算机,并雄心勃勃地设计开发网络规模的项目这些数据可能用于开发新药品和疗法、制造新的清洁能源、甚至预测地震2007年一年就增加了4个新的数据中心,平均每个成本达6亿美元,4. 云计算研究现状,62,Google,4. 云计算研究现状,63,Google App Engine,4. 云计算研究现状,64,Google App Engine,Google App Engine 提供运行和开发的基础平台,允许开发人员编写网络应用,上传至App Engine部署运行支持Java和Python两种开发语言App Engine 应用程序易于构建和维护,并可根据访问量和数据存储需要,进行伸缩。将应用程序隔离在它自己的安全可靠环境中,该环境与网络服务器的硬件、操作系统和物理位置无关,4. 云计算研究现状,65,云计算时代的分布并行编程技术分布并行数据处理技术Google MapReduceHadoop MapReduce分布式文件系统Google File SystemHadoop Distributed File System分布式数据库Google BigTableHadoop HBase,云计算的分布并行编程技术,4. 云计算研究现状,66,分布并行数据处理,MapReduce用于大规模数据并行处理数据量大(超过1TB)在成百上千个CPU上并行处理用户只需实现下面接口map (in_key, in_value) - (out_key, intermediate_value) listreduce (out_key, intermediate_value list) - out_value list,分布并行数据处理(续),67,MapReduce架构,4. MapReduce实现原理,68,分布式文件系统,69,Google File System(GFS)需求:在廉价、相对不可靠的计算机上对巨量数据进行冗余存储。 为什么不用现有的文件系统?-Google面对特殊的挑战文件较大,每个都在100M以上,通常为几个GB文件通常需要频繁的追加用流方式读取高吞吐量低延迟针对上述问题,GFS在文件系统性能和可伸缩性方面进行了优化设计。,Google文件系统(GFS),70,Google48%,MSN19%,Yahoo33%,客户端,互为备份,管理节点,GFS主节点,GFS主节点,C0,C1,C2,C5,数据结点1,C0,C2,C5,数据结点N,C1,C5,数据结点2,C1,分布式文件系统(续),71,GFS的设计理念文件用块存储每个块固定为64MB通过冗余解决可靠性问题每个块同时拷贝在3个块服务器上主服务器负责协调访问和保存元数据简单化的集中管理定制化的API无数据缓存较大文件块和流式读取使得缓存效果不佳,分布式数据库系统,72,Google BigTable为了处理Google内部大量的格式化以及半格式化数据而构建的大规模分布式数据库管理系统 特点面向大规模处理、容错性强的自我管理系统,拥有TB级的内存和PB级的存储能力,每秒可以处理数百万的读写操作能够保存记录的不同时段的版本构建于GFS和MapReduce基础之上,分布式数据库系统(续),73,BigTable的设计理念面向网页数据的发布、搜索和浏览等特定处理的需要,简化数据管理系统的设计,并提高性能不支持关联不支持SQL查询简化数据的一致性管理网页数据的管理对一致性要求不高简化事务管理网页数据的处理(搜索、发布)对事务管理要求不高面向海量数据管理要求设计分割和合并管理机制(基于元数据)设计自动伸缩功能(根据数据量调整资源用量),分布式数据库系统(续),74,BigTable架构,国内云计算企业,75,5. 云计算的机遇与挑战,76,近年来,云计算技术得到了快速发展。随着它对人们日常生活的影响越来越深入,云计算最终使得计算和存储成为一种公共资源,像水、电一样渗透到人们生活的各个方面。与此同时,新的应用需求不断出现,比如实时搜索,在线推荐系统,社交网络分析等应用,将给云计算技术带来新的挑战。,5. 云计算的机遇与挑战,77,云计算和移动互联网的结合云计算与科学计算的结合端到云的海量数据传输大规模应用的部署与调试新型的应用对数据存储量的要求更大应用的复杂度和实时性要求越来越高应用对数据随机访问的速度越来越高,6. 云计算与分布式处理,78,集中式:采用工作站/终端通过网络/电缆共享大型计算机的计算与存储资源;分布式:在一个局域网中,每一台机器既是一台工作站,又是一台服务器,没有主从之分,也就是人们常说的P2P模式。整个系统在用户看来就是一台存储容量大、计算能力强的虚拟机。云计算:在互联网中,由多台计算(应用)服务器和数据库(存储)服务器组成的,6. 云计算与分布式处理,79,一台存储容量大、技术能力强的虚拟机,分布式存储及分布式计算模型是云计算体系架构中的核心。云计算技术与分布式处理技术的异同相同之处:两者都提供了一台存储容量大、技术能力强的虚拟机。不同之处:分布式处理技术是P2P模式,在虚拟机上的用户程序被分成多个模块透明,6. 云计算与分布式处理,80,地分发到任意多台机器上,通过它们之间的交互和协作共同完成用户的程序。用户的文件/数据存方在任意多台机器上的存储器中,可供透明地进行访问和修改。所有机器上的负载基本保持平衡。 而云计算技术是用户通过虚拟机调用存放在存储器群中的程序,该程序被透明地分发到任意一台计算服务器上执行,以保持计算服务器群的负载基本平衡。用户的文,6. 云计算与分布式处理,81,文件/程序/数据存放在任意多台存储器中,可供透明地访问和修改。 总而言之,分布式处理技术是云计算技术的基础,而在分布式处理技术基础上发展起来的云计算技术是一种基于互联网的集中分布式处理技术。,谢谢大家!,计算机科学与计算学院,