首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《SRE实战手册》学习笔记之SRE落地实践

《SRE实战手册》学习笔记之SRE落地实践

作者头像
老_张
发布于 2022-04-01 13:25:31
发布于 2022-04-01 13:25:31
2.9K0
举报

前言

前面介绍了SRE的基础,包括SLI和SLO以及Error Budget(错误预算)。其中:

  • SLI是衡量系统稳定性的指标;
  • SLO是每个指标对应的衡量目标;
  • SLO转化为错误预算(更直观便于量化);

转化后做稳定性提升保障工作,就是想办法不要把错误预算消耗完,或不能把错误预算快速大量消耗掉。其实在SRE落地实践过程中,主要是解决如下两种情况的问题:

  1. 制定的错误预算在周期还没结束前就消耗完了,这意味着稳定性目标未达成;
  2. 另一种是错误预算在单次问题中被消耗过多,这时候要把这样的问题定性为故障;

这篇文章,主要说明如何通过应对故障来落地SRE。

故障发现:建设On-Call机制

1、MTTR-故障处理流程
2、MTTR各环节所占时长

绝大多数故障,只要能定位问题根因,往往就能快速解决。

故障处理的生命周期中,大部分时间耗费在寻找和定位问题上面。

分布式系统中,往往优先级最高的是线上业务止血(即Design for Failure策略)。通过服务限流、降级、熔断甚至主备切换等手段,来快速恢复线上业务的可用性。

故障处理的核心:提升MTTR每个环节的处理效率,缩短处理时间,这样才能缩短整个MTTR,减少对错误预算的消耗。

3、MTTI:从发现到响应故障

MTTI:故障的平均确认时间。即从故障实际发生的时间点,到出发采取行动去定位前的这段时间。这个环节,主要做两件事:

1)判断出现的问题是不是故障(主要依赖于监控和告警体系);

2)确定由谁来响应和召集人进行处理(需要一套明确清晰的决策及消息分发机制);

这两件事,其实就是SRE中的On-Call机制(一般有专门的NOC岗位来负责响应和召集)。

On-Call机制的核心,就是确保关键角色实时在线,随时应急响应

4、On-Call机制流程建设

1)确保关键角色在线(轮班的各岗位关键角色,需要有backup);

2)组织War Room应急组织(常见的有线上消防群&线上监控告警群);

3)建立合理的消息分发方式(谁值守谁负责,而不是谁最熟悉谁负责);

4)确保资源投入的升级机制(即值班相关SRE角色有权调动其他资源,甚至故障升级);

5)与云厂商联合On-Call机制(对于上云企业,和厂商共建故障信息对接群,定时故障演练);

6)终极方案:针对可能出现的故障,落地故障应急SOP,制定“故障应急处理手册”,这样人人都是SRE

5、On-Call机制的优势

1)最快最好的熟悉系统的方式;

2)培养和锻炼新人以及backup角色;

3)新人融入团队和承担责任的最佳方式;

故障处理:恢复业务为最高优先级

在MTTR环节中,MTTK、MTTF、MTTV分别对应故障诊断、故障修复与故障确认。

故障处理的最终目标:采取所有手段和行动,一切以恢复线上业务可用为最高优先级。

1、常见的故障蔓延原因

1)故障隔离手段缺失(限流、降级、熔断、弹性扩容);

2)关键角色和流程机制缺失(信息同步、方案决策、反馈机制);

3)线上故障灾备演练环节缺失(故障应急SOP、故障应急处理手册);

2、Google故障指挥体系
  • IC(Incident Commander):故障指挥官,这个角色是整个指挥体系的核心,最重要的职责是组织和协调,而非执行,下面所有角色都要接受他的指令并严格执行。
  • CL(Communication Lead):沟通引导,负责对内和对外的信息收集及通报,这个角色相对固定,由技术支持、QA或者是某个SRE来承担,要求沟通表达能力要比较好。
  • OL(Operations Lead)运维指挥,负责指挥或指导各种故障预案的执行和业务恢复。
  • IR(Incident Responders):即所有需要参与到故障处理中的各类人员,真正的故障定位和业务恢复都是他们来完成的,如具体执行的SRE、运维、业务开发、平台开发、DBA,甚至是QA 。
3、建立有效的应急响应机制

3.1流程机制

1)故障发生后,On-Call的SRE最开始是IC,有权召集相关角色和资源,快速组织线上消防;

2)如果问题和恢复过程非常明确,IC仍是SRE不做转移,由他指挥每个人要做的事情,优先恢复业务优先;

3)如果问题疑难或影响范围大,SRE可以要求更高级别的角色介入如 SRE主管或总监。一般原则是谁业务受影响最大谁牵头组织。这时IC的职责转移给更高级别的主管。如果是全站范围的影响,必要时技术VP或CTO也可以承担IC职责,或授权给某位总监承担;

4)SRE回归到OL的职责上,负责组织和协调具体的执行恢复操作的动作。

3.2反馈机制

1)定时反馈(10-15分钟),没有进展也要及时反馈;

2)执行操作或变更事先通报,说明变更操作重点和影响范围;

3)尽量减少对执行者的干扰,让执行者能够聚焦;

4)信息要及时同步给客服、PR及商家和其他各类合作方;

5)团队leader收集反馈并传递IC的指令,CL收集信息并在更大范围内同步汇总后的信息,同时传递给外部联系人;

6)除了快速恢复业务,保持信息及时同步和透明也非常关键(便于对用户和其他平台的安抚措施能够快速执行到位)!

注意:信息同步尽量不要用技术术语,尽量以业务化的语言描述,并给到对方大致的预期

故障复盘:黄金三问与判定三原则

故障复盘的核心:从故障中学习和提升!

故障复盘的教训:故障根因往往不止一个,聚焦引起故障原因都是哪些,是否都有改进空间。

故障复盘的心得:解决问题,而不是不断提出新的问题!

1、故障复盘黄金三问

1)第一问:故障原因有哪些?

2)第二问:我们做什么,怎么做才能确保下次不会出现类似故障?

3)第三问:当时如果我们做了什么,可以用更短的时间恢复业务?

注意事项对事不对人,不允许出现互相指责和埋怨甩锅。故障复盘的核心是找到原因并加以改进,落地优化

2、故障判定的三原则

1)健壮性原则:每个组件自身要具备一定自愈和高可用能力,而非全部由下游依赖放兜底;

2)三方默认无责:对内谁受影响谁改进,对外推进第三方改进(稳定性要做到相对自我可控,而不是完全依赖外部);

3)分段判定原则:对于原因较复杂或链路较长的故障,建议分阶段评估,不同阶段有不同的措施。这一原则的出发点是要摒弃“故障根因只有一个”的观点。

典型案例:互联网的SRE组织架构

在SRE体系中,高效的故障应对和管理工作,需要整个技术团队共同参与和投入。

1、互联网典型技术架构

参考:SRE组织架构的构建原则

  • 组织架构要与技术架构相匹配(两者是互相补充和促进的作用);
  • SRE是微服务和分布式架构的产物(微服务和分布式技术复杂性对传统的运维模式和理念产生了冲击和变革);
2、系统架构的演变历程

要引入SRE体系,并做对应的组织架构调整,首先要看技术架构是否朝着服务化和分布式方向演进。要想在组织内引入并落地SRE体系,原有技术团队的组织架构或协作模式必须要做出一些变革。

3、互联网组织架构示意图

基础设施:传统运维这个角色所具备的能力。

平台服务:包括常见的技术中台(有状态的数据产品研发团队)和业务中台(无状态的具有业务共性的业务研发团队)以及业务前台(H5&前端&移动端产品研发团队)。

技术保障平台:微服务和分布式架构下的运维能力,是整个技术架构能力的体现,而不是单纯的运维能力体现。

工程效能平台:负责效能工具的研发,比如实现 CMDB、运维自动化、持续交付流水线以及部分技术运营报表的实现,为基础运维和应用运维提供效率平台支持(对业务理解及系统集成能力要比较强,但是技术能力要求相对就没那么高)。

稳定性保障平台:负责稳定性保障相关的标准和平台,比如监控、服务治理相关的限流降级、全链路跟踪、容量压测和规划(技术要求和团队建设复杂度较高,需要很多不同领域的专业人员)。

总结SRE = PE + 工具平台开发 + 稳定性平台开发

业内经验:高效的SRE组织协作机制

SRE落地经验:以赛带练。

1、什么是以赛带练?

“以赛带练”这个术语最早出自体育赛事中,即通过比赛带动训练(如足球、篮球或田径比赛)。目的是在真实的高强度竞争态势和压力下,充分暴露出个人和团队的不足及薄弱点,然后在后续的训练中有针对性地改进,这样对于比赛成绩的提升有很大帮助,而不是循规蹈矩地做机械性训练。

2、SRE落地如何以赛带练?

以赛带练的策略放在系统稳定性建设中非常适用。

通过选择类似的真实且具备高压效果的场景,来充分暴露稳定性存在哪些问题和薄弱点,然后有针对性地进行改进。类似的场景,如电商类产品的双十一大促、社交类产品在春晚的抢红包,以及媒体类产品的突发热点新闻等,对于系统的稳定性冲击和挑战非常大。

再或者是极端故障场景,如机房断电、存储故障或核心部件失效。稳定性建设,一定也是针对极端场景下的稳定性建设。

“以赛带练”的目的就是要检验系统稳定性状况到底如何,系统稳定性还有哪些薄弱点。

3、SRE各个角色如何协作?

案例:双十一大促保障!

1)大促项目kickoff(项目启动会)

2)核心链路技术指标拆解及模型评审(用户模型、流量模型、压测模型)

3)稳定性预案评审(前置预案、主动预案、紧急预案、恢复预案)

4)全链路压测及复盘会议(每轮压测结束都需要进行复盘总结和落地TODO项)

通过上述每个环节的工作细节,让不同角色都参与进来!

4、哪些事项可以做到日常化?

除了大促或极端场景之外,将一些案例落地到日常工作中,是提升稳定性的进阶。场景如下:

1)核心应用变更及新应用上线评审;

2)周期性的技术运营以及汇报工作场景;

概括总结:实践是检验SRE的唯一标准

落地实践,小步快跑胜过考虑太多!

实践需要落实到具体的真实的场景和细节问题上,而不是凭空虚构!

落地SRE要尽可能早的参与到项目中,而非等到线上出问题才考虑引入SRE机制!

SRE 更多的要成为稳定性的监督者和推进者,而不是各种问题的救火队员!

相关书籍

《The Site Reliability Workbook》:兼具普适性和参考性;

《Building Secure&Reliable Systems》:适合进阶阶段阅读;

《Site Reliability Engineering》:SRE落地取得一定成效后阅读;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老张的求知思考世界 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据分析师7大技能:梳理指标体系
有小伙伴问:除了分析方法,数据分析师还要掌握哪些技能?其中最重要的,可能就是梳理指标体系了。在招聘的时候,这是数据分析师的一项硬技能要求。
码工小熊
2022/03/09
8980
7000字详解数据指标体系如何从设计到落地
导语:几乎所有的数据分析工作都会提到一个词——“建立数据指标体系”,虽然这个词对于大家来说并不陌生,但是数据指标到底是什么以及如何具体的搭建,很多人还是一头雾水的。
肉眼品世界
2021/11/11
6.1K0
7000字详解数据指标体系如何从设计到落地
数据指标体系搭建方法及经验
在当今数据驱动的商业环境中,构建一个有效的数据指标体系成为了企业成功的关键。数据指标体系是一套精心设计的测量工具,用于评估和指导企业的业务活动。通过这个体系,企业能够转化庞大、复杂的数据为有价值的洞察,从而指导决策,优化运营,增强竞争力。
至存网络
2024/08/29
2830
数据指标体系搭建方法及经验
数据指标体系建设方法
数据的本质是利用数学观察、记录、理解世界;数据分析的过程就是人类从定性到定量、模糊到精准过程。
Spark学习技巧
2021/08/24
7220
指标体系|四个模型教会你指标体系构建的方法
数据指标体系建设的方法可以总结为三个步骤,即明确业务目标,理清用户生命周期以及行为路径以及指标分层治理,在这三个步骤当中又涉及到 OSM(Object,Strategy,Measure),AARRR(Acquisition,Activation,Retention,Revenue,Referral),UJM(User, Journey, Map), MECE (Mutually Exclusive, Collectively Exhaustive) 四个模型,这四个模型是指导我们构建完整而清晰的指标体系的方法论。
数据万花筒
2021/01/12
7.9K10
通向优秀数据分析师的6个阶梯
很多同学都在问:”数据分析从0到1的文章看多了,咋样才能从1到10,从普通到优秀呀!”今天系统地解答一下。“优秀”是一个形容词,只有清晰了参照物,才能知道到底什么是“普通”,什么是“优秀”。今天就从“普通”讲起,想通往“优秀”,需要迈过6个阶梯。
接地气的陈老师
2022/03/28
3170
通向优秀数据分析师的6个阶梯
【干货】从0到1搭建运营数据分析知识体系
导读:数据分析在运营工作中无处不在,无论是活动复盘、专题报告、项目优化,还是求职面试,数据分析都有一席之地。对于数据分析,我发现很多运营都有这样一些困惑: 不知道从哪里获取数据;不知道用什么样的工具;不清楚分析的方法论和框架;大部分的数据分析流于形式;其实,数据分析并没有大家想象的那么难!接触了很多数据从业者,总结了这篇文章,希望对有志于学习数据分析的运营同学有所帮助。 一、概念:数据和数据分析 其实大家一直都在接触数据和数据分析,但是对于两者具体的定义又很难说清楚。我曾经做过一个调查,问一些运营同学,下
钱塘数据
2018/03/02
1.5K0
【干货】从0到1搭建运营数据分析知识体系
创业公司如何构建数据指标体系?
对于从 BAT 等互联网公司出来的人,经历了数据分析的历练后,会有做事之前看数据的习惯。而对于毕业之后就创业,或者是产品经理和运营专员的新手来说,一般对于构建企业的指标体系比较困惑,不知如何下手。甚至有些新手,手里刚有微信公众号后台或者百度统计后台的几个指标,就觉得算是有了数据指标体系了,但又会发现与许多实际的工作脱节。在这里给大家介绍两套构建指标体系的方法,第一关键指标法和海盗指标法。 第一关键指标法 现在我问你一个问题,对你所负责的产品来说,最关键的一个指标是什么?我尝试问过一些人,特别是同一个公司的几
CSDN技术头条
2018/02/12
1.1K0
创业公司如何构建数据指标体系?
【干货收藏】数据分析师必备的20种分析思维
“好像是A引起的” ,“好像也和B渠道有关”,“也可能是竞争对手C做了竞争动作”等主观臆测。
1480
2019/10/10
7830
【干货收藏】数据分析师必备的20种分析思维
个推TechDay直播回顾 | 详解数据指标体系设计与开发全流程(附视频及课件下载)
科学完善的数据指标体系是企业开展数字化运营管理、打造数据驱动型组织的重要支撑。透过多维度的数据指标,运营人员能够清晰了解业务现状,产品/研发人员能够高效定位系统问题,管理人员能够更加准确地做出分析决策。
个推
2022/12/29
5460
个推TechDay直播回顾 | 详解数据指标体系设计与开发全流程(附视频及课件下载)
从0到1 搭建B端数据指标体系
本文作者:adelitayang,腾讯TEG产品运营 一、B端与C端运营的区别 每次说到B端,大家都会不自觉地想要问,B端和C端究竟有什么不一样的地方呢?B端能不能直接复制C端的经验呢?刚好毕业之后先是在老牌企业服务公司从事B端的运营,再做了快2年的全栈C端运营,最后又回到B端运营的怀抱。 在我看来,无论是C端运营还是B端运营,在数据运营上,共通之处都是通过已有的数据去发现问题、分析原因以及预测趋势,都是为了驱动业务的增长,如用户增长、营收增长等。 不同的是,在业务层面上,B端业务比C端更为复杂,C端往往
腾讯大讲堂
2022/01/26
2K0
关于「数据分析师」的一些理解
数据分析师并不像产品和开发那样的岗位,从公司初创就是不可缺少的。数据分析师是在公司发展到一定程度才会有需要的岗位。
木东居士
2019/06/19
6800
投稿 | 神策CEO桑文锋:创业企业如何构建数据指标体系?
对于从 BAT 等互联网公司出来的人,经历了数据分析的历练后,会有做事之前看数据的习惯。而对于毕业之后就创业,或者是产品经理和运营专员的新手来说,一般对于构建企业的指标体系比较困惑,不知如何下手。甚至有些新手,手里刚有微信公众号后台或者百度统计后台的几个指标,就觉得算是有了数据指标体系了,但又会发现与许多实际的工作脱节。 在这里给大家介绍两套构建指标体系的方法,第一关键指标法和海盗指标法。 第一关键指标法 现在我问你一个问题,对你所负责的产品来说,最关键的一个指标是什么?我尝试问过一些人,特别是同一个公司
数据猿
2018/04/19
6010
投稿 | 神策CEO桑文锋:创业企业如何构建数据指标体系?
数据分析师如何运用BI工具实现薪资UP!UP!UP!
众所周知,精通Excel不叫精通数据分析,会讲述啤酒与尿不湿的案例并不代表你能洞悉数据,PPT做得漂亮也并不能为你的数据分析能力加分……我们做数据分析是为了能以量化的方式来分析业务问题,并得出结论。其中有两个重点词语:量化和业务。
马哥说数据
2021/05/08
1K0
数据分析师如何运用BI工具实现薪资UP!UP!UP!
数据分析师必学第一课:构建完整的指标体系
掌握理论知识和编程知识可以被看作入职数据分析师的“敲门砖”。掌握了这些知识,表示候选人对于成为数据分析师有了良好的准备,可以说“万事俱备,欠东风”,而“东风”就是一些实际工作内容和相应的技巧。
博文视点Broadview
2020/07/19
5330
成为数据分析师的必要条件
作为一名成熟的数据分析师,那必然是要头顶Python,脚踩SQL,左手一个Tableau,右手一个Excel。能取数,会报表,埋点AB两不误,分析落地显价值。
HsuHeinrich
2023/02/24
6350
成为数据分析师的必要条件
实用五步法教会你指标体系的设计与加工
今天我们来和大家聊一聊一个新话题,一个对于企业业务发展十分关键的东西 —— 指标。
袋鼠云数栈
2022/09/28
1.7K0
终于有人把怎么搭建数据指标体系给讲明白了,数据分析师必备
“ 数据岗的核心职能,在于产出数据资产,提升信息的价值密度。” 指标体系就是一个组织最为重要的数据资产。 那么: (1)为什么指标体系这么重要? (2)什么是指标体系? (3)指标体系的衡量标准是什么? (4)如何去搭建一套好的指标体系? 只要弄清楚了这4个问题,指标体系的搭建工作就迅速地开展、快速地落地,精准地产生业务价值。 以上是对于数据同学而言的工作。此外,对于指标体系的使用者而言,例如业务方、管理者等,还有一个重要的问题: (5) 指标体系应该怎么用? ◆ 指标体系为什么这么重要? 要搞清楚指标体系
IT大咖说
2022/09/20
3.8K0
终于有人把怎么搭建数据指标体系给讲明白了,数据分析师必备
如何才能成为顶级的数据分析师?
顶级的数据分析师一定会在数据变现最牛逼的行业里存在,比如金融风控或者数字广告行业,这些业务是真正的数据驱动,因为数据上差一点点,效益就会差一大截。
木东居士
2020/02/21
6940
如何才能成为顶级的数据分析师?
数据分析师的职业规划与参考资料
参考:超详细的数据分析职业规划 一个产品的出现可以从业务和技术两个方向分析,业务需求+技术支持=产品的出现。 如果把职业也当成一个产品,也有类似的分析,
IT从业者张某某
2023/12/20
5650
数据分析师的职业规划与参考资料
推荐阅读
相关推荐
数据分析师7大技能:梳理指标体系
更多 >
交个朋友
加入前端学习入门群
前端基础系统教学 经验分享避坑指南
加入腾讯云技术交流站
前端技术前沿探索 云开发实战案例分享
加入云开发企业交流群
企业云开发实战交流 探讨技术架构优化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档