书籍详情
大型网站运维:从系统管理到SRE
作者:顾贤杰,徐赟,颜中冠 著
出版社:电子工业出版社
出版时间:2021-08-01
ISBN:9787121416125
定价:¥102.00
购买这本书可以去
内容简介
运维发展到现在,与最初相比发生了巨大的变化。10多年的互联网发展,让国内的运维经历了快速的变革,开始和国外接轨,甚至在部分场景有单独的演化。DevOps和SRE作为运维领域的两个演化方向,在最近几年获得了很多关注,也有很多公司进行了相关的实践。与DevOps遍地开花的情况相比,SRE在国内的发展稍显低调。《SRE:Google运维解密》一书对国内外运维领域有很大冲击。本书作者作为一直工作在一线的运维工程师,理所当然地对SRE相关理念进行了实践,本书可以说是对SRE领域阶段性的实践总结。 本书主要对传统运维和SRE进行不同对比,让大家了解运维工程师在实践SRE理念时,关注的点和具体的实践经验。本书的前半部分更多地注重SRE在实际工作中对融入开发团队、监控建设、变更管理、容量管理、异常响应、稳定性治理、事故复盘、用户体验管理等方面的实践和落地。 在对SRE的工作有了一定了解后,本书会针对重要业务保障场景进行实战讲解。本书最后部分对SRE工作中涉及的一些技术进行了概述,以便有兴趣的同学了解SRE相关的技术点。
作者简介
顾贤杰 网易运维专家、SRE团队Leader,10多年来一直聚焦互联网业务运维和稳定性建设。在互联网业务运维方面经验丰富,曾负责网易博客、相册、即时通信、支付、电商、账号系统、云音乐等众多产品的运维工作。在金融支付机房设计、高性能负载均衡建设、业务双机房改造部署、灾备建设等多个运维领域均有实践,设计过海量服务器运维工具平台,负责的产品服务了上亿的互联网用户。 目前的运维研究方向:海量服务器稳定性治理、基础设施即代码、混合云/云原生体系下的运维平台建设。徐赟 网易资深运维开发工程师,运维开发团队技术Leader。参与并主导杭研运维体系建设,包括监控、流程、发布、审批等运维领域。持续探索运维自动化、智能化、一体化建设,为网易云音乐、网易传媒、网易支付等上百个产品提供高效稳定的运维服务。颜中冠 网易技术经理、资深架构师,有16年的互联网一线研发和架构经验。曾负责亿级统一认证项目,主持网易帐号异地双机房建设,以及网易云计算业务中台搭建,负责多个对外亿级商业化项目研发。
目录
第1章 关于SRE 1
1.1 为什么会引入SRE 2
1.2 DevOps和SRE对比 5
1.2.1 DevOps的发展 5
1.2.2 SRE的发展 6
1.3 选择SRE 8
1.4 SRE的未来 9
第2章 SRE在组织内部的定位 11
2.1 如何介入组织 12
2.2 SRE工作着力点 16
2.3 如何衡量工作 19
2.4 贡献价值 22
第3章 监控建设 25
3.1 什么是好的监控服务 25
3.1.1 稳定 25
3.1.2 准确 27
3.1.3 易用 29
3.2 监控系统的设计逻辑分析 29
3.2.1 数据生产 30
3.2.2 数据上报 31
3.2.3 数据处理 33
3.2.4 数据存储 34
3.2.5 数据使用 36
3.3 典型监控应用场景 41
3.3.1 系统监控 41
3.3.2 应用监控 42
3.3.3 终端监控 44
3.3.4 秒级监控 45
3.3.5 监控大盘 46
3.3.6 链路监控 46
3.4 报警治理 47
3.5 容器监控 50
3.6 监控智能化 51
第4章 变更管理 53
4.1 变更管理机制 54
4.1.1 传统运维的变更管理 55
4.1.2 DevOps的变更管理 57
4.1.3 SRE的变更管理 59
4.1.4 变更管理实践总结 61
4.2 变更控制 62
4.2.1 如何建设好的变更控制 62
4.2.2 制定符合业务需求的变更控制机制 64
4.3 稳定性和迭代速度的权衡 66
4.4 变更风险控制 68
4.5 总结 70
第5章 异常响应 71
5.1 异常的定义 71
5.2 事故/事件定义 73
5.2.1 区分事件和事故 73
5.2.2 事故等级制度 74
5.3 异常响应流程 76
5.4 如何处理值班过程中的异常响应 79
5.5 应急沟通机制 82
5.6 关于线上问题的ROC 84
第6章 服务稳定性治理 88
6.1 SLI/SLO/SLA的制定和落地 88
6.1.1 SLI的制定和应用 89
6.1.2 SLO的计算和应用 90
6.1.3 SLA的计算和应用 91
6.2 故障预防 92
6.3 抑制不可控因素 95
6.4 故障演练 97
6.4.1 故障梳理 97
6.4.2 故障预案 98
6.4.3 混浊工程 98
6.5 故障自愈 100
6.6 业务MTTR 102
6.6.1 关于故障修复MTTR 102
6.6.2 关于故障解决MTTR 104
6.7 灾备建设 105
6.8 总结 109
第7章 事故复盘 110
7.1 关于事故复盘 112
7.1.1 事故复盘初级阶段 112
7.1.2 事故复盘中级阶段 113
7.1.3 事故复盘成熟阶段 113
7.2 如何提升事故复盘质量 115
7.2.1 事故复盘深度 116
7.2.2 事故复盘报告 118
7.3 事故分析的逻辑和原则 119
7.4 事故责任的划分逻辑 123
7.5 事后跟进 126
7.6 基于事故/事件的学习 128
第8章 容量管理 131
8.1 容量管理的目标 131
8.2 容量管理的方法和策略 132
8.2.1 传统评估方法 133
8.2.2 IT资源成本的构成 133
8.2.3 容量水位的定义 134
8.2.4 容量管理策略 137
8.3 容量分析系统建设 137
8.3.1 业务负载平台 137
8.3.2 巡检管理平台 139
8.3.3 监控系统和CMDB系统 142
8.4 容量优化方式 143
8.4.1 业务容量优化 143
8.4.2 资源容量优化 143
8.4.3 架构容量优化 146
8.5 容量预案 151
8.6 总结 153
第9章 用户体验 154
9.1 外部用户体验和内部用户体验 155
9.1.1 外部用户体验 156
9.1.2 内部用户体验 158
9.2 影响用户体验的要素 159
9.3 外部用户体验的改进策略 162
9.4 内部用户体验的改进策略 165
9.4.1 数据兼容性 165
9.4.2 工作流程 167
9.4.3 执行效率 169
第10章 重要业务活动保障 172
10.1 重要业务活动的资源准备 173
10.1.1 容量规划 173
10.1.2 资源交付规划 175
10.1.3 技术优化 178
10.2 参与运营活动评估 181
10.3 重要业务活动稳定性预案 184
10.4 重要业务活动准备阶段的工作重点 187
10.5 重要业务活动的变更执行要求 190
10.6 重要业务活动的运维人力 192
10.7 重要业务活动的收尾 193
第11章 运维操作基础 196
11.1 网络基础 197
11.1.1 ARP 197
11.1.2 路由 200
11.2 4/7层协议 204
11.2.1 4层协议 204
11.2.2 7层协议 208
11.3 内核参数调优 213
11.3.1 TCP网络堆栈内存 214
11.3.2 TCP连接数优化 215
11.3.3 TCP高并发优化 216
11.3.4 网络参数额外调整项 217
11.3.5 TCP拥堵算法 218
11.4 常见命令行 221
11.4.1 查看数据指标 222
11.4.2 网络数据包分析 223
11.5 配置管理工具 227
11.5.1 Ansible 228
11.5.2 CFEngine 229
11.5.3 Chef 231
11.5.4 Puppet 234
11.5.5 Salt 237
11.5.6 配置管理工具的汇总说明 240
11.5.7 云环境下的配置管理工具演化 241
11.6 基础设施即代码 242
11.7 关于运维操作的未来 244
第12章 基础组件运维 245
12.1 负载均衡中间件 245
12.1.1 算法逻辑的影响 246
12.1.2 附加特性的作用 252
12.1.3 负载均衡方案 254
12.1.4 负载均衡总结 256
12.2 消息队列中间件 258
12.2.1 消息队列方案的技术决策 259
12.2.2 消息队列的技术演化 261
12.3 缓存中间件 262
12.3.1 缓存中间件的技术关注点 263
12.3.2 缓存中间件的选型策略 265
12.3.3 缓存中间件的技术演化 270
12.4 数据库 272
12.4.1 SQL数据库技术的选择 273
12.4.2 SQL数据库的配置注意事项 276
12.4.3 NoSQL数据库技术的选择 279
12.4.4 时序数据库技术 282
12.5 组件运维 283
第13章 云计算和容器 284
13.1 云计算基础 285
13.1.1 云计算平台运维 286
13.1.2 云计算平台上的产品运维 288
13.2 虚拟化 290
13.3 容器 292
13.4 云存储 296
13.5 云网络 299
13.6 混合云 302
13.7 云原生 305
13.7.1 云原生的需求情况 305
13.7.2 云原生的发展 307
13.7.3 云原生的展望 309
1.1 为什么会引入SRE 2
1.2 DevOps和SRE对比 5
1.2.1 DevOps的发展 5
1.2.2 SRE的发展 6
1.3 选择SRE 8
1.4 SRE的未来 9
第2章 SRE在组织内部的定位 11
2.1 如何介入组织 12
2.2 SRE工作着力点 16
2.3 如何衡量工作 19
2.4 贡献价值 22
第3章 监控建设 25
3.1 什么是好的监控服务 25
3.1.1 稳定 25
3.1.2 准确 27
3.1.3 易用 29
3.2 监控系统的设计逻辑分析 29
3.2.1 数据生产 30
3.2.2 数据上报 31
3.2.3 数据处理 33
3.2.4 数据存储 34
3.2.5 数据使用 36
3.3 典型监控应用场景 41
3.3.1 系统监控 41
3.3.2 应用监控 42
3.3.3 终端监控 44
3.3.4 秒级监控 45
3.3.5 监控大盘 46
3.3.6 链路监控 46
3.4 报警治理 47
3.5 容器监控 50
3.6 监控智能化 51
第4章 变更管理 53
4.1 变更管理机制 54
4.1.1 传统运维的变更管理 55
4.1.2 DevOps的变更管理 57
4.1.3 SRE的变更管理 59
4.1.4 变更管理实践总结 61
4.2 变更控制 62
4.2.1 如何建设好的变更控制 62
4.2.2 制定符合业务需求的变更控制机制 64
4.3 稳定性和迭代速度的权衡 66
4.4 变更风险控制 68
4.5 总结 70
第5章 异常响应 71
5.1 异常的定义 71
5.2 事故/事件定义 73
5.2.1 区分事件和事故 73
5.2.2 事故等级制度 74
5.3 异常响应流程 76
5.4 如何处理值班过程中的异常响应 79
5.5 应急沟通机制 82
5.6 关于线上问题的ROC 84
第6章 服务稳定性治理 88
6.1 SLI/SLO/SLA的制定和落地 88
6.1.1 SLI的制定和应用 89
6.1.2 SLO的计算和应用 90
6.1.3 SLA的计算和应用 91
6.2 故障预防 92
6.3 抑制不可控因素 95
6.4 故障演练 97
6.4.1 故障梳理 97
6.4.2 故障预案 98
6.4.3 混浊工程 98
6.5 故障自愈 100
6.6 业务MTTR 102
6.6.1 关于故障修复MTTR 102
6.6.2 关于故障解决MTTR 104
6.7 灾备建设 105
6.8 总结 109
第7章 事故复盘 110
7.1 关于事故复盘 112
7.1.1 事故复盘初级阶段 112
7.1.2 事故复盘中级阶段 113
7.1.3 事故复盘成熟阶段 113
7.2 如何提升事故复盘质量 115
7.2.1 事故复盘深度 116
7.2.2 事故复盘报告 118
7.3 事故分析的逻辑和原则 119
7.4 事故责任的划分逻辑 123
7.5 事后跟进 126
7.6 基于事故/事件的学习 128
第8章 容量管理 131
8.1 容量管理的目标 131
8.2 容量管理的方法和策略 132
8.2.1 传统评估方法 133
8.2.2 IT资源成本的构成 133
8.2.3 容量水位的定义 134
8.2.4 容量管理策略 137
8.3 容量分析系统建设 137
8.3.1 业务负载平台 137
8.3.2 巡检管理平台 139
8.3.3 监控系统和CMDB系统 142
8.4 容量优化方式 143
8.4.1 业务容量优化 143
8.4.2 资源容量优化 143
8.4.3 架构容量优化 146
8.5 容量预案 151
8.6 总结 153
第9章 用户体验 154
9.1 外部用户体验和内部用户体验 155
9.1.1 外部用户体验 156
9.1.2 内部用户体验 158
9.2 影响用户体验的要素 159
9.3 外部用户体验的改进策略 162
9.4 内部用户体验的改进策略 165
9.4.1 数据兼容性 165
9.4.2 工作流程 167
9.4.3 执行效率 169
第10章 重要业务活动保障 172
10.1 重要业务活动的资源准备 173
10.1.1 容量规划 173
10.1.2 资源交付规划 175
10.1.3 技术优化 178
10.2 参与运营活动评估 181
10.3 重要业务活动稳定性预案 184
10.4 重要业务活动准备阶段的工作重点 187
10.5 重要业务活动的变更执行要求 190
10.6 重要业务活动的运维人力 192
10.7 重要业务活动的收尾 193
第11章 运维操作基础 196
11.1 网络基础 197
11.1.1 ARP 197
11.1.2 路由 200
11.2 4/7层协议 204
11.2.1 4层协议 204
11.2.2 7层协议 208
11.3 内核参数调优 213
11.3.1 TCP网络堆栈内存 214
11.3.2 TCP连接数优化 215
11.3.3 TCP高并发优化 216
11.3.4 网络参数额外调整项 217
11.3.5 TCP拥堵算法 218
11.4 常见命令行 221
11.4.1 查看数据指标 222
11.4.2 网络数据包分析 223
11.5 配置管理工具 227
11.5.1 Ansible 228
11.5.2 CFEngine 229
11.5.3 Chef 231
11.5.4 Puppet 234
11.5.5 Salt 237
11.5.6 配置管理工具的汇总说明 240
11.5.7 云环境下的配置管理工具演化 241
11.6 基础设施即代码 242
11.7 关于运维操作的未来 244
第12章 基础组件运维 245
12.1 负载均衡中间件 245
12.1.1 算法逻辑的影响 246
12.1.2 附加特性的作用 252
12.1.3 负载均衡方案 254
12.1.4 负载均衡总结 256
12.2 消息队列中间件 258
12.2.1 消息队列方案的技术决策 259
12.2.2 消息队列的技术演化 261
12.3 缓存中间件 262
12.3.1 缓存中间件的技术关注点 263
12.3.2 缓存中间件的选型策略 265
12.3.3 缓存中间件的技术演化 270
12.4 数据库 272
12.4.1 SQL数据库技术的选择 273
12.4.2 SQL数据库的配置注意事项 276
12.4.3 NoSQL数据库技术的选择 279
12.4.4 时序数据库技术 282
12.5 组件运维 283
第13章 云计算和容器 284
13.1 云计算基础 285
13.1.1 云计算平台运维 286
13.1.2 云计算平台上的产品运维 288
13.2 虚拟化 290
13.3 容器 292
13.4 云存储 296
13.5 云网络 299
13.6 混合云 302
13.7 云原生 305
13.7.1 云原生的需求情况 305
13.7.2 云原生的发展 307
13.7.3 云原生的展望 309
猜您喜欢