中图网文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册
> >
大型网站运维:从系统管理到SRE

大型网站运维:从系统管理到SRE

作者:顾贤杰
出版社:电子工业出版社出版时间:2021-07-01
开本: 其他 页数: 320
¥64.3(6.3折)?

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

00:00:00
中 图 价:¥71.4(7.0折)定价  ¥102.0 登录后可看到会员价
加入购物车 收藏
运费6元,全场折上9折期间 满39元包邮
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

大型网站运维:从系统管理到SRE 版权信息

  • ISBN:9787121416125
  • 条形码:9787121416125 ; 978-7-121-41612-5
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 所属分类:>

大型网站运维:从系统管理到SRE 本书特色

适读人群 :开发人员、网站运维人员、SRE人员网易运维专家、SRE团队Leader顾贤杰领衔撰写,凝聚了网易10年百亿级别大型系统运维经验,值得阅读!从Google SRE到网易SRE的实践之旅,中国技术团队的实践总结!

大型网站运维:从系统管理到SRE 内容简介

运维发展到现在,与很初相比发生了巨大的变化。10 多年的互联网发展,让国内的运维 经历了快速的变革,开始慢慢地和国外接轨,甚至在部分场景有单独的演化。DevOps 和SRE 作为运维领域的两个演化方向,在很近几年获得了很多关注,也有很多公司进行了相关的实 践。与DevOps 遍地开花的情况相比,SRE 在国内的发展稍显低调。《SRE:Google 运维解密》 一书对国内外运维领域有很大冲击。本书作者作为一直工作在一线的运维工程师,理所当然 地对SRE 相关理念进行了实践,本书可以说是对SRE 领域阶段性的实践总结。 本书主要对传统运维和SRE 进行不同对比,让大家了解运维工程师在实践SRE 理念 时,关注的点和具体的实践经验。本书的前半部分更多地注重SRE 在实际工作中对融入 开发团队、监控建设、变更管理、容量管理、异常响应、稳定性治理、事故复盘、用户体 验管理等方面的实践和落地。 在对SRE 的工作有了一定了解后,本书会针对重要业务保障场景进行实战讲解。本 书很后部分对SRE 工作中涉及的一些技术进行了概述,以便有兴趣的同学了解SRE 相关 的技术点。

大型网站运维:从系统管理到SRE 目录

第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


展开全部

大型网站运维:从系统管理到SRE 节选

