云计算与应用 第2讲 云服务


第2讲 云服务 莫同 15210525337 motong@ss.pku.edu.cn 上一讲回顾 • 初识云计算 – www.etao.com – www.12306.cn – VMware – GAE/SAE • 特征与优势 – 四个特征 – 五点优势 – 七类参与者的好处 • 发展历程 – 六步历程 – 产生动因 • 典型应用 – 应用 – 云服务 内容提要 1 •云服务概述 2 •IaaS 3 •PaaS 4 •SaaS 内容提要 1 •云服务概述 2 •IaaS 3 •PaaS 4 •SaaS 云服务概述 • 云计算—新的服务模式 – 资源服务化 – 虚拟化的计算和存储资源 – 运行应用的平台 – 种类繁多的互联网应用 – 服务的可伸缩性、可用性和安全性 云计算通过不同层次的架构实现不同类型的服务 以及满足用户对这些服务的各种需求。 云服务概述 公有云 (通过Internet提供 公共服务) 混合云 (通过Internet和 Intranet提供公共 和私有服务) 私有云 (通过Intranet提供 私有服务) 应用层 软件即服务(Software as a Service,SaaS) 平台层 平台即服务(Paltform as a Service,PaaS) 基础设施层 基础设施即服务(Infrastructure as a Service,IaaS) 云服务概述 • 什么是服务? – 通过一系列活动,而不是实物的方式,满足对方 的需求 – 以用户需求的满意度为核心 – 活动为主、实物为辅或无实物 云服务概述 • 服务的优势 – 针对个性化需求 • 按需是服务的一大特点,个性化中也有标准化 – 顾客参与度提升 • 参与度消除了人对未知的恐惧和猜忌 – 更大的价值体现 • 时间、金钱、感受… – 例:买车——租车 云服务概述 • 对IT的需求 – 应用软件——SaaS • 面向最终用户 – 开发软件或支撑软件——PaaS • 面向应用软件 – 基础硬件——IaaS • 面向软件 云服务概述 IaaS Infrastructure as a Service PaaS Platform as a Service SaaS Software as a Service 专用 通用 云服务概述 架构即服务 • 提供了核心计算资源和网络架构 的服务 • infrastructure stack: – 操作系统访问 – 防火墙 – 路由 – 负载平衡IaaS 云服务概述 IaaS Examples • Flexiscale • AWS: EC2 (Amazon Elastic Compute Cloud) 云服务概述 IaaS 平台即服务 • 提供平台给系统管理员和开发 人员,以为它构建、测试及部 署定制应用程序 • 降低管理系统的成本 • Popular services – Storage – Database – Scalability PaaS 云服务概述 IaaS PaaS Examples • Google App Engine • AWS: S3 (Simple Storage Service) • Microsoft Azure 云服务概述 IaaS PaaS 软件即服务 • 通过Internet提供软件的模式, 用户向提供商租用基于Web的 软件来管理企业经营活动,且 无需对软件进行维护,服务提 供商会全权管理和维护软件 SaaS 云服务概述 IaaS PaaS SaaS Examples • Google Docs • CRM • Financial Planning • Human Resources • Word processing • Salesforce.com 内容提要 1 •云服务概述 2 •IaaS 3 •PaaS 4 •SaaS IaaS • 基础设施层服务 – 经过虚拟化后的硬件资源和相关管理功能的集合 – 硬件资源包括:计算、存储和网络等资源 – 通过虚拟化技术对物理资源进行抽象 – 内部流程自动化 – 资源管理优化 – 对外提供动态、灵活的资源服务 什么是虚拟化? IaaS • 虚拟化 – 资源的逻辑表示,它不受物理限制的约束 – 虚拟化的对象是各种各样的资源 – 经过虚拟化后的逻辑资源对用户隐藏了不必要的 细节 – 用户可以在虚拟环境中实现其在真实环境中的部 分或全部功能 IaaS • 虚拟化示例—内存虚拟化 物理世界 虚拟化管理层 虚拟机A 虚拟机B 虚拟机C 进程的逻 辑内存 虚拟机的 物理内存 实际的物 理内存 IaaS • 基础设施层服务——IaaS – 核心功能 – 实现步骤 IaaS • 核心功能 – 资源抽象 – 资源监控 – 负载管理 – 数据管理 – 资源部署 – 安全管理 – 计费管理 IaaS • 资源抽象 – 对硬件进行虚拟化 – 屏蔽硬件产品差异 • 向下,针对不同硬件产品建立不同的适配器 – 对硬件进行统一的管理逻辑 • 向上,提供统一的标准的管理逻辑接口 – 核心问题:对资源进行粒度划分并管理 IaaS • 资源抽象 – 粒度分级概念 • 虚拟机(Virtual Machine) • 集群(Cluster) • 虚拟数据中心(Virtual Data Center) • 云(Cloud) – 将物理资源放入统一的资源池中 – 对资源池进行管理并呈现给用户 IaaS • 资源监控 – 保障基础设施层高效工作的关键 – 是负载管理的前提 – 对不同资源采取不同监控方式 • 计算单元—使用率 • 存储单元—使用率、读写操作 • 网络—实时的输入、输出及路由状态 IaaS • 资源监控 – 不同的监控层次 • 根据资源粒度层次 • 上级监控结果是下级监控结果的整合 – 不同的监控对象 • 物理单元的监控 • 逻辑单元的监控 • 解决方案的监控 IaaS • 负载管理 – 负载过低造成资源浪费 – 负载过高造成上层服务受到影响 空闲 负载 未进行负载平衡之前 IaaS • 负载管理 – 负载均匀 – 避免负载过高 空闲 负载 负载平衡之后 IaaS • 负载管理 – 关闭的越多 • 资源浪费越少(电力等) • 平均负载增加 • 性能影响越大 – 负载平衡与优化问题 • 负载对性能的影响 • 负载对资源的影响 • 优化算法 IaaS • 数据管理 – 多种数据并存 • 结构化XML数据 • 非结构化二进制数据 • 关系型数据库数据 – 物理上分布式存储 – 数据的完整性、可靠性、可管理性提出挑战 IaaS • 数据管理 – 完整性 • 数据的状态在任何时候都是确定的 • 可以通过操作恢复到一致的状态 • 任何时候都能够被正确的读 • 写操作进行适当的同步 – 可靠性 • 数据的损坏和丢失几率降到最低 • 冗余备份与恢复 – 可管理性 • 提供相应的操作支持粗粒度、逻辑简单的管理 IaaS • 资源部署 – 通过自动化部署流程将资源交付给上层应用 – 使基础设施服务变得可用的过程 – 分次部署 • 初期,虚拟化硬件资源就绪时进行初始化 • 应用运行时,进行动态部署 – 部署方式随基础设施层构建技术不同有巨大差异 – 虚拟化技术简化了资源部署的过程 IaaS • 资源部署典型场景 – 支持动态资源可伸缩性 • 用户的服务工作负载过高时,可以通过增加服务实例的 方式降低负载 • 云自动分配所需资源 • 例如:网络游戏用户激增 – 故障恢复与硬件维护 • 多节点的数据冗余—鸡蛋放在不同的篮子中 • 快速复制环境完成物理迁移 IaaS • 安全管理 – 保证基础设施资源被合法地访问和使用 – 合法性 • 正确的用户 • 正确的程序 • 正确的分配 – 云数据的安全 • 操作审查机制 • 操作授权机制 • 操作追踪机制 IaaS • 安全管理 – 环境更加开放 – 用户不保有数据 – 云内部破坏力更大 – 影响云安全的因素 • 恶意程序 • 硬件故障 • 云管理人员泄露数据 • 外在因素(灾害、盗窃) IaaS • 计费管理 – 变买为租 – 按量、按时间计费 – 使用情况监控 – 用户任务的多种实现方式 多种实现方式实例: 传输海量数据,通过网络传输成本要大于 将数据拷贝到移动存储设备中,然后再快递。不一定采 用IT手段 IaaS • 实现步骤 – 总体设计 – 服务流程 – 规划阶段 – 部署阶段 – 运行阶段 IaaS • 总体设计 – 建立物理设施 • 房屋、硬件设备、网络、电力、冷却装置、… – 虚拟化 – 建立基础设施层管理系统 – 建立基础设施层服务 IaaS 物理设备 虚拟化平台 虚拟化基础设施层 虚拟解决方案A 虚拟解决方案B 虚拟机 虚拟机 虚拟机 代理代理 代理 虚拟机 虚拟机 代理 代理 虚拟化集成管理器 负载管理 资源部署 安全管理 数据管理 资源监控 基础设施 层服务 镜像管理 系统部署 用户管理 系统监控 账户计费 IaaS • 总体设计 – 虚拟化平台 • 暴露统一接口 – 虚拟化集成管理器 • 提供基础设施层管理的核心功能 • 调用虚拟化平台提供的接口 • 管理虚拟的硬件资源 – 基础设施层服务 • 与虚拟化集成管理器提供的功能相对应 • 用户获得接触设施层资源的接口 IaaS • 服务流程 – 规划 – 部署 – 运行 规划 阶段 部署 阶段 运行 阶段 IaaS • 服务流程 – 规划阶段 • 对硬件资源进行虚拟化 • 建立逻辑资源池 • 配置安全管理模块 • 控制用户对资源池的访问 • 对数据、镜像文件的管理 • 提供访问镜像或上传自定义镜像服务 IaaS • 服务流程 – 部署阶段 • 自动部署资源 • 支持用户通过系统管理服务进行系统部署和卸载 IaaS • 服务流程 – 运行阶段 • 用户系统已经运行在虚拟资源上 • 持续地进行管理 – 资源监控 – 负载管理 – 安全管理 – 用户系统运行状态监控 – 账户计费服务 IaaS • 规划阶段 – 虚拟化 • 物理环境就绪 • 通过虚拟化软件对物理服务器进行改造 • 整合计算资源 • 建立统一访问接口 – 对虚拟机进行操作 – 获取各种资源的信息 IaaS • 规划阶段 – 用户访问及管理 • 基础设施层允许用户远程访问、获取资源 • 下载客户端程序 – 获得对基础设施层的访问逻辑 – 保障通信安全的证书和密钥 – 获取现有资源列表 – 选择虚拟机类型 – 进行部署、运行等操作 IaaS • 规划阶段 – 数据管理 • 业务数据的管理 – 传统数据管理办法 • 虚拟镜像文件的管理 – 镜像文件是二进制数据 – 包含虚拟机配置、操作系统类型、软件堆栈等等 – 模板可供不同用户重复使用 – 模板+自定义镜像上传 – 空余较大 – 压缩存储 – 增量备份 IaaS • 部署阶段 – 虚拟机或虚拟解决方案的部署 – 分配资源 – 虚拟机内部配置文件描述资源配置 – 接收虚拟化集成管理器的激活命令 – 启动配置实例 IaaS • 运行阶段 – 对虚拟机进行管理 • 黑盒管理 • 白盒管理 – 资源监控 – 负载管理 – 安全管理 – 用户服务 • 账户计费服务 • 运行监控服务 IaaS • 运行阶段 – 黑盒管理 • 针对虚拟机整体进行管理 • 虚拟化集成管理器与虚拟服务器直接交互 • 与虚拟机内部运行程序无关 虚拟化平台 虚拟化基础设施层 虚拟解决方案A 虚拟解决方案B 虚拟机 虚拟机 虚拟机 代理代理 代理 虚拟机 虚拟机 代理 代理 虚拟化集成管理器 负载管理 资源部署 安全管理 数据管理 资源监控 IaaS • 运行阶段 – 白盒管理 • 针对虚拟机内部软件栈 • 虚拟化集成管理器与虚拟机内部代理交互 虚拟化平台 虚拟化基础设施层 虚拟解决方案A 虚拟解决方案B 虚拟机 虚拟机 虚拟机 代理代理 代理 虚拟机 虚拟机 代理 代理 虚拟化集成管理器 负载管理 资源部署 安全管理 数据管理 资源监控 IaaS • 运行阶段 – 资源监控 • 通过黑盒管理与白盒管理共同完成 软件资源 监控信息 软件资源 监控信息 软件资源 监控信息 白盒管理 虚拟机资源 监控信息 虚拟机资源 监控信息 虚拟机资源 监控信息 黑盒管理 虚拟解决方案资 源监控信息 IaaS • 运行阶段 – 负载管理 • 基于资源管理 • 依赖黑盒管理和白盒管理机制 • 白盒管理得到虚拟机自身负载 • 黑盒管理进行负载协调 – 当虚拟机所在物理服务器仍有可用资源时,从虚拟机本地物理 服务器获取资源(实时) – 当虚拟机所在物理服务器可用资源不足时,通过虚拟机的实时 迁移进行资源整合(实时) – 协调各物理服务器负载(非实时) IaaS • 运行阶段 – 安全管理 • 贯穿整个运行阶段 • 分层次管理 IaaS • 运行阶段 – 安全管理 • 虚拟化平台的管理域 – 只运行必要的服务 – 防火墙控制对管理域的访问 – 禁止用户访问 • 虚拟化集成管理器 – 访问的安全认证 – 服务消息中包含安全认证信息 – 对所有访问进行跟踪与记录 • 虚拟机 – 不同软件的安全管理 IaaS • 运行阶段 – 账户计费服务 • 基于资源监控和负载管理 • 虚拟机的配置 • 使用时间 • 负载管理复杂程度 • 服务质量 IaaS • 运行阶段 – 运行监控服务 • 用户希望了解自己系统的情况 – 实时状态 – 历史信息 • 基于资源监控和负载管理 • 日志信息 • 统计图表 • 手动优化 IaaS • 基础设施即服务 – 交付给用户的是基本的基础设施资源 • 网络带宽 • 计算单元—处理器机时 • 存储单元—存储空间 – 用户无需购买、维护硬件设备和相关系统软件 – 直接在基础设施即服务上构建自己的平台和应用 – 使用最灵活,但难度最大,需要用户完全自主构 建平台和应用 – Amazon IaaS • Amazon EC2 – Xen虚拟化技术 – 提供计算资源 – 数量+时间方式计费 • Amazon S3(Simple Storage Service) – 提供存储资源 内容提要 1 •云服务概述 2 •IaaS 3 •PaaS 4 •SaaS PaaS • 平台层服务 – 介于基础设施层和应用层之间 – 具有通用性和可复用性的软件资源集合 – 为云应用提供开发、运行、管理和监控的环境 – 优化了的“云中间件” – 更好的满足云应用的可伸缩性、可用性和安全性 什么是平台? PaaS • 常见的平台 – 基于快速开发目的技术平台 – 基于业务逻辑复用的业务平台 – 基于系统自维护,自扩展的应用平台 • 平台的例子 – J2EE – 淘宝 PaaS • 平台层 – 核心功能 – 实现步骤 PaaS • 核心功能 – 开发平台 – 运行时环境 – 运营环境 PaaS • 开发平台 – 平台层是其上运行的应用的开发平台 – 应用模型 – API代码库 – 必要的开发测试环境 PaaS • 开发平台 – 应用模型 • 编程语言 • 应用的元数据模型 • 应用的打包发布格式 – 联想一下J2EE开发平台 PaaS • 开发平台 – API代码库 • 平台层为其上开发应用而提供的统一服务 • 界面绘制 • 消息机制 • 减少重复工作 • 缩短开发周期 • 云平台可以包含多方提供的代码库 • 更好的开放性 • 更丰富的API PaaS • 开发平台 – 开发测试环境 • 在线的应用开发测试环境 • 服务器端完成所有工作 • 开发人员无需安装和配置开发软件 • 需要平台层提供良好开发体验 • 网络稳定 • 足够的带宽 • 离线开发测试+上传模式 PaaS • 运行时环境 – 开发测试完毕后,对应用进行部署上线 – 应用打包 – 上传到远程平台 – 解析元数据信息对应用进行配置 – 不同平台层用户完全独立 – 有可能产生配置冲突 – 隔离性、可伸缩性、资源的可复用性 PaaS • 运行时环境 – 隔离性 • 业务隔离 • 数据隔离 • 应用间隔离 – 建立隔离工作区 • 用户间隔离 – 用户角度:独享 – 系统角度:多租户技术 PaaS • 运行时环境 – 可伸缩性 • 动态资源分配 • 动态资源 – 计算能力 – 存储 – 网络带宽 • 分配依据 – 工作负载 – 业务规模 PaaS • 运行时环境 – 资源的可复用性 • 与可伸缩性相关 • 资源释放、回收 • 宏观无限 • 微观有限 PaaS • 运营环境 – 应用更新 – 应用升级 – 应用监控 – 资源消耗监控 – 应用卸载 – 应用计费统计 PaaS • 运营环境 – 应用更新 • 功能添加 • 版本升级 PaaS • 运营环境 – 应用升级 • 应用开发人员根据升级补丁模型制作应用升级补丁 • 使用平台层提供的应用升级脚本上传补丁 • 提交升级请求 • 解析补丁 • 自动化升级 • 升级过程中的问题 – 升级中客户在使用老版本的应用处理业务 – 升级失败的恢复 PaaS • 运营环境 – 应用监控 • 应用运行状态 – 工作负载 – 出现异常 • 监控手段 – 响应时间 – 吞吐量 – 工作负载 – 处理的请求量 • 图形化展示 PaaS • 运营环境 – 资源消耗监控 • 调用基础设施层的服务 • 初次分配资源 • 实时分配资源 • 统计报表 PaaS • 运营环境 – 应用卸载 • 直接删除 • 备份后删除 • 卸载说明 • 卸载协议 • 注意避免卸载引起的业务上的损失,产生不必要的纠纷 PaaS • 运营环境 – 应用计费统计 • 资源使用统计 • 业务使用统计 PaaS • 实现步骤 – 总体设计 – 开发平台 – 运行环境 – 运营环境 PaaS • 总体设计 – 以云端J2EE平台为例 什么是J2EE平台? PaaS 基础设施层服务 开发平台 … 测试工具 开发工具 代码库 平 台 SDK 运营环境 … 应用监控 租户计费 应用管理 运行环境 应用运行 应用伸缩 应用隔离 Web 服务 器集 群 应用 服务 器集 群 数据 库服 务器 集群 平台层服务 应用监控 计费管理应用开发 应用测试 应用上线 应用升级 SaaS应用 租户 租户 SaaS应用 租户 租户 租户 租户 SaaS应用 租户 租户 PaaS • 开发平台 – 应用模型 • J2EE规范 – 服务提供方式 • REST • SOAP – 核心API • SDK – 发布格式 • JAR包 PaaS • 开发平台 – 开发测试环境 • Eclipse • Jbuilder •… PaaS • 运行环境 – 可伸缩实现机制 基础设施层服务 平台层管理器 虚拟机 虚拟机 动态扩展节点 机制1 基础设施层服务 平台层管理器 虚拟机 动态扩展节点 机制2 虚拟机 虚拟机 差别 PaaS • 运行环境 – 机制1 • 应用服务器与数据库服务器之间打包配置 – 机制2 • 应用服务器与数据库服务器分别打包 – 两种机制的优缺点? PaaS • 运营环境 – J2EE平台上升级和卸载的标准流程 – 平台层定制化操作 PaaS • 平台即服务 – 交付给用户的是丰富的“中间件”资源 • 应用容器 • 数据库 • 消息处理 – 面向软件开发人员而非终端用户 PaaS • 云平台上开发应用的优势 – 提供高级编程接口,简单易用,缩短编程人员上 手时间 – 应用的开发与运行基于相同的平台,兼容性问题 较少 – 开发者无需考虑应用的可伸缩性、服务容量问题 – 平台层的运营管理功能还能够帮助开发人员对应 用进行监控和计费 – Google PaaS • Google App Engine – Web应用开发平台 – 对Web应用的无状态计算和有状态存储进行分离 – 对Web应用使用的资源进行分配 – 具有良好的自动可伸缩性和高可用性 内容提要 1 •云服务概述 2 •IaaS 3 •PaaS 4 •SaaS SaaS • 应用层服务 – 云上应用软件的集合 – 建立在基础设施层提供的资源和平台层提供的环 境之上 – 种类繁多 • 面向广大受众的标准化应用 • 定制的个性化服务应用 • 用户开发的多元化应用 SaaS • 面向广大受众的标准化应用 – 满足用户日常生活办公需求 – 登陆认证 – 文档编辑 – 日程管理 –… SaaS • 定制的个性化服务应用 – 面向企业和机构用户的解决方案 – 财务管理 – 供应链管理 – 客户关系管理 – 物流管理 –… SaaS • 用户开发的多元化应用 – 独立软件开发商或第三方团队开发 – 为满足极为特定需求的创新应用 – 一般在公有云上创建 –… SaaS • 应用层 – 应用层上运行的软件千变万化 – 新应用层出不穷 – 无法描述功能 – 满足用户需求 – 应用层的特征 – 应用层的分类 SaaS • 应用层的特征 – 网络访问模式 • 通过浏览器访问 • 具有开放的API,允许用户或者瘦客户端调用 – 租用付费 • 无需一次性购买投入 • 按用付费 • 注册 – 高度整合 • 用户需求的综合性 • 用户体验为导向 SaaS • 应用层的分类 – 长尾理论 • 标准应用 • 客户应用 • 多元应用 云 应 用 流 行 程 度 云应用种类 标准应用 客户应用 多元应用 SaaS • 标准应用 – 典型案例 • Google Docs – 代码运行在平台层 – 服务质量要与本地运行差别不大 – 丰富的功能vs远程通信效率 SaaS • 客户应用 – 典型案例 • Salesforce CRM – 通用模板 – 一定程度的定制化 – 云应用的迁移是巨大的问题 • 现有应用迁移到云端 • 从一个云提供商迁移到另一个云提供商 • blog的迁移 SaaS • 多元应用 – 多元数据融合Mashup – 开放应用程序接口 – 例如基于Google Map的应用 SaaS • 软件即服务 – 交付给用户的是定制化的软件 – 将软件或应用以租用的形式提供给用户 – 用户无需本地安装软件副本,无需维护相应的硬 件资源 – 软件通过网络交付给用户,用户端只需浏览器或 客户端工具 – 软件即服务面向多个用户,但每个用户感觉其独 享该服务 SaaS • 软件即服务 – 商业、技术模式的升级 – 用户无需关心软件的安装和升级 – 无需一次性投入购买软件 – 软件开发者而言,可以方便的进行产品的部署与 升级 – 更有利于知识产权的保护 – Salesforce CRM,Google Gmail 小结 • 云服务概述 – 服务的三个层次 • IaaS – 核心功能 – 实现步骤 • SaaS – 核心功能 – 实现步骤 • 应用层 – 应用层特征 – 应用层分类 课后作业 • 思考题: – 云服务的基本层次 – IaaS的基本功能 – PaaS的基本功能
还剩104页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

dayu10

贡献于2014-08-21

下载需要 5 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf