前言

这是读“SRE Google运维解密”有感第三篇,之前的文章可访问www.addops.cn来查看。
我们今天来聊聊“on call”也就是运维值班制度, 本人到目前为止也还在参与一线运维的值班,对运维值班体系也有一些感悟和心得,再参考SRE的“on call”中的方法来说说这个让运维同学“又爱又恨”的值班。

值班

因为运维人员的工作性质,要时刻保障线上服务的稳定可用,遇到事故问题要第一时间处理,所以很多运维团队的工作必须是7x24小时的。

但是人不是机器,他需要休息,也要有生活,所以不能要求人也和机器一样7x24小时运转,于是就诞生了值班制度,每天或者某个周期,值班的同学辛苦一下时刻保持响应和处理紧急问题,把团队其它成员解放,大家这样周期性轮值,劳逸结合。

所以值班的同学是伟大的,辛苦一个人,成全全团队,大家因你的值守而能暂时把压力卸掉,得到休息和放松。

如何值班

一般情况下,值班人员数量不需要太多,一个周期内基本会是一个,因为他是在非工作时间值守,事情和需求相对比较少。

值班人员也不一定强制要求在公司,他只要保证手机畅通,出了问题马上能联系到你,把电脑和vpn设备戴在身上,能时刻保证处理线上问题, 夜里也能正常休息(但是别睡太死),保证在有效时间内能联系到你。

所以值班同学更多的是在“stand by”,就是“时刻准备着”,不一定真的处理多少问题。

对于刚刚进入团队的“小鲜肉”而言,他们肯定会对值班感到恐惧,这多半是因为他们对现有情况了解不多,害怕自己搞不定。

其实大可不必这样,个人认为值班同学更多的是一个“接口人”的角色,如果遇到自己搞不定的事情,可以多方位的求助,切忌因为怕“影响大家”,而拖慢处理问题的时间,解决问题是最重要的。

所以如果你是刚刚加入值班的同学,请注意以下几点:

  1. 保障手机畅通,电脑和vpn在身边。
  2. 遇到问题尽量自己解决,解决不了要尽快求助。
  3. 不要有过大的心里压力,遇到问题你才能成长。

值班人的烦恼

下面我们来聊聊值班人的烦恼,值班人做为运维团队“守夜人”,他的压力是可想而知的,在他的值班周期内,他要承担全部的问题风险,必须尽快解决一切问题。

所以第一个烦恼就是“心理压力”,线上的问题各种各样,网络问题,IDC问题,服务器问题,程序问题等等,他必须有快速判断和处理的能力,还有一点是,故障发生的时间是不可预知的,就会给人一种不知道“靴子什么时候掉落”的感觉,他要时刻保持高度警惕,神经紧绷。

第二个烦恼是抵抗人的“惰性”,如果今天一直都没有报警,没有出现问题,你就会放松警惕,可能你已经准备开香槟庆祝这一天顺利度过了,突然出了问题,你需要马上收拾心情,投入到战斗中,又或者在凌晨2点,在熟睡中感受到了“报警风暴”,你要抗争着爬起来,赶紧处理问题, 这些都是对值班人的考验。

第三个烦恼是“一直在线”,有些团队值班是保证“电话在线,随时处理”即可,在没有事情的时候,你是可以做自己想做的事情,但是你要保障自己的活动能随时被打断,比如你值班的时候部门去TB爬山,值班的同学可能要背着电脑爬。

总之值班让人感觉是很“苦逼”的工作,几乎没人喜欢值班,本人觉得通过制度的改进,还是可以让值班工作变得轻松的,下面会重点探讨。

值班中的问题

上面简单说了怎样值班和值班人的烦恼,下面再说下值班制度中面临的一些问题。

一个人还是两个人