2.2 SRE工作着力点 SRE团队每天都会执行大量的运维操作,线上的运维需求源源不断,如果不对线上的运维需求进行良好的梳理和归纳,没有形成针对业务的运维能力输出,业务团队很容易将SRE团队和传统运维团队等同看待。在大型公司内部,虽然业务团队会使用公司共有的基础设施和流程,但是在某些方面还会形成业务团队独有的运作方式和风格。业务团队独有的运作方式和风格,可能对SRE团队推行统一的工具或流程有一定的阻碍。不同的业务风格会非常挑战SRE团队的工作能力,可以说这是*考验SRE团队工作的部分。 从公司层看,SRE团队可能会同时对接多个业务线,SRE团队日常的工作会在多个业务线间来回切换。SRE团队的日常工作一方面是运维任务跟进;另一方面是针对不同的业务团队,设计、适配、推广不同的运维工具或架构。 制定运维计划后,就得开始考虑将制定的运维计划落地。针对各个业务团队情况,SRE团队在做技术工作前还需要做一些关于人或团队的工作。 1.融入团队 如之前所说,在新的业务模式下SRE团队会直接和业务团队一起工作,但一起工作并不代表SRE团队会了解业务团队。为了能够顺利开展工作,SRE团队需要对业务团队有深入的了解,了解业务团队的成员架构、开发模式、沟通“语言”。只有深入地了解业务团队后,SRE团队才能很好地和业务团队中的其他成员用一样的“语言”交流。要求SRE团队成员有开发工程师背景很重要的一个原因就是:只有程序员才知道程序员的术语。当一个程序员说堆栈溢出、自旋锁、CPU Cache Line等术语时,传统运维工程师可能无法理解术语真实的逻辑,而SRE工程师和程序员用一样的术语沟通,可以正确理解对方描述的业务特性和场景。例如,要了解“00后”就得用“00后”的“黑话”。用同样的“语言”沟通,一般会有更多的认同感,业务团队和SRE团队之间的沟通会没有隔阂。另外了解业务团队的架构,可以让业务团队和SRE团队之间的沟通和问题处理变得更加高效,不至于出现有问题时却不知道找谁的情况。 2.建立信任获得授权 用传统的运维方式跟进业务时,有时候难免在运维操作或理解上出现误差,导致业务团队质疑运维团队对线上问题的判断方式和处理逻辑。运维团队的某个成员搞出一个线上事故后,会发现业务团队看待他都是戴着有色眼镜的。传统运维团队转变为SRE团队后,为了更好地运维线上产品,SRE团队会尤其注重和业务团队的关系维护。 团队间要建立信任,可以说非常简单,也可以说非常困难,但是*根本的还是看技术,粗暴点说就是,“shut up,show me code”。传统运维团队想在技术上让业务团队信服,除非很巧合地遇到了线上业务故障,运维团队用自己的专业技能力挽狂澜。但不幸的是,更多的时候是运维团队被业务团队发现操作不规范和考虑线上问题不全面等问题。简单来说就是运维工程师感觉自己空有一身“本领”,但是没有合适的地方输出,某次操作失误会导致形象崩塌。所以传统运维工程师总是处于公司内部人员的“鄙视链底端”,就连运维工程师自己也常调侃自己是“背锅”的。 在传统运维团队转变为SRE团队的过程中,传统运维团队也对这方面问题有过担忧。但在实际落地时,传统运维团队惊喜地发现转变之后的SRE团队在获得团队信任方面有自己独特的优势。相比传统的运维团队,SRE团队深入业务底层,同时具备程序员的“黑话”能力,对线上问题的沟通和判读会更加容易被开发团队理解和认可。 例如,之前有一次,SRE团队的运维工程师直接坐在开发工程师后面和他一起Review线上代码逻辑,运维工程师通过对代码逻辑的解读和讨论,迅速地和开发工程师达成了线上运维操作的逻辑和设计。相比传统运维团队只凭直觉和经验去挑战开发工程师的实现思路,这种工作方式的转变是一个巨大的飞跃。传统运维工程师只通过自己的经验或直觉和开发工程师沟通,很多时候是和开发工程师之间存在一定隔阂的,转变思路后和开发工程师一起用开发工程师的方式处理问题才是更可行的办法。 SRE团队得到业务团队的信任,往往是为下一步工作做铺垫的。当业务团队开始信任SRE团队的稳定性保障能力后,SRE团队就可以推动一些运维技术或架构的改变。SRE团队执行一些稳定性改进策略时,会要求开发团队配合性地做一些业务逻辑外的事情,因为开发工程师会对业务逻辑外的事情有一些抵触情绪,如果处理不好,开发工程师会直接改进事项,所以SRE团队获得业务团队在某方面的授权就变得尤为重要。 SRE团队很有必要在技术之外加强自己的沟通、说服能力。传统的运维团队要得到某个事项的授权,一般的流程是说个方案,然后找领导沟通,通过上层领导授权去推动这个事项的落地。SRE团队则会选择向业务团队解释他的方案,和内部沟通一致后得到授权。相比之前的方式,SRE团队得到授权的方式显然更加容易得到业务团队的支持,更容易推行SRE团队想推行的东西。 3.推动业务发展 可能有人会说运维团队和业务发展有什么关系,只要保障业务稳定就好了。这个想法其实是有问题的。公司为什么要有运维团队?抛开技术不讲,从老板的角度看,运维团队就是为了线上不停摆,为了业务顺利发展,为了业务不受损失,整个公司的资源都是为了业务发展而准备的,所以反过来讲如果运维团队能推动业务发展,那么是不是就能获得更多的资源呢? 传统运维团队其实能做的事情和业务不是很多,更多的是被动地应对业务的需求变化,可以说是被业务拖着走的,这是因为有以下两个因素。 (1)传统运维团队和业务团队有隔阂,没有很多的沟通,平时无从谈起对业务的了解。 (2)传统运维团队处于被动接受需求的一方,了解并深入业务层的特性不是传统运维的绩效指标。 当然这些情况也在发生一些变化,如*近两年越来越多的运维工程师会有危机感,进而提到要转型做业务运维工程师。这其实也说明了一个趋势:传统运维都意识到了新技术的挑战,不得不转型。 从我个人转变的感触来说,转变为SRE后,运维团队针对业务层面的需求可以做更多的事情。例如,之前有遇到一个业务上“服务发现”的需求,粗看是开发代码的问题,传统运维团队可能就会想这个需求是开发团队的工作,运维团队不用参与。但如果细致地分析业务需求和设计逻辑后,就会发现这个需求完全可以通过SRE的工具链结合少量的代码开发来完成。SRE团队在业务层越深入,开发的工具可能就越完善和丰富,这样的场景也会越来越多。 另外相比之前系统管理员、应用运维工程师等运维角色,SRE团队会更加注重以产品的角度看运维,而不只是简单地完成业务的运维操作需求。SRE团队通过梳理业务特性、制定业务流程、定制自动化工具等多种方式,主动地改进业务的迭代效率,简单来说就是提升产品发布等各个环节的能效,同时通过积极的策略(使用自动化工具和SRE手段)来降低迭代速度带来的不稳定因素。

大型网站运维:从系统管理到SRE 作者简介

顾贤杰 网易运维专家、SRE团队Leader,10多年来一直聚焦互联网业务运维和稳定性建设。在互联网业务运维方面经验丰富,曾负责网易博客、相册、即时通信、支付、电商、账号系统、云音乐等众多产品的运维工作。在金融支付机房设计、高性能负载均衡建设、业务双机房改造部署、灾备建设等多个运维领域均有实践,设计过海量服务器运维工具平台,负责的产品服务了上亿的互联网用户。 目前的运维研究方向:海量服务器稳定性治理、基础设施即代码、混合云/云原生体系下的运维平台建设。 徐 赟 网易资深运维开发工程师,运维开发团队技术Leader。参与并主导杭研运维体系建设,包括监控、流程、发布、审批等运维领域。持续探索运维自动化、智能化、一体化建设,为网易云音乐、网易传媒、网易支付等上百个产品提供高效稳定的运维服务。 颜中冠 网易技术经理、资深架构师,有16年的互联网一线研发和架构经验。曾负责亿级统一认证项目,主持网易帐号异地双机房建设,以及网易云计算业务中台搭建,负责多个对外亿级商业化项目研发。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服