云计算实战:可靠性与可用性设计.pdf

云计算实战:可靠性与可用性设计.pdf
 

书籍描述

编辑推荐
作者是阿尔卡特朗讯公司软件解决方案及服务的工程经理,拥有十多项美国专利,已发表多本可靠性和可用性方面的专著。
内容聚焦在可用性和可靠性上,深入透彻,具有很高的实用价值,而且出版时间新。

作者简介
Eric Bauer是阿尔卡特朗讯的软件、解决方案和服务事业部的可靠性工程经理。他目前专注于阿尔卡特朗讯的云计算相关产品、IP多媒体子系统(IMS)、以及其他解决方案的可靠性和可用性。他获得了超过12项美国专利,并在贝尔实验室的技术期刊上发表了多篇论文。 Bauer先生先后获得了康奈尔大学的电气工程学士学位、普渡大学的电气工程硕士学位。

目录
第1部分 基本概念篇
第1章 云计算 3
1.1 云的基本特征 3
1.1.1 按需自服务 4
1.1.2 广泛的网络访问 4
1.1.3 资源共享 4
1.1.4 快速弹性 5
1.1.5 服务可度量 5
1.2 共有的云特征 6
1.3 云计算到底是什么 6
1.3.1 什么是数据中心 7
1.3.2 云计算和传统数据中心有何不同 8
1.4 服务模式 8
1.5 云部署模式 9
1.6 云计算中的角色 10
1.7 云计算的优势 12
1.8 云计算的风险 12
第2章 虚拟化 13
2.1 背景 13
2.2 什么是虚拟化 14
2.2.1 管理程序的类型 14
2.2.2 虚拟和仿真 15
2.3 服务器虚拟化 15
2.3.1 完全虚拟化 16
2.3.2 部分虚拟化 17
2.3.3 操作系统虚拟化 17
2.3.4 讨论 17
2.4 虚拟机的生命周期 18
2.4.1 虚拟机快照 20
2.4.2 克隆虚拟机 20
2.4.3 高可用性机制 21
2.5 虚拟化的可靠性和可用性风险 21
第3章 服务可靠性和服务可用性 22
3.1 错误和失效 22
3.2 八成分框架 24
3.3 服务可用性 26
3.3.1 服务可用性指标 26
3.3.2 MTBF和MTTR 27
3.3.3 服务和网元影响中断 28
3.3.4 局部中断 29
3.3.5 可用性等级 30
3.3.6 中断归因 31
3.3.7 计划内宕机时间 32
3.4 服务可靠性 33
3.4.1 服务可靠性指标 33
3.4.2 缺陷事务 34
3.5 服务时延 35
3.6 冗余和高可用性 38
3.6.1 冗余 39
3.6.2 高可用性 41
3.7 高可用性和灾难恢复 43
3.8 流媒体服务 45
3.8.1 控制和数据平面 45
3.8.2 服务质量指标 45
3.8.3 等时性数据 46
3.8.4 时延期望 47
3.8.5 流媒体质量损伤 47
3.9 云计算的可靠性和可用性风险 48
第2部分 分析篇
第4章 云计算的可靠性和可用性分析 51
4.1 服务可靠性和可用性的期望 51
4.2 云基本特征的风险 52
4.2.1 按需自助服务 52
4.2.2 宽带网络接入 52
4.2.3 资源池 52
4.2.4 快速弹性 53
4.2.5 测量服务 54
4.3 常见云特征的影响 55
4.3.1 虚拟化 55
4.3.2 地理分布 55
4.3.3 弹性计算 55
4.3.4 高级安全性 55
4.3.5 大规模 56
4.3.6 同质化 56
4.4 服务模式的风险 56
4.4.1 传统的责任归因 56
4.4.2 云应用的责任归因 57
4.5 IT服务管理和可用性的风险 58
4.5.1 ITIL概述 58
4.5.2 服务策略 59
4.5.3 服务设计 59
4.5.4 服务转移 60
4.5.5 服务运营 61
4.5.6 持续服务改进 61
4.5.7 IT服务管理概述 62
4.5.8 服务编排的风险 62
4.5.9 IT服务管理风险 63
4.6 过程区域中断的风险 63
4.7 故障检测的注意事项 65
4.7.1 硬件故障 67
4.7.2 编程错误 67
4.7.3 数据的不一致性和错误 67
4.7.4 冗余错误 67
4.7.5 系统电源故障 67
4.7.6 网络错误 67
4.7.7 应用协议错误 68
4.8 部署模型的风险 68
4.9 IaaS数据中心的期望值 68
第5章 虚拟化的可靠性分析 70
5.1 可靠性分析技术 70
5.1.1 可靠性框图 70
5.1.2 单点故障分析 71
5.1.3 故障模式影响分析(FMEA) 71
5.2 虚拟化技术的可靠性分析 73
5.2.1 全虚拟化分析 73
5.2.2 虚拟操作系统分析 74
5.2.3 半虚拟化分析 74
5.2.4 VM共存分析 75
5.2.5 讨论 77
5.3 软件故障率分析 77
5.3.1 虚拟化和软件故障率 77
5.3.2 虚拟机管理程序故障率 78
5.3.3 虚拟化和云的其他软件风险 78
5.4 恢复模型 78
5.4.1 传统的恢复选项 78
5.4.2 虚拟化恢复选项 79
5.4.3 讨论 82
5.5 应用架构策略 83
5.5.1 按需单用户模式 83
5.5.2 单用户守护进程模式 84
5.5.3 多用户服务器模式 84
5.5.4 服务器整合模式 84
5.6 虚拟化恢复方式的可用性建模 85
5.6.1 虚拟化单工架构的可用性 85
5.6.2 虚拟化冗余架构的可用性 86
5.6.3 关键故障率 86
5.6.4 故障覆盖率 87
5.6.5 故障检测延迟 87
5.6.6 切换延迟 87
5.6.7 切换成功率 87
5.6.8 建模与“快速故障” 88
5.6.9 本地和虚拟化部署的比较 88
第6章 硬件可靠性、虚拟化和服务可用性 89
6.1 对硬件故障停机时间的期望 89
6.2 硬件故障 89
6.3 硬件故障率 91
6.4 硬件故障检测 92
6.5 硬件故障遏制 93
6.6 硬件故障的缓解 93
6.7 通过虚拟化缓解硬件故障 95
6.7.1 虚拟CPU 95
6.7.2 虚拟内存 96
6.7.3 虚拟存储 96
6.8 虚拟化网络 97
6.8.1 虚拟网络接口卡 97
6.8.2 虚拟局域网 98
6.8.3 虚拟IP地址 99
6.8.4 虚拟专用网络 99
6.9 虚拟硬件的MTTR 99
6.10 讨论 100
第7章 容量和弹性 101
7.1 系统负载基础知识 101
7.1.1 特别事件的考虑 102
7.1.2 Slashdot效应 103
7.2 过载、服务的可靠性和可用性 103
7.3 传统的容量规划 104
7.4 云和容量 105
7.4.1 标称的云存储模型 106
7.4.2 弹性的期望 108
7.5 管理联机容量 110
7.6 容量相关的服务风险 112
7.6.1 弹性和弹性故障 112
7.6.2 部分容量故障 114
7.6.3 服务延迟风险 115
7.6.4 容量损伤和服务可靠性 117
7.7 容量管理风险 117
7.7.1 脆弱的应用架构 118
7.7.2 故障或监测数据不足 118
7.7.3 错误的容量决策 119
7.7.4 不可靠的容量扩张 119
7.7.5 不可靠的容量缩减 119
7.7.6 转换速度不足 119
7.7.7 缓慢的容量管理决策 120
7.7.8 资源库存耗竭 120
7.7.9 云跳转失败 120
7.7.10 政策限制 120
7.8 安全性和服务可用性 121
7.8.1 服务可用性的安全风险 121
7.8.2 拒绝服务攻击 122
7.8.3 DoS攻击的防御 123
7.8.4 量化安全攻击对服务可用性的影响 123
7.8.5 建议 124
7.9 弹性扩张和收缩的架构 124
第8章 服务编排分析 126
8.1 服务编排定义 126
8.2 基于策略的管理 127
8.2.1 SLR的作用 128
8.2.2 服务可靠性和可用性的测量 128
8.3 云管理 129
8.3.1 云管理中快速弹性的作用 129
8.3.2 云管理中云突发的作用 129
8.4 服务编排在风险缓解中的作用 130
8.4.1 延迟 130
8.4.2 可靠性 130
8.4.3 监督管理 131
8.4.4 安全 131
8.5 小结 132
第9章 地理分布、地理冗余和灾难恢复 133
9.1 地理分布VS地理冗余 133
9.2 传统的灾难恢复 134
9.3 虚拟化和灾难恢复 135
9.4 云计算和灾难恢复 136
9.5 地理冗余恢复模型 137
9.6 云和传统地理冗余的附加益处 138
9.6.1 减少预期的宕机时间 138
9.6.2 缓解灾难性的网络元件故障 138
9.6.3 减少未发现的和双工元件故障 139
9.7 讨论 139
第3部分 建议篇
第10章 应用、解决方案和责任认定 143
10.1 应用配置场景 143
10.2 应用的部署方案 144
10.3 系统宕机时间预期 145
10.3.1 传统的系统宕机时间预期 145
10.3.2 虚拟化应用宕机时间预期 146
10.3.3 IaaS的硬件宕机时间预期 147
10.3.4 云应用的宕机时间预算 149
10.3.5 总结 151
10.4 最终的端到端解决方案的注意事项 151
10.4.1 什么是端到端解决方案 152
10.4.2 云消费者的特定架构 153
10.4.3 数据中心冗余 154
10.5 服务不佳的原因 155
10.6 解决方案服务的测量 157
10.7 管理可靠性和云计算服务 160
第11章 构建可靠系统的建议 161
11.1 虚拟化和云计算的架构 161
11.1.1 软件映射到VM 161
11.1.2 服务负载分配 162
11.1.3 数据管理 162
11.1.4 软件冗余和高可用性机制 163
11.1.5 快速弹性 165
11.1.6 过载控制 165
11.1.7 共享 165
11.1.8 多租户 166
11.1.9 同步应用 166
11.2 灾难恢复 167
11.3 IT服务管理的注意事项 167
11.3.1 软件升级和打补丁 167
11.3.2 服务迁移活动的影响分析 168
11.3.3 通过VM迁移缓解服务迁移活动的影响 168
11.3.4 服务迁移活动的测试 170
11.3.5 流程错误最小化 170
11.3.6 服务编排的注意事项 172
11.4 许多分布式云VS少量巨型云 172
11.5 硬件归因宕机时间最小化 173
11.6 架构优化 178
11.6.1 可靠性和可用性标准 178
11.6.2 可访问性优化 179
11.6.3 高可用性、持续性、可靠性和质量优化 181
11.6.4 灾难恢复优化 181
11.6.5 操作注意事项 181
11.6.6 案例分析 182
11.6.7 理论最优的应用架构 186
第12章 虚拟化应用的可靠性设计 188
12.1 可靠性设计 188
12.2 调整DfR以适应虚拟化应用 189
12.2.1 硬件独立性应用场景 189
12.2.2 服务器整合应用场景 190
12.2.3 多租户应用场景 191
12.2.4 虚拟化设备应用方案 191
12.2.5 云部署应用场景 191
12.3 可靠性要求 191
12.3.1 通用可用性要求 192
12.3.2 服务的可靠性和延迟要求 192
12.3.3 过载要求 193
12.3.4 在线容量增长和收缩 194
12.3.5 (虚拟化)实时迁移要求 195
12.3.6 系统转变活动的要求 196
12.3.7 地理冗余和服务持续性要求 196
12.4 可靠性定性分析 197
12.4.1 虚拟化应用的SPOF分析 197
12.4.2 虚拟化应用的故障模式影响分析 198
12.4.3 容量的增长和收缩分析 198
12.5 可靠性定量预算与建模 199
12.5.1 可用性(宕机时间)建模 199
12.5.2 整体宕机时间预算及目标 200
12.5.3 管理维护预算分配 200
12.6 健壮性测试 200
12.6.1 基准健壮性测试 201
12.6.2 高级主题:虚拟化能更好地测试健壮性 204
12.7 稳定性测试 205
12.8 实际性能分析 206
12.9 可靠性路线图 207
12.10 硬件可靠性 208
第13章 云计算解决方案的可靠性设计 209
13.1 解决方案的可靠性设计 209
13.2 解决方案范围和期望 210
13.3 可靠性需求 212
13.3.1 解决方案的可用性需求 212
13.3.2 解决方案的可靠性需求 212
13.3.3 灾难恢复需求 213
13.3.4 弹性需求 214
13.3.5 明确的配置参数 214
13.4 解决方案建模与分析 215
13.4.1 云数据中心部署的可靠性框图 215
13.4.2 解决方案故障模式的影响分析 215
13.4.3 解决方案服务转变活动的影响分析 216
13.4.4 云数据中心的服务可用性(MP2)分析 216
13.4.5 聚合服务可用性(MP3)建模 216
13.4.6 恢复点目标分析 219
13.5 组件可靠性检查 219
13.6 解决方案的测试和验证 219
13.6.1 健壮性测试 220
13.6.2 服务的可靠性测试 220
13.6.3 地理冗余测试 220
13.6.4 弹性与调度测试 221
13.6.5 稳定性测试 221
13.6.6 在用服务测试 221
13.7 实际性能的跟踪和分析 222
13.7.1 云服务的测量 223
13.7.2 解决方案的可靠性路线图 224
13.8 解决方案可靠性的其他主题 225
13.8.1 服务等级协议 225
13.8.2 云服务提供商的选择 226
13.8.3 书面的可靠性计划 226
第14章 总结 228
14.1 服务可靠性和服务可用性 229
14.2 故障问责和云计算 230
14.3 服务宕机时间因素 232
14.4 服务可用性测量点 234
14.5 云容量和弹性的考虑 235
14.6 最大化服务可用性 236
14.6.1 降低产品归因的宕机时间 236
14.6.2 降低数据中心归因的宕机时间 236
14.6.3 降低IT服务管理的宕机时间 236
14.6.4 降低灾难恢复的宕机时间 237
14.6.5 优化云服务可用性 237
14.7 可靠性努力 238
14.8 结束语 239
缩略语 240
参考文献 244

