首页 > 其他分享 >心法|SRE如何制定科学有用的流程制度

心法|SRE如何制定科学有用的流程制度

时间:2023-01-05 10:33:13浏览次数:40  
标签:制度 SRE 流程 心法 Oncall 告警 变更

科学的制定流程制度是非常重要的,好的流程制度能提高生产效率、降低出错,但流程制度用不好是要阻碍创新的,甚至引起工程师的反感和抵触。

比如为了减少工程师出错,把工作的每个角落铺满精细的流程制度规范,每个制度事无巨细的几千上万字,无异于对工程师缚手缚脚,大家也背不过来,唯一的用途就是犯了错误追责任:看,有流程制度你不遵守。

事无巨细的流程制度,是反人类、反人性的,谁能记得住呢?长期积累下去,组织的能力、效率、活力都会下降,工程师成了流程制度的傀儡,成了工具人,与技术团队活跃、创新的文化截然相反,继而团队肯定要出事儿的,最后业务受损、人员离职再所难免。

但流程制度又是不可或缺的,没有流程制度,整个工作可能就是混沌的,低级错误不断,问题频发,关键要找准制定的领域,找到牵一发儿而动全身的点。制定时要围绕SRE的主线顶层目标,流程制度本身要本着数量少、质量高的原则,而且流程制度一定要简单好记、易执行,定原则而不是穷举流程细节

例如以质量为目标定制度,参照运维质量环(故障前中后),第一是避免问题进入生产环境形成故障,第二是如若无法避免,工程师可以快速发现故障处理。这是两个最重要的节点,类似蛇的七寸,如若做好,就可以大幅减少故障数量和故障发生后的影响,达到提升质量的目标,同时为将来用DevOps承担制度做好准备,以此为例我们团队制定两个流程如下。

心法|SRE如何制定科学有用的流程制度_运维

1、示例|团队变更规范(知影响、盯指标、懂进退、守流程)

变更12字方针:知影响  盯指标  懂进退  守流程

  • 变更时间

工作日 9:30~11:30,14:00~17:30

  • 原则

知其然、知其所以然

渐进式变更

  • 变更前

 1)清楚变更的影响

        清楚的认识到当前服务变更会影响哪些服务、哪些用户体验

 2)清楚变更是否符合预期的指标

        观察可用性、时延、QPS或者其他关键指标

 3) 清楚变更失败的预案

        回滚,或者其他方案

 4)DoubleCheck

        和自己的mentor或者leader做好确认

 5)变更通知

        必须通知到相关研发负责人以及AIoT SRE变更群

  • 变更中

1)灰度单台

        发布单台,观察指标以及对应程序状态、日志,观察10分钟,确保正常再继续

2) 全量其他

        渐进式全量同机房其他节点、其他机房

3)观察指标

        全程实时关注变更后相应业务指标的变化

4)关注报警

        紧盯报警信息,有相关报警及时跟进

5)及时回滚

   变更中发现问题,第一时间操作回滚

  • 变更后

1)变更总结

   进度、影响是否符合预期

2) 持续观察指标至少30分钟

   防止打点有延时、或者影响滞后导致未及时发现

3) 持续关注异常信息

  关注相关业务群异常信息、报警是否和变更关联

2、示例|团队Oncall规范(接告警、勤通告、助恢复、做闭环)

Oncall 12字方针:接告警 勤通告 助恢复 做闭环

  • Oncall要求

  主备Oncall同学需24小时接收处理告警,保持手机、飞书畅通

  • 原则 

  先恢复业务,再排查原因

  Oncall同学是故障处理的组织者

  • Oncall处理流程

1)收到告警第一时间在Oncall群通知,并@到对应研发和SRE同学

  P0告警:5分钟没恢复,开启电话会议,并发到AIoT SRE群上报

  P1/P2告警:5分钟没响应,飞书加急或电话通知

2)每10/20分钟在群内通报对应告警监控指标的恢复曲线

3)协助故障恢复,将查到的信息同步到群里,引导先恢复业务再排查原因

4)判断后,如影响严重,第一时间在AIoT SRE群内升级,并@高利绪

  进入重大事故处理流程,由@高利绪 将事故上报质量委

5)闭环跟进,直至业务全部恢复


欢迎关注原创公众号「运维网咖社」——矢量比特(高利绪)

心法|SRE如何制定科学有用的流程制度_变更_02

标签:制度,SRE,流程,心法,Oncall,告警,变更
From: https://blog.51cto.com/benpaozhe/5989494

相关文章

  • Spring Authorization Server(授权服务器)授权处理流程
    参考链接:https://www.zhihu.com/question/50954473/answer/2496466075https://blog.51cto.com/u_1472521/4995770关键流程摘录第一篇中关键部分如下:详细流程为:①......
  • iOS App上架流程
    iOSApp上架流程一、[endif]准备:一个已付费的开发者账号(账号类型分为个人(Individual)、公司(Company)、企业(Enterprise)、高校(University)四种类型,每年资费分别为$99、$99、$299......
  • 安卓app上架流程
    ​上传APP的时候,遇到了问题,一直卡在AuthenticatingwiththeiTunesstore提示这里,解决办法:在ApplicationLoader里面登录需要上传APP的开发者帐号就可以了​​​证书......
  • LLVM编译流程分析
    LLVM编译流程分析1.LLVM编译器概念LLVM与编译器息息相关,究竟什么是编译器呢?带着疑问往下看吧。编译器就是将一种语言(通常为高级语言)翻译为另一种语言(通常为低级语言的......
  • 上海市居住证办理材料及流程
    ​​ 上海居住证申请材料1​​​​上海居住证申请材料2pdf​​摘要:居住证是中国一些城市借鉴发达国家“绿卡”制度进行的积极尝试,为中国制定技术移民办法,最终形成中国国......
  • Java流程控制
    1.Scanner对象  2.顺序结构  3.选择结构if单选择结构 if双选择结构 if多选择结构 嵌套的if结构 switch多选择结构  4......
  • 安卓app上架流程
    ​上传APP的时候,遇到了问题,一直卡在AuthenticatingwiththeiTunesstore提示这里,​解决办法:在ApplicationLoader里面登录需要上传APP的开发者帐号就可以了​证书我们这边......
  • 算法与数据结构 学习流程
    嵌入式LINUX中算法与数据结构应用比较广泛,需要学习及熟练掌握:  推荐一些算法书籍。入门系列入门的同学,我建议你不要过度追求上去就看经典书。不要一来就拿着《算......
  • Cadence Allegro贴片和插件元器件封装制作流程总结
    目录​​1.0805电阻封装的制作​​​​1.1计算焊盘尺寸​​​​1.2制作焊盘(用于生成*.pad)​​​​1.2封装制作(生成*.dra)​​​​1.3设置参数、栅格grid和原点​​​......
  • 流程管理(业务流程)
    业务流程分为管理流程、操作流程、和支持流程。管理流程指企业整体目标和经营战略产生的流程;操作流程指直接与满足外部顾客的需求相关;支持流程指为保证操作流程的顺利执......