好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第九章-云计算体系结构.ppt

75页
  • 卖家[上传人]:F****n
  • 文档编号:106691977
  • 上传时间:2019-10-15
  • 文档格式:PPT
  • 文档大小:1.20MB
  • / 75 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • Cloud Computing,,总目录,云计算概述 云计算体系及技术 云计算应用 云计算平台及趋势,- 1 -,,目录,云计算体系概述 云计算技术体系结构 云计算背后采用的具体技术 云计算对未来动态IT架构的支撑,- 2 -,,云计算体系概述,- 3 -,云计算的基本原理是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统云计算发展路线,- 4 -,云计算体系逻辑结构,- 5 -,云计算体系物理结构,- 6 -,云计算体系特点,- 7 -,通过Internet接入 不需要自身具有IT技术来实施 第三方提供 资源共享 无多余功能开发 无多余费用 系统延续性好,Cloud Applications (“Software-as-a-Service”),Cloud Platforms (“Platform-as-a-Service”),Cloud Collaboration,Cloud Storage,Cloud Servers/ Processing,Cloud MSP,目录,云计算体系概述 云计算技术体系结构 云计算背后采用的具体技术 云计算对未来动态IT架构的支撑,- 8 -,,- 9 -,云计算技术体系结构,由于云计算分为IaaS、PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构; 综合不同厂家的方案,给出一个供商榷的云计算体系结构。

      这个体系结构如下图所示,它概括了不同解决方案的主要特征,每一种方案或许只实现了其中部分功能,或许也还有部分相对次要功能尚未概括进来云计算技术体系结构,- 11 -,云计算技术体系结构,云计算技术体系结构分为4层:物理资源层、资源池层、管理中间件层和SOA构建层(如上图); 物理资源层包括计算机、存储器、网络设施、数据库和软件等; 资源池层是将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等构建资源池更多是物理资源的集成和管理工作,例如研究在一个标准集装箱的空间如何装下2000个服务器、解决散热和故障节点替换的问题并降低能耗 12 -,云计算技术体系结构,管理中间件负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务; SOA构建层将云计算能力封装成标准的Web Services服务,并纳入到SOA体系进行管理和使用,包括服务注册、查找、访问和构建服务工作流等管理中间件和资源池层是云计算技术的最关键部分,SOA构建层的功能更多依靠外部设施提供 13 -,云计算技术体系结构,计算的管理中间件负责资源管理、任务管理、用户管理和安全管理等工作。

      资源管理负责均衡地使用云资源节点,检测节点的故障并试图恢复或屏蔽之,并对资源的使用情况进行监视统计; 任务管理负责执行用户或应用提交的任务,包括完成用户任务映象(Image)的部署和管理、任务调度、任务执行、任务生命期管理等等;,- 14 -,云计算技术体系结构,用户管理是实现云计算商业模式的一个必不可少的环节,包括提供用户交互接口、管理和识别用户身份、创建用户程序的执行环境、对用户的使用进行计费等; 安全管理保障云计算设施的整体安全,包括身份认证、访问授权、综合防护和安全审计等 基于上述体系结构,以IaaS云计算为例,简述云计算的实现机制,如下图云计算简化实现机制,- 16 -,云计算简化实现机制,用户交互接口向应用以Web Services方式提供访问接口,获取用户需求 服务目录是用户可以访问的服务清单系统管理模块负责管理和分配所有可用的资源,其核心是负载均衡配置工具负责在分配的节点上准备任务运行环境 监视统计模块负责监视节点的运行状态,并完成用户使用节点情况的统计执行过程并不复杂: 用户交互接口允许用户从目录中选取并调用一个服务该请求传递给系统管理模块后,它将为用户分配恰当的资源,然后调用配置工具来为用户准备运行环境。

      目录,云计算体系概述 云计算技术体系结构 云计算背后采用的具体技术 云计算对未来动态IT架构的支撑,- 17 -,,- 18 -,云计算背后采用的具体技术,云计算作为一种新型的计算模式,还处于早期发展阶段众多大小不一、类型各异的提供商提供了各自基于云计算的应用服务 通过介绍亚马逊、Google、 IBM这三种典型的云计算实现,剖析在“云计算”背后所采用的具体技术,解析当前云计算的平台建设方法以及应用构建方式 19 -,实例1: Google的云计算平台与应用,Google的云计算技术实际上是针对Google特定的网络应用程序而定制的针对内部网络数据规模超大的特点,Google提出了一整套基于分布式并行集群方式的基础架构,利用软件的能力来处理集群中经常发生的节点失效问题 从2003年开始,Google连续几年在计算机系统研究领域的最顶级会议与杂志上发表论文,揭示其内部的分布式数据处理方法,向外界展示其使用的云计算核心技术 20 -,实例1: Google的云计算平台与应用,从其近几年发表的论文来看,Google使用的云计算基础架构模式包括四个相互独立又紧密结合在一起的系统包括: 一. Google建立在集群之上的文件系统Google File System 二. 针对Google应用程序的特点提出的Map/Reduce编程模式 三. 分布式的锁机制Chubby 四. Google开发的模型简化的大规模分布式数据库BigTable。

      21 -,一、Google File System 文件系统,为了满足Google迅速增长的数据处理需求,Google设计并实现了Google文件系统(GFS:Google File System) GFS与过去的分布式文件系统拥有许多相同的目标,例如性能、可伸缩性、可靠性以及可用性然而,它的设计还受到Google应用负载和技术环境的影响,主要体现在以下四个方面:,- 22 -,一、 Google File System 文件系统,1. 集群中的节点失效是一种常态,而不是一种异常由于参与运算与处理的节点数目非常庞大,通常会使用上千个节点进行共同计算,因此,每时每刻总会有节点处在失效状态需要通过软件程序模块,监视系统的动态运行状况,侦测错误,并且将容错以及自动恢复系统集成在系统中 2. Google系统中的文件大小与通常文件系统中的文件大小概念不一样,文件大小通常以G字节计另外文件系统中的文件含义与通常文件不同,一个大文件可能包含大量数目的通常意义上的小文件所以,设计预期和参数,例如I/O操作和块尺寸都要重新考虑 23 -,一、 Google File System 文件系统,3. Google文件系统中的文件读写模式和传统的文件系统不同。

      在Google应用(如搜索)中对大部分文件的修改,不是覆盖原有数据,而是在文件尾追加新数据对于这类巨大文件的访问模式,客户端对数据块缓存失去了意义,追加操作成为性能优化和原子性(把一个事务看做是一个程序它要么被完整地执行,要么完全不执行)保证的焦点 4. 文件系统的某些具体操作不再透明,而且需要应用程序的协助完成,应用程序和文件系统API的协同设计提高了整个系统的灵活性例如,放松了对GFS一致性模型的要求,这样不用加重应用程序的负担,就大大简化了文件系统的设计还引入了原子性的追加操作,这样多个客户端同时进行追加的时候,就不需要额外的同步操作了 24 -,一、 Google File System 文件系统,总之,GFS是为Google应用程序本身而设计的据称,Google已经部署了许多GFS集群有的集群拥有超过1000个存储节点,超过300T的硬盘空间,被不同机器上的数百个客户端连续不断地频繁访问着 下图给出了Google File System的系统架构,- 25 -,一、 Google File System 文件系统,- 26 -,一、 Google File System 文件系统,一个GFS集群包含一个主服务器和多个块服务器,被多个客户端访问。

      文件被分割成固定尺寸的块在每个块创建的时候,服务器分配给它一个不变的、全球惟一的64位块句柄对它进行标识块服务器把块作为linux文件保存在本地硬盘上,并根据指定的块句柄和字节范围来读写块数据 为了保证可靠性,每个块都会复制到多个块服务器上,缺省保存三个备份主服务器管理文件系统所有的元数据,包括名字空间、访问控制信息和文件到块的映射信息,以及块当前所在的位置 27 -,一、 Google File System 文件系统,GFS客户端代码被嵌入到每个程序里,它实现了Google文件系统 API,帮助应用程序与主服务器和块服务器通信,对数据进行读写客户端跟主服务器交互进行元数据操作,但是所有的数据操作的通信都是直接和块服务器进行的客户端提供的访问接口类似于POSIX接口,但有一定的修改,并不完全兼容POSIX标准通过服务器端和客户端的联合设计,Google File System能够针对它本身的应用获得最大的性能以及可用性效果 28 -,二、MapReduce分布式编程环境,为了让内部非分布式系统方向背景的员工能够有机会将应用程序建立在大规模的集群基础之上,Google还设计并实现了一套大规模数据处理的编程规范Map/Reduce系统。

      这样,非分布式专业的程序编写人员也能够为大规模的集群编写应用程序而不用去顾虑集群的可靠性、可扩展性等问题应用程序编写人员只需要将精力放在应用程序本身,而关于集群的处理问题则交由平台来处理 29 -,二、 MapReduce分布式编程环境,Map/Reduce通过“Map(映射)”和“Reduce(化简)”这样两个简单的概念来参加运算,用户只需要提供自己的Map函数以及Reduce函数就可以在集群上进行大规模的分布式数据处理 据称,Google的文本索引方法,即搜索引擎的核心部分,已经通过Map Reduce的方法进行了改写,获得了更加清晰的程序架构在Google内部,每天有上千个Map Reduce的应用程序在运行 30 -,三、分布式的锁机制Chubby,在Google File System(GFS)中,有很多的server,这些server需要选举其中的一台作为master server这其实是一个很典型的consensus问题,Value就是master server的地址 GFS就是用Chubby来解决的这个问题,所有的server通过Chubby提供的通信协议到Chubby server上创建同一个文件,当然,最终只有一个server能够获准创建这个文件,这个server就成为了master,它会在这个文件中写入自己的地址,这样其它的server通过读取这个文件就能知道被选出的master的地址。

      31 -,三、分布式的锁机制Chubby,Chubby是一个分布式的文件系统Chubby能够提供机制使得client可以在Chubby service上创建文件和执行一些文件的基本操作 从更高一点的语义层面上,Chubby是一个lock service,一个针对松耦合的分布式系统的lock service所谓lock service,就是这个service能够提供开发人员经常用的“锁”,“解锁”功能通过Chubby,一个分布式系统中的上千个client都能够对于某项资源进行“加锁”,“解锁” 那么,Chubby是怎样实现这样的“锁”功能的?就是通过文件Chubby中的“锁”就是文件,创建文件其实就是进行“加锁”操作,创建文件成功的那个server其实就是抢占到了“锁”用户通过打开、关闭和读取文件,获取共享锁或者独占锁;并且通过通信机制,向用户发送更新信息 32 -,四、分布式。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.