云应用中的服务质量 版权信息
- 出版社:机械工业出版社
- 出版时间:2016-01-01
- ISBN:9787111523529
- 条形码:9787111523529 ; 978-7-111-52352-9
云应用中的服务质量 本书特色
本书介绍了关于应用程序服务质量、云模型以及虚拟化架构缺陷的基础内容,系统地分析了应用程序服务由于云架构缺陷受到的影响,为云计算应用以及尚在开发过程中的应用提供了技术和策略方面的建议,优化其提供优质服务的能力。本书适合从事云计算、云应用设计以及软件工程行业的人士阅读,也适合作为相关专业的师生的参考书。
云应用中的服务质量 内容简介
目前的云应用程序,小到智能手机的app,大到大数据整体运算解决方案,应用程序之间的竞争,已经从数量性、功能性的竞争逐渐向服务质量的竞争过渡。人们都希望通过云计算架构交付给用户的软件应用和服务,应当具有与在传统本地硬件配置上运行时相同级别的服务质量、可靠性和可用性。但由于云计算架构基于虚拟化的计算、内存、存储和网络资源,从而引入了许多潜在的服务缺陷风险。因此,基于云的应用程序开发人员应当学会如何消除这些缺陷,才能将可以接受的服务交付给终端用户。本书包含了三个部分:
第i部分:配置。介绍了关于云应用程序服务质量、云模型以及虚拟化架构缺陷的基础内容。
第ii部分:分析。系统地分析了云应用程序服务由于云架构缺陷受到的影响。
第iii部分:建议。为已经完成或尚在开发过程中的云应用提供了技术和策略方面的建议,以减轻或消除服务质量上的风险和缺陷。
云应用中的服务质量 目录
目录关于作者译者序1 概述1.1 入门1.2 目标读者1.3 本书组织结构i 配置2.应用程序服务质量2.1 简单应用程序模型2.2 服务边界2.3 质量和性能的关键指标2.4 关键应用特征2.4.1 服务急迫性2.4.2 应用程序交互性2.4.3 网络传输缺陷的耐受性2.5 应用程序服务质量指标2.5.1 服务可用性2.5.2 服务延迟2.5.3 服务可靠性2.5.4 服务可访问性2.5.5 服务可维持性2.5.6 服务吞吐量2.5.7 服务时间戳精度2.5.8 特定应用程序的服务质量度量2.6 技术服务与支持服务2.6.1 技术服务质量2.6.2 支持服务质量2.7 安全事项3 云模型3.1 云计算中的角色3.2 云服务模型3.3 云的基本特征3.3.1 按需自助服务3.3.2 广泛的网络访问3.3.3 资源池3.3.4 快速弹性3.3.5 度量服务3.4 简化云架构3.4.1 应用软件3.4.2 虚拟机服务器3.4.3 虚拟机服务器控制器3.4.4 云操作支持系统3.4.5 云技术组件“即服务” 3.5 弹性度量3.5.1 密度3.5.2 配置间隔3.5.3 释放间隔3.5.4 向内和向外扩展3.5.5 向上和向下扩展3.5.6 敏捷性3.5.7 转换速率和线性度3.5.8 弹性加速3.6 空间和区域3.7 云意识4 虚拟化架构缺陷4.1 服务延迟、虚拟化和云4.1.1 虚拟化和云导致的延迟变化4.1.2 虚拟化开销4.1.3 增加架构性能的可变性4.2 虚拟机故障4.3 无法交付的虚拟机配置容量4.4 交付退化的虚拟机容量4.5 尾部延迟4.6 时钟事件抖动4.7 时钟漂移4.8 失败或缓慢的虚拟机实例分配和启动4.9 虚拟化架构缺陷展望ii 分析5 应用程序冗余和云计算5.1 故障,可用性和简单建构5.2 通过虚拟化改进软件修复时间5.3 通过虚拟化改进架构修复时间5.3.1 理解硬件修复5.3.2 虚拟机修复即服务5.3.3 讨论5.4 冗余和可恢复性5.4.1 通过虚拟化改进恢复时间5.5 顺序冗余和并发冗余5.5.1 混合并发策略5.6 虚拟化缺陷对应用服务的影响5.6.1 简单架构的服务影响5.6.2 顺序冗余架构的服务影响5.6.3 并发冗余架构的服务影响5.6.4 混合并发架构的服务影响5.7 数据冗余5.7.1 数据存储策略5.7.2 数据一致性策略5.7.3 数据架构注意事项5.8 讨论5.8.1 服务质量的影响5.8.2 并发控制5.8.3 资源使用5.8.4 简易性5.8.5 其他注意事项6 负载分配与均衡6.1 负载分配机制6.2 负载分配策略6.3 代理负载均衡器6.4 非代理负载分配6.5 负载分配的层次结构6.6 基于云的负载均衡所面临的挑战6.7 负载均衡在支持冗余方面的作用6.8 负载均衡与可用区域6.9 工作负载服务度量6.10 操作注意事项6.10.1 负载均衡与弹性6.10.2 负载均衡与过载6.10.3 负载均衡与发布管理6.11 负载均衡与应用程序服务质量6.11.1 服务可用性6.11.2 服务延迟6.11.3 服务可靠性6.11.4 服务可访问性6.11.5 服务可维持性 6.11.6 服务吞吐量6.11.7 服务时间戳精度7 故障容器7.1 故障容器7.1.1 故障级联7.1.2 故障容器与恢复7.1.3 故障容器与虚拟化7.2 故障点7.2.1 单点故障7.2.2 单点故障与虚拟化7.2.3 关联性和反关联性考虑7.2.4 在云计算中确保无spof 7.2.5 无spof和应用程序数据7.3 **共存解决方案7.3.1 **共存解决方案的风险7.4 多租户与解决方案容器8 容量管理8.1 工作负载变化8.2 传统容量管理8.3 传统过载控制8.4 容量管理与虚拟化8.5 云容量管理8.6 弹性存储注意事项8.7 弹性和过载8.8 操作注意事项8.9 负载拉锯8.10 一般弹性风险8.11 弹性故障场景8.11.1 弹性增长故障场景8.11.1 弹性逆增长故障场景9 发布管理9.1 相关术语9.2 传统的软件升级策略9.2.1 软件升级需求9.2.2 维护窗口9.2.3 应用升级的客户端注意事项9.2.4 传统的离线软件升级9.2.5 传统的在线软件升级9.2.6 讨论9.3 支持云的软件升级策略9.3.1 i型云支持升级策略:街区聚会9.3.2 ii型云支持升级策略:每车一司机9.3.3 讨论9.4 数据管理9.5 软件升级中的服务编排角色9.5.1 解决方案级软件升级9.6 结论10 端到端考虑因素10.1 端到端服务环境10.2 三层端到端服务模型10.2.1 通过三层模型估算服务缺陷10.2.2 端到端服务可用性10.2.3 端到端服务延迟10.2.4 端到端服务可靠性10.2.5 端到端服务可访问性10.2.6 端到端服务可维持性10.2.7 端到端服务吞吐量10.2.8 端到端服务时间戳精度10.2.9 现实检查10.3 分布式和集中式的云数据中心10.3.1 集中式云数据中心10.3.2 分布式云数据中心10.3.3 服务可用性考虑10.3.4 服务延迟考虑10.3.5 服务可靠性考虑10.3.6 服务可访问性考虑10.3.7 服务可维持性考虑10.3.8 资源分配考虑10.4 多层解决方案架构10.5 灾难恢复与地理冗余10.5.1 灾难恢复目标10.5.2 地理冗余架构10.5.3 服务质量考虑10.5.4 恢复点考虑10.5.5 地理冗余和可用区域减轻灾难的影响iii 建议11 服务质量问责11.1 传统的问责11.2 云服务交付路径11.3 云问责11.4 问责案例研究11.4.1 问责和技术组件11.4.2 问责和弹性11.5 服务质量差距模型11.5.1 应用程序面向资源服务差距分析11.5.2 应用程序面向用户服务差距分析11.6 服务水平协议12 服务可用性度量12.1 服务度量概述12.2 传统服务可用性度量12.3 服务可用性度量演化12.3.1 应用演化分析12.3.2 技术组件12.3.3 存储即服务的使用12.4 硬件可靠性度量演化12.4.1 虚拟机故障生命周期12.5 弹性服务可用性度量演化12.6 发布管理服务可用性度量演化12.7 服务度量展望13 应用程序服务质量需求13.1 服务可用性需求13.2 服务延迟需求13.3 服务可靠性需求13.4 服务可访问性需求13.5 服务可维持性需求13.6 服务吞吐量需求13.7 时间戳精度需求13.8 弹性需求13.9 发布管理需求13.10 灾难恢复需求14 虚拟化架构度量与管理14.1 架构服务质量度量的业务环境14.2 云消费者度量选项14.3 缺陷度量策略14.3.1 虚拟机故障度量14.3.2 无法交付的虚拟机配置容量度量14.3.3 交付退化的虚拟机容量度量14.3.4 尾部延迟度量14.3.5 时钟事件抖动度量14.3.6 时钟漂移度量14.3.7失败或缓慢的虚拟机实例分配和启动度量14.3.8 度量总结14.4 管理虚拟化架构缺陷14.4.1 *小化应用程序对架构缺陷的敏感度14.4.2 虚拟机级拥塞检测与控制14.4.3 分配更多虚拟资源容量14.4.4 终止性能欠佳的虚拟机实例14.4.5 接受性能退化14.4.6 积极主动的供应商管理14.4.7 重新设定*终用户服务质量期望14.4.8 sla注意事项14.4.9 更换云服务提供商15 基于云的应用程序分析15.1可靠性框图和参照分析15.2 iaas缺陷影响分析15.3 paas故障影响分析15.4 工作负载分配分析15.4.1 服务质量分析15.4.2 过载控制分析15.5 反相关性分析15.6 弹性分析15.6.1 服务容量增长场景15.6.2 服务容量增长操作分析15.6.3 服务容量逆增长操作分析15.6.4 存储容量增长场景15.6.5 在线存储容量增长操作分析15.6.6 在线存储容量逆增长操作分析15.7 发布管理影响效应分析15.7.1 服务可用性影响15.7.2 服务可靠性影响15.7.3 服务可访问性影响15.7.4 服务可维持性影响15.7.5 服务吞吐量影响15.8 恢复点目标分析15.9 恢复时间目标分析16 测试注意事项16.1 测试环境16.2 测试策略16.2.1 云测试平台16.2.2 用于测试的容量16.2.3 统计置信度16.2.4 服务中断时间16.3 模拟架构缺陷16.4 测试计划16.4.1服务可靠性和延迟测试16.4.2 架构缺陷测试16.4.3 健壮性测试16.4.4 持久性/稳定性测试16.4.5 应用程序弹性测试16.4.6 升级测试16.4.7 灾难恢复测试16.4.8 极限共存测试16.4.9 paas技术组件测试16.4.10 自动回归则测试16.4.11 构造发布测试17 关键点连接与总结17.1 应用程序服务质量所面临的挑战17.2 冗余和健壮性17.3 可伸缩性设计17.4 可扩展性设计17.5 故障设计17.6 规划注意事项17.7 传统应用的演化17.7.1阶段0:传统应用17.7.2 阶段i:虚拟化架构上的高服务质量17.7.3 阶段ii:手动应用弹性17.7.4 阶段iii:自动发布管理17.7.5 阶段iv:自动应用弹性17.7.6 阶段v:虚拟机迁移17.8 结束语参考文献缩略语
云应用中的服务质量 作者简介
Eric Bauer是阿尔卡特-朗讯的IP平台CTO的可靠性工程经理,他曾在阿尔卡特-朗讯的平台、应用以及解决方案的可靠性方面工作超过十年。在从事可靠性工程领域之前,Bauer花了二十年时间设计和开发嵌入式固件、网络操作系统、IP PBX、互联网平台以及光传输系统。BAUER获得了十多项美国专利,撰写了《云计算实战:可靠性与可用性设计》、《超越冗余:地理冗余如何才能提高计算机系统的可用性和可靠性》、《可靠性设计:信息和计算机系统》、《系统可靠性实用技术》(均由Wiley-IEEE出版社出版)等著作,并有多篇论文在《贝尔实验室技术期刊》发表。BAUER拥有康奈尔大学电子工程学士学位和普渡大学电气工程硕士学位,他住在新泽西州弗里霍尔德。
Randee Adams是阿尔卡特-朗讯的IP平台CTO的技术顾问,她花了近十年时间专注于产品的可靠性设计,曾在各种内部可靠性论坛上多次发言。ADAMS撰写了《超越冗余:地理冗余如何才能提高计算机系统的可用性和可靠性》和《云计算的可靠性和可用性》等著作。她曾作为5ESS交换机的程序员,于1979年加入贝尔实验室。ADAMS在整个公司的多个项目(例如,软件开发、故障单管理、负载管理研究、软件交付、系统工程、软件架构、软件设计、开发工具和联合风险设置)和多个功能领域(例如,数据库管理、公共信道信令、操作实施、指导和管理、可靠性和安全性)工作过。ADAMS拥有亚利桑那大学的学士学位以及伊利诺斯理工学院的计算机科学硕士学位。她住在伊利诺伊州内珀维尔。