第 9 讲 PaaS 及关键技术

26
第 9 第 PaaS 第第第第第 §9.1 PaaS 第第 §9.2 第第第第第第 §9.3 第第第第

description

第 9 讲 PaaS 及关键技术. §9.1 PaaS 简介 §9.2 运行托管平台 §9.3 基础设施. XaaS. §9.1 PaaS 简介. Platform as a Service 提供应用软件的开发、测试、部署和运行环境 运行平台,如应用服务器 辅助系统软件,如数据库 关键技术 分布式文件系统 分布式数据 并行计算技术 典型产品 GAE Windows Azure. PaaS 的特征要求. 开发者只关注应用开发,无须关注应用的具体部署、配置、扩展和优化等。 自动缩放 按需计费 黏性平台绑定 方便管理维护 方便应用部署. - PowerPoint PPT Presentation

Transcript of 第 9 讲 PaaS 及关键技术

Page 1: 第 9 讲  PaaS 及关键技术

第 9 讲 PaaS 及关键技术

§9.1 PaaS 简介§9.2 运行托管平台§9.3 基础设施

Page 2: 第 9 讲  PaaS 及关键技术

XaaS

Page 3: 第 9 讲  PaaS 及关键技术

§9.1 PaaS 简介 Platform as a Service 提供应用软件的开发、测试、部署和运行环境

运行平台,如应用服务器 辅助系统软件,如数据库

关键技术 分布式文件系统 分布式数据 并行计算技术

典型产品 GAE Windows Azure

Page 4: 第 9 讲  PaaS 及关键技术

PaaS 的特征要求

开发者只关注应用开发,无须关注应用的具体部署、配置、扩展和优化等。

自动缩放 按需计费 黏性平台绑定 方便管理维护 方便应用部署

Page 5: 第 9 讲  PaaS 及关键技术

PaaS 的系统构成

- 弹性资源供给- 程序接口服务- 管理服务

- 应用逻辑处理- 用户界面呈现应用数据的查询、处理

Page 6: 第 9 讲  PaaS 及关键技术

PaaS 流派 IaaS 衍生型

基于 Amazon 的 IaaS ( EC2 , S3 )建立 PaaS 系统 传统生态延伸型

端 + 云的无缝结合: Windows Azure SaaS 拓展型

基于 SaaS 分割、抽取: Salesforce.com 革新型

基于互联网、分布式计算的全新平台: GAE

Page 7: 第 9 讲  PaaS 及关键技术

Google PaaS 系统

Page 8: 第 9 讲  PaaS 及关键技术

§9.2 运行托管平台 提供弹性可扩展分布式应用运行环境和服务

根据用户访问量和数据存储需求 主要部分

应用程序执行容器 数据存储服务 API 类库服务

Page 9: 第 9 讲  PaaS 及关键技术

GAE

Page 10: 第 9 讲  PaaS 及关键技术

GAE 的功能模块

Page 11: 第 9 讲  PaaS 及关键技术

GAE 的关键技术 – 沙箱技术( SandBox) 用于实现应用之间的隔离

共享物理服务器 也可以通过虚拟化实现隔离(如 Windows Azure )

隔离的含义 操作隔离:非法操作 数据隔离:数据访问 性能隔离:资源占用

Page 12: 第 9 讲  PaaS 及关键技术

GAE 的关键技术 – 沙箱技术( SandBox) 平台重构(非法访问隔离) 平台对敏感访问进行检查和控制 如 Java 、 Flash 、 Silverlight 等 操作系统定制(性能隔离) 一个 OS 虚拟多个 OS ( Virtual private server) 限制资源占用 如果 OpenVZ 伪造环境(数据隔离) 伪造环境使操作局限于指定的范围

Page 13: 第 9 讲  PaaS 及关键技术

GAE 的关键技术 – 请求调度技术 实现动态部署和弹性扩展 主要技术

基于 DNS 的调度 基于虚拟 IP 的调度 基于应用的调度 基于链路的调度

