云系统管理 大规模分布式系统设计与运营PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)托马斯A.利蒙切利(THOMASA.LIMONCELLI),(美)斯特拉塔R.查卢普(STRATAR.CHALUP),(美)克里斯蒂娜J.霍根(CHRISTINAJ.HOGAN)著;姚军译
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:9787111541608
- 页数:374 页
引言 1
第一部分 设计:构建系统 8
第1章 分布式世界中的设计 8
1.1 大规模的可见性 9
1.2 简单的重要性 10
1.3 构成 10
1.3.1 具有多个后端副本的负载平衡器 10
1.3.2 具有多个后端的服务器 12
1.3.3 服务器树 13
1.4 分布状态 14
1.5 CAP原则 16
1.5.1 一致性 16
1.5.2 可用性 17
1.5.3 分区可容忍性 17
1.6 松散耦合系统 19
1.7 速度 20
1.8 小结 23
练习 23
第2章 为运营而设计 25
2.1 运营需求 25
2.1.1 配置 26
2.1.2 启动和关机 27
2.1.3 队列排空 28
2.1.4 软件升级 29
2.1.5 备份和恢复 29
2.1.6 冗余性 29
2.1.7 数据库副本 30
2.1.8 热切换 31
2.1.9 单独功能开关 31
2.1.10 优雅降级 31
2.1.11 访问控制和速率限制 32
2.1.12 数据导入控制 33
2.1.13 监控 33
2.1.14 审计 33
2.1.15 调试设施 34
2.1.16 异常收集 34
2.1.17 运营文档 35
2.2 为运营实现设计 35
2.2.1 从一开始就构建功能 36
2.2.2 在确定功能时提出请求 36
2.2.3 自行编写功能 37
2.2.4 与第三方供应商合作 37
2.3 改善模型 38
2.4 小结 38
练习 39
第3章 选择服务平台 40
3.1 服务抽象水平 41
3.1.1 基础设施即服务 41
3.1.2 平台即服务 42
3.1.3 软件即服务 43
3.2 机器的类型 44
3.2.1 物理机器 44
3.2.2 虚拟机 44
3.2.3 容器 46
3.3 资源共享水平 48
3.3.1 依从性 49
3.3.2 隐私 49
3.3.3 成本 49
3.3.4 控制 50
3.4 主机托管 50
3.5 选择策略 51
3.6 小结 53
练习 53
第4章 应用程序架构 54
4.1 单机Web服务器 55
4.2 三层Web服务 56
4.2.1 负载平衡器种类 56
4.2.2 负载平衡方法 57
4.2.3 共享状态的负载平衡 58
4.2.4 用户身份标识 59
4.2.5 伸缩性 59
4.3 四层Web服务 60
4.3.1 前端 60
4.3.2 应用服务器 61
4.3.3 配置选项 62
4.4 反向代理服务 62
4.5 云规模服务 62
4.5.1 全局负载平衡器 63
4.5.2 全局负载平衡方法 63
4.5.3 使用用户特定数据的全局负载平衡 64
4.5.4 内部主干网 64
4.6 消息总线架构 66
4.6.1 消息总线设计 67
4.6.2 消息总线可靠性 67
4.6.3 例1:链接缩短网站 68
4.6.4 例2:员工人力资源数据更新 69
4.7 面向服务的架构 70
4.7.1 灵活性 70
4.7.2 支持 70
4.7.3 最佳实践 71
4.8 小结 71
练习 72
第5章 伸缩性设计模式 73
5.1 总体战略 74
5.1.1 识别瓶颈 74
5.1.2 重新设计组件 74
5.1.3 计量结果 74
5.1.4 保持主动 75
5.2 纵向扩展 75
5.3 AKF伸缩立方体 76
5.3.1 x轴:水平复制 76
5.3.2 y轴:功能或者服务分割 77
5.3.3 z轴:面向查找的分割 79
5.3.4 组合 80
5.4 缓存 80
5.4.1 缓存效能 80
5.4.2 缓存布置 81
5.4.3 缓存持久性 81
5.4.4 缓存置换算法 82
5.4.5 缓存条目失效 82
5.4.6 缓存大小 83
5.5 数据分片 84
5.6 线程处理 86
5.7 队列 86
5.7.1 优点 87
5.7.2 变种 87
5.8 内容分发网络 87
5.9 小结 89
练习 89
第6章 弹性设计模式 90
6.1 软件弹性胜过硬件可靠性 91
6.2 所有东西最终都会失灵 92
6.2.1 分布式系统的MTBF 92
6.2.2 传统方法 92
6.2.3 分布式计算方法 93
6.3 通过备用容量实现弹性 94
6.3.1 需要多少备用容量 95
6.3.2 负载平衡与热备份的对比 95
6.4 故障域 96
6.5 软件故障 97
6.5.1 软件崩溃 97
6.5.2 软件挂起 98
6.5.3 死查询 98
6.6 物理故障 99
6.6.1 部件和组件 99
6.6.2 机器 101
6.6.3 负载平衡器 102
6.6.4 机架 103
6.6.5 数据中心 104
6.7 超载故障 104
6.7.1 流量浪涌 105
6.7.2 DoS和DDoS攻击 106
6.7.3 抓取攻击 106
6.8 人为错误 107
6.9 小结 108
练习 108
第二部分 运营:运行系统 110
第7章 分布式世界中的运营 110
7.1 分布式系统运营 111
7.1.1 SRE和传统企业IT的对比 111
7.1.2 变化和稳定性的对比 112
7.1.3 SRE定义 113
7.1.4 大规模运营 114
7.2 服务生命周期 116
7.2.1 服务启动 117
7.2.2 服务退役 120
7.3 运营团队组织策略 120
7.3.1 团队成员的工作日类型 122
7.3.2 其他策略 124
7.4 虚拟办公室 125
7.4.1 沟通机制 125
7.4.2 沟通策略 125
7.5 小结 125
练习 126
第8章 DevOps文化 128
8.1 什么是DevOps 129
8.1.1 传统方法 130
8.1.2 DevOps方法 131
8.2 DevOps的3条道路 131
8.2.1 第一条道路:工作流 131
8.2.2 第二条道路:改进反馈 132
8.2.3 第三条道路:持续试验和学习 133
8.2.4 小批次更好 133
8.2.5 策略的采用 134
8.3 DevOps的历史 134
8.3.1 演变 135
8.3.2 网站可靠性工程 135
8.4 DevOps价值观和原则 136
8.4.1 关系 136
8.4.2 整合 136
8.4.3 自动化 136
8.4.4 持续改进 136
8.4.5 常见的非技术性DevOps实践 137
8.4.6 常见的技术性DevOps实践 138
8.4.7 DevOps发行工程实践 139
8.5 向DevOps转化 139
8.5.1 准备开始 139
8.5.2 企业层面的DevOps 140
8.6 敏捷和持续交付 141
8.6.1 什么是敏捷 141
8.6.2 什么是持续交付 141
8.7 小结 143
练习 144
第9章 服务交付:构建阶段 145
9.1 服务交付策略 146
9.1.1 模式:现代化的DevOps方法论 146
9.1.2 反模式:瀑布方法论 148
9.2 高质量的良性循环 148
9.3 构建阶段的步骤 150
9.3.1 开发 150
9.3.2 提交 150
9.3.3 构建 151
9.3.4 打包 152
9.3.5 注册 152
9.4 构建控制台 152
9.5 持续集成 153
9.6 以软件包作为移交接口 154
9.7 小结 155
练习 156
第10章 服务交付:部署阶段 157
10.1 部署阶段的步骤 157
10.1.1 升级 157
10.1.2 安装 158
10.1.3 配置 158
10.2 测试和批准 159
10.2.1 测试 160
10.2.2 批准 161
10.3 运营控制台 161
10.4 基础设施自动化策略 161
10.4.1 准备物理机器 162
10.4.2 准备虚拟机 162
10.4.3 安装OS和服务 163
10.5 持续交付 164
10.6 基础设施即代码 164
10.7 其他平台服务 165
10.8 小结 165
练习 166
第11章 升级运行中的服务 167
11.1 卸下服务进行升级 167
11.2 滚动升级 168
11.3 “金丝雀” 169
11.4 分阶段试运行 170
11.5 按比例分片 171
11.6 蓝—绿部署 171
11.7 功能切换 171
11.8 在线模式更改 174
11.9 在线代码更改 175
11.10 持续部署 175
11.11 处理失败的代码推送 177
11.12 发行原子性 178
11.13 小结 179
练习 180
第12章 自动化 181
12.1 自动化方法 182
12.1.1 剩余原则 182
12.1.2 补偿原则 183
12.1.3 互补性原则 184
12.1.4 系统管理自动化 185
12.1.5 经验教训总结 185
12.2 工具建设与自动化的对比 186
12.2.1 示例:汽车制造 186
12.2.2 示例:机器配置 187
12.2.3 示例:账户创建 187
12.2.4 工具很好,自动化更好 187
12.3 自动化的目标 187
12.4 创建自动化系统 190
12.4.1 为自动化投入时间 190
12.4.2 减少“苦活” 191
12.4.3 决定自动化的首要任务 191
12.5 如何自动化 192
12.6 语言工具 192
12.6.1 Shell脚本语言 192
12.6.2 脚本语言 193
12.6.3 编译型语言 194
12.6.4 配置管理语言 194
12.7 软件工程工具和技术 195
12.7.1 问题跟踪系统 196
12.7.2 版本控制系统 197
12.7.3 软件打包 198
12.7.4 风格指南 198
12.7.5 测试驱动开发 199
12.7.6 代码评审 200
12.7.7 编写刚好足够的代码 201
12.8 多租户系统 201
12.9 小结 202
练习 203
第13章 设计文档 204
13.1 设计文档概述 204
13.1.1 记录更改和依据 205
13.1.2 作为过去决策存储库的文档 205
13.2 设计文档剖析 205
13.3 模板 207
13.4 文档存档 207
13.5 审核工作流程 208
13.5.1 审核人和批准人 208
13.5.2 获得签字同意 209
13.6 采用设计文档 209
13.7 小结 210
练习 210
第14章 随时待命 212
14.1 设计值班 212
14.1.1 从SLA开始 213
14.1.2 值班人员花名册 213
14.1.3 值日 214
14.1.4 值班表设计 215
14.1.5 值班日程表 216
14.1.6 值班频率 217
14.1.7 通知类型 217
14.1.8 下班时间维护协调 219
14.2 当值 219
14.2.1 当班前的职责 219
14.2.2 常规值班职责 219
14.2.3 警报职责 220
14.2.4 观察、确认、决策、行动 221
14.2.5 值班剧本 221
14.2.6 第三方升级 222
14.2.7 班次结束时的职责 223
14.3 两次当值之间 223
14.3.1 长期修复 223
14.3.2 事后剖析 224
14.4 警报的定期审核 226
14.5 收到太多传呼 227
14.6 小结 228
练习 228
第15章 灾难准备 229
15.1 心态 230
15.1.1 反脆弱系统 230
15.1.2 降低风险 231
15.2 个人培训:灾祸之轮 232
15.3 团队培训:应急演练 233
15.3.1 服务测试 234
15.3.2 随机测试 235
15.4 组织培训:游戏日/DiRT 235
15.4.1 开始 236
15.4.2 扩大范围 237
15.4.3 实施和后勤 237
15.4.4 经历DiRT测试 239
15.5 事故指挥系统 242
15.5.1 工作原理:公共安全领域 243
15.5.2 工作原理:IT运营领域 243
15.5.3 事故行动计划 244
15.5.4 最佳实践 245
15.5.5 ICS示例 245
15.6 小结 246
练习 246
第16章 监控基础知识 248
16.1 概述 249
16.1.1 使用监控 250
16.1.2 服务管理 250
16.2 监控信息的消费者 250
16.3 监控的内容 252
16.4 留存期 253
16.5 元监控 254
16.6 日志 255
16.6.1 方法 255
16.6.2 时间戳 256
16.7小结 256
练习 256
第17章 监控架构与实践 258
17.1 传感与计量 259
17.1.1 黑盒与白盒监控 259
17.1.2 直接计量与合成计量 259
17.1.3 速率与能力监控 260
17.1.4 仪表和计数器 260
17.2 收集 261
17.2.1 推送与拉取 262
17.2.2 协议选择 262
17.2.3 服务器组件与代理、轮询器的对比 263
17.2.4 中心与区域收集器 263
17.3 分析和计算 264
17.4 警报和升级管理器 265
17.4.1 警报、升级和确认 265
17.4.2 静默与抑制 266
17.5 可视化 267
17.5.1 百分位数 268
17.5.2 堆栈排名 269
17.5.3 直方图 269
17.6 存储 270
17.7 配置 271
17.8 小结 271
练习 272
第18章 容量规划 273
18.1 标准容量规划 274
18.1.1 当前使用量 275
18.1.2 正常增长 276
18.1.3 计划增长 276
18.1.4 余量 276
18.1.5 弹性 277
18.1.6 时间表 277
18.2 高级容量规划 278
18.2.1 确定主要资源 278
18.2.2 了解容量限制 278
18.2.3 确定核心驱动力 279
18.2.4 参与度计量 280
18.2.5 分析数据 280
18.2.6 监控关键指标 284
18.2.7 委派容量规划 285
18.3 资源回归 285
18.4 发布新服务 286
18.5 缩短配给时间 287
18.6 小结 288
练习 288
第19章 建立KPI 290
19.1 什么是KPI 291
19.2 创建KPI 292
19.2.1 步骤1:想象理想状况 292
19.2.2 步骤2:量化与理想的距离 292
19.2.3 步骤3:想象行为的变化方式 293
19.2.4 步骤4:修订和选择 293
19.2.5 步骤5:部署KPI 294
19.3 KPI示例:机器分配 294
19.3.1 第一遍 295
19.3.2 第二遍 295
19.3.3 评估KPI 297
19.4 案例研究:错误预算 297
19.4.1 相互冲突的目标 297
19.4.2 统一的目标 298
19.4.3 所有人得益 298
19.5 小结 299
练习 299
第20章 卓越运营 301
20.1 卓越运营是什么样子的 301
20.2 如何计量卓越的程度 302
20.3 评估方法论 302
20.3.1 运营职责 303
20.3.2 评估级别 304
20.3.3 评估问题和匹配属性 305
20.4 服务评估 306
20.4.1 确定评估的内容 306
20.4.2 评估每个服务 306
20.4.3 比较不同服务的结果 307
20.4.4 根据结果采取行动 308
20.4.5 评估和项目计划的频率 308
20.5 组织评估 308
20.6 提高级别 309
20.7 开始着手 310
20.8 小结 311
练习 311
第三部分 附录 314
附录A评估 314
附录B分布式计算和云的起源及未来 335
附录C伸缩性术语和概念 352
附录D模板和示例 356
附录E推荐读物 360
后记 363
参考文献 365
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《CCNA网络安全运营SECFND 210-250认证考试指南》(美)奥马尔·桑托斯(OmarSantos),约瑟夫·穆尼斯(JosephMuniz),(意) 2019
- 《网店运营与管理》白东蕊主编 2019
- 《新媒体运营实战指南 社群运营 短视频运营 直播运营 微信运营》陈政峰著 2019
- 《跨境电商运营实战》新迈尔教育主编 2019
- 《中国儿童动漫产业运营与发展探索》徐德荣 2018
- 《香山设县850年》吴冉彬主编;中山市地方志办公室等编 2003
- 《完美人设 如何塑造一个不会崩塌的人设》(日)和田秀树著 2020
- 《燃料电池汽车动力系统分布式测试数据传输研究=DATA TRANSMISSION ANALYSIS OF DISTRIBUTED TEST PLATFORM FOR FUEL CELL》牛文旭著 2020
- 《基于记录值的可靠性分布模型的统计推断研究》周慧 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019