首先值班人是“一个人”还是“两个人”或者多个人,这是一个值得探讨的问题。 如果是一个人值班,很大的好处是责任明确,值班人“责无旁贷”,他只能靠自己响应和处理问题,这样相比两个人可能出现“我不处理,还有另一个人”会好很多。
但是缺点也是显而易见的,值班人是单点,他处理问题的能力,身体状态,心情好坏可能都会影响问题的解决。
如果是两个人值班,如上面所说,可能出现“互相推诿”问题,好处就是多一份保障,问题处理更加高效。

一天还是一周

另一个问题是,值班人的值班周期是“一天”还是“一周”或者更长时间。
对于值班人是一个人的情况,大多数都会是每天轮值,原因很简单,一个人连续值班好几天身体也扛不住啊,每天轮值的好处是值班人只要坚守24小时就行了,不至于太疲惫,而坏处是如果没有做好充分的交接,很多常见故障得不到根除。
比如有个常见问题,每天值班的同学都会收到报警,而当天值班的同学可能会想临时先处理一下,扛到第二天,值班人就不是我了,而下一个同学也这么做,这样问题得不到根本解决
那么如果值班时间拉长到一周或者更长,值班同学会想,现在不根除,我第二天还得处理,那么会驱动他从根本上解决问题。

如何判断值班的好坏

如何判断值班的好坏?值班报告或许只是一种手段,但是它不能代表全部。记录好值班期间发生的问题,处理好突发事件是基础,更重要的是,通过从根本上解决问题,优化系统,提升团队效率。

值班人不是超人

值班人不是超人,一方面是对值班同学说的,在遇到突发情况,解决问题是第一位的,千万不要“个人英雄主义”,觉得靠自己都能搞定,该汇报汇报,该求助求助。另一方面也是对不值班的同学说,值班的同学不是超人,他不能搞定所有事情,不能说你今天不值班就有一种“不关我事”的心态,要尽力帮助他解决问题。
值班制度是为了解决“突发事件响应”这个问题而生的,核心是解决问题,不可本末倒置。

责任心误区

值班并不是一个技术活,响应速度够不够快,处理的够不够好,更多的是考验人的响应能力,就是值班同学“够不够勤快”,而人都是有惰性的,时间长了就会心理疲劳,响应速度越来越慢了,问题处理也不及时。
这个时候,我们就觉得是值班同学的“责任心”不强,我们开始用一些提高“责任心”的方法,比如开会强调,奖惩措施,这种方式短期内有效果,时间长了又开始变的松懈,造成一种“一抓就紧,一放就松”的恶性循环。
这样就陷入到了责任心的误区,值班的好坏不等于责任心的强弱,更好的方式是通过制度和工具提升值班效率。

SRE的一些启示

上面说了这么多,现在我说说SRE值班中的一些手段,或许能给你一些启示。

  • SRE中的值班方式是分为“主,副”两个人,主值班人处理紧急情况,副值班人处理非紧急情况,并且副值班人也可以是业务团队或者上下游联系紧密的相关人员。
  • 值班长度为一周,可更长时间跟踪问题。
  • 通过流程化判断问题的方式,减轻值班人应对问题心理压力,让他们认为按照流程走能解决大部分问题。
  • 格式化沟通,确定沟通流程,不在写邮件排版上浪费时间,同时也能快速扩散消息,寻求帮助。
  • 对事不对人,永远以解决问题为第一优先级。
  • 多地团队配合值守,让大家“日出而做,日落而息”,当然这是因为谷歌全球都有分公司。

所以SRE更多考虑的是通过制度,流程,工具的优化,让值班更加美好,好的制度就是要规避人性的弱点,提升工作效率。

本文链接:https://addops.cn/post/sre-read-think-3.html

