图书介绍
SRE Google运维解密pdf电子书版本下载
- (美)BERSYBEYERCHIRISJONES(美)JENNIFERPETOFFNIALLRICHARDMURPHY著;孙宇聪译 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121297267
- 出版时间:2016
- 标注页数:452页
- 文件大小:72MB
- 文件页数:495页
- 主题词:网站-开发
PDF下载
下载说明
SRE Google运维解密PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第Ⅰ部分 概览 2
第1章 介绍 2
系统管理员模式 2
Google的解决之道:SRE 4
SRE方法论 6
确保长期关注研发工作 6
在保障服务SLO的前提下最大化迭代速度 7
监控系统 8
应急事件处理 8
变更管理 9
需求预测和容量规划 9
资源部署 10
效率与性能 10
小结 10
第2章 Google生产环境:SRE视角 11
硬件 11
管理物理服务器的系统管理软件 13
管理物理服务器 13
存储 14
网络 15
其他系统软件 16
分布式锁服务 16
监控与警报系统 16
软件基础设施 17
研发环境 17
莎士比亚搜索:一个示范服务 18
用户请求的处理过程 18
任务和数据的组织方式 19
第Ⅱ部分 指导思想 23
第3章 拥抱风险 23
管理风险 23
度量服务的风险 24
服务的风险容忍度 25
辨别消费者服务的风险容忍度 26
基础设施服务的风险容忍度 28
使用错误预算的目的 30
错误预算的构建过程 31
好处 32
第4章 服务质量目标 34
服务质量术语 34
指标 34
目标 35
协议 36
指标在实践中的应用 37
运维人员和最终用户各关心什么 37
指标的收集 37
汇总 38
指标的标准化 39
目标在实践中的应用 39
目标的定义 40
目标的选择 40
控制手段 42
SLO可以建立用户预期 42
协议在实践中的应用 43
第5章 减少琐事 44
琐事的定义 44
为什么琐事越少越好 45
什么算作工程工作 46
琐事繁多是不是一定不好 47
小结 48
第6章 分布式系统的监控 49
术语定义 49
为什么要监控 50
对监控系统设置合理预期 51
现象与原因 52
黑盒监控与白盒监控 53
4个黄金指标 53
关于长尾问题 54
度量指标时采用合适的精度 55
简化,直到不能再简化 55
将上述理念整合起来 56
监控系统的长期维护 57
Bigtable SRE:警报过多的案例 57
Gmail:可预知的、可脚本化的人工干预 58
长跑 59
小结 59
第7章 Google的自动化系统的演进 60
自动化的价值 60
一致性 60
平台性 61
修复速度更快 61
行动速度更快 62
节省时间 62
自动化对Google SRE的价值 62
自动化的应用案例 63
Google SRE的自动化使用案例 63
自动化分类的层次结构 64
让自己脱离工作:自动化所有的东西 66
舒缓疼痛:将自动化应用到集群上线中 67
使用Prodtest检测不一致情况 68
幂等地解决不一致情况 69
专业化倾向 71
以服务为导向的集群上线流程 72
Borg:仓库规模计算机的诞生 73
可靠性是最基本的功能 74
建议 75
第8章 发布工程 76
发布工程师的角色 76
发布工程哲学 77
自服务模型 77
追求速度 77
密闭性 77
强调策略和流程 78
持续构建与部署 78
构建 78
分支 79
测试 79
打包 79
Rapid系统 80
部署 81
配置管理 81
小结 82
不仅仅只对Google有用 83
一开始就进行发布工程 83
第9章 简单化 85
系统的稳定性与灵活性 85
乏味是一种美德 86
我绝对不放弃我的代码 86
“负代码行”作为一个指标 87
最小API 87
模块化 87
发布的简单化 88
小结 88
第Ⅲ部分 具体实践 93
第10章 基于时间序列数据进行有效报警 93
Borgmon的起源 94
应用软件的监控埋点 95
监控指标的收集 96
时间序列数据的存储 97
标签与向量 98
Borg规则计算 99
报警 104
监控系统的分片机制 105
黑盒监控 106
配置文件的维护 106
十年之后 108
第11章 on-call轮值 109
介绍 109
on-call工程师的一天 110
on-call工作平衡 111
数量上保持平衡 111
质量上保持平衡 111
补贴措施 112
安全感 112
避免运维压力过大 114
运维压力过大 114
奸诈的敌人——运维压力不够 115
小结 115
第12章 有效的故障排查手段 116
理论 117
实践 119
故障报告 119
定位 119
检查 120
诊断 122
测试和修复 124
神奇的负面结果 125
治愈 126
案例分析 127
使故障排查更简单 130
小结 130
第13章 紧急事件响应 131
当系统出现问题时怎么办 131
测试导致的紧急事故 132
细节 132
响应 132
事后总结 132
变更部署带来的紧急事故 133
细节 133
事故响应 134
事后总结 134
流程导致的严重事故 135
细节 135
灾难响应 136
事后总结 136
所有的问题都有解决方案 137
向过去学习,而不是重复它 138
为事故保留记录 138
提出那些大的,甚至不可能的问题:假如 138
鼓励主动测试 138
小结 138
第14章 紧急事故管理 140
无流程管理的紧急事故 140
对这次无流程管理的事故的剖析 141
过于关注技术问题 141
沟通不畅 141
不请自来 142
紧急事故的流程管理要素 142
嵌套式职责分离 142
控制中心 143
实时事故状态文档 143
明确公开的职责交接 143
一次流程管理良好的事故 144
什么时候对外宣布事故 144
小结 145
第15章 事后总结:从失败中学习 146
Google的事后总结哲学 146
协作和知识共享 148
建立事后总结文化 149
小结以及不断优化 151
第16章 跟踪故障 152
Escalator 152
Outalator 153
聚合 154
加标签 155
分析 155
未预料到的好处 156
第17章 测试可靠性 157
软件测试的类型 158
传统测试 159
生产测试 160
创造一个构建和测试环境 163
大规模测试 165
测试大规模使用的工具 166
针对灾难的测试 167
对速度的渴求 168
发布到生产环境 170
允许测试失败 170
集成 172
生产环境探针 173
小结 175
第18章 SRE部门中的软件工程实践 176
为什么软件工程项目对SRE很重要 176
Auxon案例分析:项目背景和要解决的问题 177
传统的容量规划方法 177
解决方案:基于意图的容量规划 179
基于意图的容量规划 180
表达产品意图的先导条件 181
Auxon简介 182
需求和实现:成功和不足 183
提升了解程度,推进采用率 185
团队内部组成 187
在SRE团队中培养软件工程风气 187
在SRE团队中建立起软件工程氛围:招聘与开发时间 188
做到这一点 189
小结 190
第19章 前端服务器的负载均衡 191
有时候硬件并不能解决问题 191
使用DNS进行负载均衡 192
负载均衡:虚拟IP 194
第20章 数据中心内部的负载均衡系统 197
理想情况 198
识别异常任务:流速控制和跛脚鸭任务 199
异常任务的简单应对办法:流速控制 199
一个可靠的识别异常任务的方法:跛脚鸭状态 200
利用划分子集限制连接池大小 201
选择合适的子集 201
子集选择算法一:随机选择 202
子集选择算法二:确定性算法 204
负载均衡策略 206
简单轮询算法 206
最闲轮询策略 209
加权轮询策略 210
第21章 应对过载 212
QPS陷阱 213
给每个用户设置限制 213
客户端侧的节流机制 214
重要性 216
资源利用率信号 217
处理过载错误 217
决定何时重试 218
连接造成的负载 220
小结 221
第22章 处理连锁故障 223
连锁故障产生的原因和如何从设计上避免 224
服务器过载 224
资源耗尽 225
服务不可用 228
防止软件服务器过载 228
队列管理 229
流量抛弃和优雅降级 230
重试 231
请求延迟和截止时间 234
慢启动和冷缓存 236
保持调用栈永远向下 238
连锁故障的触发条件 238
进程崩溃 239
进程更新 239
新的发布 239
自然增长 239
计划中或计划外的不可用 239
连锁故障的测试 240
测试直到出现故障,还要继续测试 240
测试最常用的客户端 241
测试非关键性后端 242
解决连锁故障的立即步骤 242
增加资源 242
停止健康检查导致的任务死亡 242
重启软件服务器 242
丢弃流量 243
进入降级模式 243
消除批处理负载 244
消除有害的流量 244
小结 244
第23章 管理关键状态:利用分布式共识来提高可靠性 246
使用共识系统的动力:分布式系统协调失败 248
案例1:脑裂问题 249
案例2:需要人工干预的灾备切换 249
案例3:有问题的小组成员算法 249
分布式共识是如何工作的 250
Paxos概要:协议示例 251
分布式共识的系统架构模式 251
可靠的复制状态机 252
可靠的复制数据存储和配置存储 252
使用领头人选举机制实现高可用的处理系统 253
分布式协调和锁服务 253
可靠的分布式队列和消息传递 254
分布式共识系统的性能问题 255
复合式Paxos:消息流过程详解 257
应对大量的读操作 258
法定租约 259
分布式共识系统的性能与网络延迟 259
快速Paxos协议:性能优化 260
稳定的领头人机制 261
批处理 262
磁盘访问 262
分布式共识系统的部署 263
副本的数量 263
副本的位置 265
容量规划和负载均衡 266
对分布式共识系统的监控 270
小结 272
第24章 分布式周期性任务系统 273
Cron 273
介绍 273
可靠性 274
Cron任务和幂等性 274
大规模Cron系统 275
对基础设施的扩展 275
对需求的扩展 276
Google Cron系统的构建过程 277
跟踪Cron任务的状态 277
Paxos协议的使用 277
领头人角色和追随者角色 278
保存状态 281
运维大型Cron系统 282
小结 283
第25章 数据处理流水线 284
流水线设计模式的起源 284
简单流水线设计模式与大数据 284
周期性流水线模式的挑战 285
工作分发不均造成的问题 285
分布式环境中周期性数据流水线的缺点 286
监控周期性流水线的问题 287
惊群效应 287
摩尔负载模式 288
Google Workflow简介 289
Workflow是模型—视图—控制器(MVC)模式 290
Workflow中的执行阶段 291
Workflow正确性保障 291
保障业务的持续性 292
小结 294
第26章 数据完整性:读写一致 295
数据完整性的强需求 296
提供超高的数据完整性的策略 297
备份与存档 298
云计算环境下的需求 299
保障数据完整性和可用性:Google SRE的目标 300
数据完整性是手段,数据可用性是目标 300
交付一个恢复系统,而非备份系统 301
造成数据丢失的事故类型 301
维护数据完整性的深度和广度的困难之处 303
Google SRE保障数据完整性的手段 304
24种数据完整性的事故组合 304
第一层:软删除 305
第二层:备份和相关的恢复方法 306
额外一层:复制机制 308
1T vs.1 E:存储更多数据没那么简单 309
第三层:早期预警 310
确保数据恢复策略可以正常工作 313
案例分析 314
Gmail——2011年2月:从GTape上恢复数据(磁带) 314
Google Music——2012年3月:一次意外删除事故的检测过程 315
SRE的基本理念在数据完整性上的应用 319
保持初学者的心态 319
信任但要验证 320
不要一厢情愿 320
纵深防御 320
小结 321
第27章 可靠地进行产品的大规模发布 322
发布协调工程师 323
发布协调工程师的角色 324
建立发布流程 325
发布检查列表 326
推动融合和简化 326
发布未知的产品 327
起草一个发布检查列表 327
架构与依赖 328
集成 328
容量规划 328
故障模式 329
客户端行为 329
流程与自动化 330
开发流程 330
外部依赖 331
发布计划 331
可靠发布所需要的方法论 332
灰度和阶段性发布 332
功能开关框架 333
应对客户端滥用行为 334
过载行为和压力测试 335
LCE的发展 335
LCE检查列表的变迁 336
LCE没有解决的问题 337
小结 338
第Ⅳ部分 管理 341
第28章 迅速培养SRE加入on-call 341
新的SRE已经招聘到了,接下来怎么办 341
培训初期:重体系,而非混乱 344
系统性、累积型的学习方式 345
目标性强的项目工作,而非琐事 346
培养反向工程能力和随机应变能力 347
反向工程:弄明白系统如何工作 347
统计学和比较性思维:在压力下坚持科学方法论 347
随机应变的能力:当意料之外的事情发生时怎么办 348
将知识串联起来:反向工程某个生产环境服务 348
有抱负的on-call工程师的5个特点 349
对事故的渴望:事后总结的阅读和书写 349
故障处理分角色演习 350
破坏真的东西,并且修复它们 351
维护文档是学徒任务的一部分 352
尽早、尽快见习on-call 353
on-call之后:通过培训的仪式感,以及日后的持续教育 354
小结 354
第29章 处理中断性任务 355
管理运维负载 356
如何决策对中断性任务的处理策略 356
不完美的机器 357
流状态 357
将一件事情做好 358
实际一点的建议 359
减少中断 361
第30章 通过嵌入SRE的方式帮助团队从运维过载中恢复 363
第一阶段:了解服务,了解上下文 364
确定最大的压力来源 364
找到导火索 364
第二阶段:分享背景知识 365
书写一个好的事后总结作为示范 366
将紧急事件按类型排序 366
第三阶段:主导改变 367
从基础开始 367
获取团队成员的帮助 367
解释你的逻辑推理过程 368
提出引导性问题 368
小结 369
第31章 SRE与其他团队的沟通与协作 370
沟通:生产会议 371
议程 372
出席人员 373
SRE的内部协作 374
团队构成 375
高效工作的技术 375
SRE内部的协作案例分析:Viceroy 376
Viceroy的诞生 376
所面临的挑战 378
建议 379
SRE与其他部门之间的协作 380
案例分析:将DFP迁移到F1 380
小结 382
第32章 SRE参与模式的演进历程 383
SRE参与模式:是什么、怎么样以及为什么 383
PRR模型 384
SRE参与模型 384
替代性支持 385
PRR:简单PRR模型 386
参与 386
分析 387
改进和重构 387
培训 388
“接手”服务 388
持续改进 388
简单PRR模型的演进:早期参与模型 389
早期参与模型的适用对象 389
早期参与模型的优势 390
不断发展的服务:框架和SRE平台 391
经验教训 391
影响SRE的外部因素 392
结构化的解决方案:框架 392
新服务和管理优势 394
小结 395
第Ⅴ部分 结束语 398
第33章 其他行业的实践经验 398
有其他行业背景的资深SRE 399
灾难预案与演习 400
从组织架构层面坚持不懈地对安全进行关注 401
关注任何细节 401
冗余容量 401
模拟以及进行线上灾难演习 402
培训与考核 402
对详细的需求收集和系统设计的关注 402
纵深防御 403
事后总结的文化 403
将重复性工作自动化,消除运维负载 404
结构化和理性的决策 406
小结 407
第34章 结语 408
附录A系统可用性 411
附录B生产环境运维过程中的最佳实践 412
附录C事故状态文档示范 417
附录D事后总结示范 419
附录E发布协调检查列表 423
附录F生产环境会议记录示范 425
参考文献 427
索引 439