Page 14: 第 9 讲  PaaS 及关键技术

GAE 的关键技术 – 分布式缓存 避免重复查询数据库开销 主流系统: Memcached 、 Velocity 、 Coherence

Page 15: 第 9 讲  PaaS 及关键技术

§9.3 基础设施 分布式计算技术 分布式文件系统 分布式数据库 分布式协同管理 集群和平台管理

Page 16: 第 9 讲  PaaS 及关键技术

分布式计算技术 云平台的分布式计算特性

CAP 理论: Consistency 、 Availability 、 Partition-tolerance 不可兼得

传统分布式计算注重” C” 云计算平台注重” A” 和” P”

MapReduce 计算模型 Google 发明的分布式计算模型 适于海量数据处理

传统分布式计算适于“计算”密集型任务 基于数据分割

Page 17: 第 9 讲  PaaS 及关键技术

MapReduce 技术 基本过程

Map :将一组 key/value 对转换为中间 key/value 对 Reduce :将具有相同中间 key 值的 value 进行整合得到结果

例子: 统计一个大文本文件中每个英文字母出现的次数 Map :

将文件分为 m 份,每份对应一个 map 任务:统计其中的字母次数 一个计算节点负责执行一个 map 任务a/f(a), b/f(b),...,z/f(z).

Reduce : 一个字母对应一个 reduce 任务:整合不同 map 任务中该字母的次

Page 18: 第 9 讲  PaaS 及关键技术

MapReduce 技术

Page 19: 第 9 讲  PaaS 及关键技术

分布式文件系统 不同节点共享存储的数据(不是物理存储资源) 基本特征

透明性 并发访问高可用性

基本需求 数据冗余异构性 一致性高效性安全性

Page 20: 第 9 讲  PaaS 及关键技术

GFS

多层次容错 原子操作保证一致性 自动复制 按块存储,并行读取,效率高

Page 21: 第 9 讲  PaaS 及关键技术

分布式数据库 多个数据库单元通过网络连接、组合成逻辑上统一

的数据库 传统的分布式数据库

基于一个 DBMS 如: Azure 、 PNuts 等。

云平台的分布式数据库 基于分布式文件系统

高容量、高扩展性 如 BIgTable 、 Hbase 等。

Page 22: 第 9 讲  PaaS 及关键技术

分布式协同管理 共享资源的并行操作数据不一致 通过同步机制控制并发操作 常用的并发控制方法

基于锁的并发控制 两阶段锁协议 多副本的锁机制:读 -写全法、多数法、主副本法、单一管理法

基于时间戳的并发控制 基于全局唯一的时间戳

乐观并发控制 基于版本的并发控制

Page 23: 第 9 讲  PaaS 及关键技术

Google Chubby 并发控制 分布式所服务 通过文件操作实现锁操作

文件代表锁 主要目标

高可用性、高可靠性 性能、吞吐和空间占用不关心

Page 24: 第 9 讲  PaaS 及关键技术

集群和平台管理 集群的自动化部署

安装配置 OS 、 DFS 、分布式计算程序、作业管理软件、系统管理软件等。

集群作业调度 基于资源管理器调度作业的运行节点和时间 Google Work Queue : 调度管理 MapReduce 任务

远程控制 开关机控制远程控制台

应用管理与度量计费

Page 25: 第 9 讲  PaaS 及关键技术

小结 PaaS 的概念、特征和流派 PaaS 系统的构成 运行托管平台及关键技术

运行隔离 请求调度 分布式缓存

PaaS 的基础设施 /支撑技术 分布式计算技术 分布式文件系统 分布式数据库 分布式协同管理 集群和平台管理

Page 26: 第 9 讲  PaaS 及关键技术

课后作业

1. GAE 平台的应用服务架构与传统的 Web 应用服务架构有什么异同?

2. GFS 的元数据节点可能会成为性能瓶颈,如何改进?