读SRE Google运维解密有感(三)的更多相关文章

  1. 读SRE Google运维解密有感(四)-聊聊问题排查

    前言 这是读“SRE Google运维解密”有感第四篇,之前的文章可访问www.addops.cn来查看.今天我们来聊聊“问题排查”这个话题,本人到目前为止还在参与一线运维的工作,遇到过很多“稀奇古怪 ...

  2. 读SRE Google运维解密有感(二)

    前言 这是读“SRE Google运维解密”有感第二篇,第一篇参见 这本书最近又读了几章,结合自己的经历,有些地方真的能感同身受,有些地方也惊叹SRE充满辩证的思想,总之SRE是好一本好书,会给你很大 ...

  3. 读SRE Google运维解密有感(一)

    前言 这几天打算利用碎片时间读了一下"SRE Google运维解密"这本书,目前读了前几章,感觉收获颇多,结合自己的工作经历和书中的要点,写一些感悟和思考 SRE 有关SRE我就不 ...

  4. google运维解密

    1.运维团队与开发团队的矛盾: 运维追求业务的稳定.开发更关注新功能的添加与版本的快速迭代.但是由于业务更新,有很大可能导致故障.从本质上来说,两部门是矛盾的. deops应该是: 1.对重复性工作有 ...

  5. SRE_ Google运维解密

    # 第IV部分 管理 #系统可用性时间表 # 专用术语 SLO:服务等级目标 LCE(Land-Covered Earth):紧急检修登陆艇 # 紧急事故管理 一次流程管理良好的事故 # 东西早晚要坏 ...

  6. 百度王一男: DevOps 的前提是拆掉业务-开发-测试-运维中间的三面墙

    这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变. 由数人云.优维科技.中生代社区联合发起的 系列 Meetup < DevOps&SRE 超越传统运维之道&g ...

  7. 企业Shell面试题及企业运维实战案例(三)

    1.企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: ...

  8. 系统运维技巧(三)——利用dd命令临时增加交换分区

    有时会遇到内存不够用的情况,可以使用本文提供的方法进行临时增加交换分区. #制作交换分区——得到文件 [root@serv01 linux-2.6.38]# dd if=/dev/zero of=/s ...

  9. Python自动化运维 - Django(三)CSRF - Cookie&Session

    CSRF跨站请求伪造 CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求 ...

随机推荐

  1. android sqlite批量插入数据速度解决方案

    转自 http://hi.baidu.com/hfutonline/blog/item/62b1e4de8bdf4b2e5882dd28.html 最近在做android项目的时候遇到一个问题,应用程 ...

  2. A1010. Radix

    Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The an ...

  3. Sublime Text3—系统设置

    摘要 软件的设置分为系统设置和快捷键设置两项,这次分享系统设置,Sublime Text3-自带快捷键介绍前面已分享过. 正文 菜单依次选择Preferences | Settings,我们修改设置不 ...

  4. Educational Codeforces Round 52 (Rated for Div. 2) E. Side Transmutations

    http://codeforces.com/contest/1065/problem/E 数学推导题 #include <bits/stdc++.h> using namespace st ...

  5. NO.7:别让异常逃离析构函数

    1.析构函数绝对不要吐出异常,如果一个析构函数可能抛出异常,析构函数应该捕获任何异常,然后要么吞下它们或者退出程序 2.如果用户需要对析构内的可能抛出异常的操作做出反应,则应该将操作放入除析构函数外的 ...

  6. poj 1904(强连通分量+完美匹配)

    传送门:Problem 1904 https://www.cnblogs.com/violet-acmer/p/9739990.html 参考资料: [1]:http://www.cnblogs.co ...

  7. 最短路算法模板--SPFA

    初见SPFA时,直接认成了优先队列优化的Dijkstra,经过几位大佬的指点,我终于明白了他们的差异. Dijkstra是保证已经出队过的点不再入队,SPFA是已经在队列中不再入队.比较起来,SPFA ...

  8. request请求地址

    1.String contextPath = httpServletRequest.getServletContext().getContextPath(); /项目名称 2.String conte ...

  9. VBScript进阶篇一

    VBScript进阶篇一       作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编译型与解释型的区别 其实我们通过一张图就可以大致了解一下,他们运行机制. 想要了解更多,请 ...

  10. apache服务Forbidden 403问题精彩总结

    部署apache服务Forbidden 403问题小结 ForbiddenYou don't have permission to access / on this server. http错误代码4 ...