文摘
版权页:



插图:



(3)虚拟化开销延迟。在虚拟化部署中,应用软件所产生的系统调用在获取硬件资源时可能要经过虚拟机管理程序软件的附加层,这种软件附加层可能会增加一些延迟。需要注意的是,随着处理器允许虚拟化部署以及硬件虚拟化已经发展到可以充分利用硬件支持虚拟化的水平,虚拟化开销延迟其实时间很短。
这些服务延迟风险与在分时操作系统上运行的应用所面临的风险基本上是一样的;然而,由于虚拟化允许更多的应用共享硬件资源,使硬件利用率水平比传统架构的硬件利用率水平高很多,因此在虚拟化平台上这些风险发生的概率可能会更大些。相对于本地部署的运行在传统操作系统平台(直接在物理硬件上运行)上的应用实例而言,虚拟化由于有诸如执行虚拟化管理器这些开销而使服务延迟略微增加。与本地的服务延迟相比,虚拟化配置的应用服务延迟可能有所增加,这是因为虚拟化管理器的调度开销使得服务负载接近物理硬件配置的满容量状态。理论上讲,适当的系统配置和设计良好的虚拟化配置可以通过优化共享更强大的硬件平台来提供更好的整体服务,而不是通过共享更多的一直用于标准应用部署的普通硬件来提升整体服务质量。
虚拟化可能会略有增加基准服务延迟时间和一些服务请求的延迟时间,尤其是当虚拟化平台处于有负载的情况下。与基准(一般为已规划负载的50%~60%)性能相比,这种影响很可能会随着应用服务请求延迟时间分布的变化而呈现出来。如果应用和虚拟化平台都经过精心设计和配置,那么服务延迟时间的分布形状应与满负载情况保持一致,就如同处于标称负载一样,尽管满负载的50%处的延迟可能比标称负载所对应的延迟时间略高,以及在满负载95%处的延迟可能在比例上会比标称负载所对应的延迟时间高很多。一个特别的风险就是如果服务延迟,尤其是高达95%的延迟随着系统到达满容量而急剧增加时,那么更多的尾部延迟时间将会超出最大可接受的服务延迟时间范围,从而影响服务可靠性指标。例如,标称负载的95%处是50%处的两倍,但是满负载的95%处的延迟时间却比50%处的延迟时间高出了5倍,使得更多分布在尾部的请求的延迟时间变得特别漫长,从而对服务可靠性产生影响并因此影响用户体验。性能指标的关键是描绘有多少95%处的服务延迟时间由于业务流量提升到平台容量上限而增加,以及确保即便是在服务延迟时间增加的情况下,服务延迟时间超过最大可承受范围的事务比例尽可能地低以便满足业务需求。
因此,应用可能想监控云服务提供商是否真正提供了所期望的资源容量(如另一个云租户不希望目标应用访问资源)。如果所分配资源的可用性下降(如由于延迟的增加),对于应用而言,当务之急就是向不同的虚拟机管理器请求额外的资源容量,以期望这额外的资源容量能够承担这些降低目标VM实例性能的外来处理负载。

内容简介
  《云计算实战——可靠性与可用性设计》在明确了云计算、虚拟化、服务可靠性以及服务可用性的关键术语和概念的基础上,通过对云计算服务可靠性及可用性的分析,结合云计算所涉及的虚拟化、分布式部署等技术特点,全面、深入、系统地探讨了云计算系统及服务可靠性的设计、计算、评估、优化方法。
  《云计算实战——可靠性与可用性设计》具有较强专业性和技术性,同时还具有较强的可操作性,对云计算专业从业人员和科研工作者来说,是一本不可多得的学习与参考书籍。《云计算实战——可靠性与可用性设计》既适用于云计算系统的专业技术研发和工程实施人员,也适合于高等院校通信、电子、计算机等专业的师生,同时也可为云服务用户提供有益的参考。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多