新書推薦:
《
自然信息图:一目了然的万物奇观
》
售價:NT$
640.0
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:NT$
440.0
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:NT$
560.0
《
跨代伴侣治疗
》
售價:NT$
440.0
《
精华类化妆品配方与制备手册
》
售價:NT$
990.0
《
经纬度丛书:出祁山:诸葛亮北伐得与失
》
售價:NT$
440.0
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:NT$
440.0
《
心理咨询与治疗技术经典入门(第3版)
》
售價:NT$
650.0
|
編輯推薦: |
适读人群 :《SRE写真》适合需要时常应对网站崩溃问题并有志于提升公司软件稳定性的软件开发者、开始从事网站可靠性工程师工作的起步者阅读。
作者长期服务于对服务中断非常敏感的大型互联网公司,总结出一套久经考验的方法论,专用于监控现代Web服务、设置警报、评估针对生产事件的响应机制,以及短时间内恢复网站宕机事故。
除了别出心裁增设SRE面试一章,精华内容还包括监控灾难性故障|向团队发出紧急宕机警报|分析生产事件应对策略|构建属于自己的自动化测试工具或相关软件|预测瓶颈以改善用户体验。
阿里巴巴高可用架构团队负责人游骥|蘑菇街平台技术总监赵成|《SRE:Google运维解密》译者(谷歌前SRE)作序力荐,ThoughtWorks资深技术专家冯文辉倾情献译。
不仅涵盖对服务中断的反应揭示安全测试和发布软件所需的工具和策略、制订长期增长计划,还预测了未来的瓶颈所在,完整覆盖网站全线全周期危机。
全书系统呈现由冗余和容灾|容量规划|系统自动保护|失败预案|监控能力|发布与变更管理|故障应急处理等领域核心话题构成的SRE技术蓝图。
|
內容簡介: |
站点可靠性工程(Site Reliability Engineering,简称SRE)是一个令人兴奋的新兴领域,它专注于如何确保系统稳定、可靠地运行。本书基于一个金字塔层次结构模型,深入浅出地介绍了关于SRE 的方方面面,涉及监控、事故响应与回顾、测试与发布、容量规划、开发、用户体验设计,以及贯穿其中的沟通技巧。本书是SRE 工程师、DevOps 工程师、运维工程师和系统管理员不可或缺的参考资料;软件架构师、软件工程师、用户体验设计师也能从本书中获取关于SRE 的相关知识。
|
關於作者: |
Nat Welch是一名美国的软件开发人员。自2005年以来,他一直做着构建网站并保持其运行的工作。他曾先后是谷歌、HFA等各大平台的网站可靠性工程师。多年来,他一直致力于提高网站的可靠性以帮助开发人员构建可靠的系统。
冯文辉,现任ThoughtWorks中国区资深架构咨询师,具有11年的软件行业经验,曾服务于多个世界500强企业,覆盖银行、保险、通信、汽车、物流等行业。为客户提供敏捷开发、DevOps、架构设计与数字化转型等咨询服务。热衷于探索更好的架构设计方法,助力企业的数字化转型。
|
目錄:
|
目录
1 简介 1
SRE简史 2
SRE是什么 3
关于这本书 7
以SRE作为新项目的框架 9
小结 12
2 监控 13
为什么要监控 13
检测应用程序 16
度量什么 23
SLIs、SLOs和错误预算简介 26
错误预算 27
收集和保存监控数据 29
轮询应用程序 29
推送应用程序 32
展示监控信息 35
任意查询 35
图表 36
仪表板 37
聊天机器人 38
管理和维护监控数据 38
沟通 39
他们知道有监控吗 39
小结 40
参考资料 41
3 事故响应 42
什么是事故 43
什么是事故响应 45
警报 47
什么时候发起警报 48
怎么发出警报 49
向谁发出警报 54
随时待命 55
沟通 57
事故指挥系统 59
在哪里沟通 61
恢复系统 61
警报解除 63
小结 64
4 事后回顾 65
什么是事后回顾 65
为什么写事后回顾报告 66
何时写事后回顾报告 68
开展事故分析 69
如何写事后回顾报告 71
总结 71
影响 72
时间 73
根本原因 74
行动项 75
附录 77
停止事后指责 77
举行事后回顾会议 79
分析以往的事后回顾报告 80
MTTR与MTBF 81
警报疲劳 81
讨论过去的服务中断 81
小结 82
参考资料 82
5 测试和发布 83
测试 84
测试内容 87
发布 100
何时发布 101
回滚 104
自动化 104
持续 105
小结 106
6 容量规划 107
企业财务简介 108
为什么需要规划 110
风险管理与期望管理 111
定义一个规划 112
当前的容量是多少 113
何时达到容量极限 115
应该如何更改容量 119
执行规划 125
架构性能变化的根源 126
技术作为利润中心和采购 128
小结 128
7 构建工具 129
寻找项目 131
定义项目 133
RDD 133
设计文档 136
项目计划 138
例子 139
回顾会与站会 141
工作分配 142
构建项目 143
关于编写代码的建议 143
关注点分离 144
长期工作 145
笔记本 148
文档与维护项目 149
小结 150
8 用户体验 151
设计和用户体验简介 155
现实世界的交互设计 157
用户测试 160
挑选一种体验 161
设计测试 162
寻找要测试的人 162
开发者体验 163
工具经验 164
绩效预算 164
安全性 166
身份认证 167
授权 168
风险概况 168
网络钓鱼 169
ACM道德准则 170
小结 171
参考资料 172
9 网络基础 173
互联网 173
发送一个HTTP请求 175
DNS 175
以太网和TCPIP 179
HTTP 186
curl与wget 189
网络监控工具 194
netstat 194
nc 195
tcpdump 196
小结 197
参考资料 197
10 Linux和云基础 198
Linux基础 198
一切皆是文件 199
进程是什么 206
syscalls 207
构建自己的工具 213
云基础 214
虚拟机 215
容器 216
负载均衡 218
自动伸缩 219
存储 219
队列与发布订阅 220
伸缩单元 221
架构面试示例 222
小结 226
参考资料 226
|
內容試閱:
|
总会在某个时候,软件开发人员所开发的站点会遭遇噩梦般的无法访问的故障客户说他们已经连续几个小时无法访问你的网站了;当你在睡觉时,没有顾客能够购买网站上正在销售的T恤;或者在一年中最重要的销售日里,所有服务器都因承受不了高负载而崩溃了。
这本书适合谁
本书面向希望提高公司软件可靠性的软件开发人员和运维人员。本书将向你介绍一个致力于提高软件可靠性的基本框架,并使你深入了解站点可靠性工程这个领域。对于已经经历过重大系统服务中断的工程师和开发人员来说,这是你希望拥有的书。对于那些幸运地没有经历过服务中断噩梦的工程师和开发人员,现在就买这本书吧!
这本书涵盖了哪些内容
第1章 简介,探讨了SRE领域相对较新的发展状况,并概述了用于本书的可供上手实践的框架。
第2章 监控,讨论了在监控时使用的工具和方法。在本章之后,一个很好的实验就是设置对服务的监控,即使它们只是为测试而编写的虚假服务,你也应该去监控它们随着时间是否有所变化。
第3章 事故响应,解释了该如何应对中断,并让团队为最坏的情况做好准备。本章还专注于围绕团队协作建立即时响应与轮换的最佳实践系统,以及构建流程以尽量减轻由生产事故造成的压力。
第4章 事后回顾,让你能为自己、你的团队和你的组织撰写事后回顾报告,以促进事后回顾。本章还讨论了要收集的数据,以及如何借助通信跟踪未来的工作。
第5章 测试和发布,回顾了有关测试和发布的常见实践方案。
第6章 容量规划,介绍了一些有关预算的基础知识,并讨论了如何为基础架构的扩容制订计划。
第7章 构建工具,讨论了如何从提高响应力的角度来编写软件,还探讨了如何发现新项目,如何定义这些项目及如何规划它们。然后,讨论了如何实施这些项目并进行软件的长期维护,以及如何反思自己所做的工作。
第8章 用户体验,概述了有关用户体验和用户测试的基础知识,并讨论了安全性和性能预算问题。
第9章 网络基础,帮助你深入了解网络基础知识。
第10章 Linux和云基础,介绍了Linux和常见云服务的基础知识。
本书配套资源
?本书中所有用Go语言编写的代码都基于Go 1.10版本。读者可以到其官网获取最新的版本。
?本书中所有用Ruby语言编写的代码都基于Ruby 2.5版本。读者可以到其官网获取最新的版本。
本书使用的约定
本书中使用了一些文本约定。
代码块示例如下。
"hello world"
end
当希望读者注意代码块中的特定部分时,相关的行或项目将以粗体显示,示例如下。
"hello world"
end
end
粗体:表示第一次出现的新术语、重要单词。例如,会出现如下所示的文本。
服务水平指标 Service Level Indicator(SLI)可能是业务最重要的指标。
这种图标表示警告或重要说明。
这种图标表示提示和技巧。
|
|