前言

这是读“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. 【洛谷P3600】 随机数生成器

    https://www.luogu.org/problem/show?pid=3600#sub (题目链接) 题意 一个$n$个数的序列,里面每个数值域为$[1,X]$.给$q$个区间,每个区间的权值 ...

  2. SDL源码阅读笔记(2) video dirver的初始化及选择

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 前一篇文章 讲了SDL的除video以外的大部分模块.本文主要关注SDL的video模块部分. SD ...

  3. 获取get值&DOM例题

    获取get值: <body>        <form action="9.26获取get值.html" method="get">   ...

  4. 试着用c写了一个多线程的同步

    在Java中写多线程相关的程序简单很多,在多线程中需要同步的时候,使用synchronized就行了. 最近学习c的多线程与同步,感觉实现起来,要写的代码比较多一些,这也许是因为java封装的比较好吧 ...

  5. (转)hdu 3436Queue-jumpers--splay+离散化

    dalao博客 http://acm.hdu.edu.cn/showproblem.php?pid=3436 题意:初始排列1到N,现在要你实现3种操作: 将x插入到队头去 询问x当前的位置 询问第x ...

  6. Python基础【day01】:Hello World程序(二)

    本节内容 安装 Hello World程序 变量 一.Python安装 windows 1 2 3 4 5 6 7 1.下载安装包     https://www.python.org/downloa ...

  7. Spark记录-Scala程序例子(函数/List/match/option/泛型/隐式转换)

    object func { def main(args:Array[String]):Unit={ //函数赋值给变量时, 必须在函数后面加上空格和下划线. def sayHello(name: St ...

  8. vs2017_enterprise正式版离线安装包bt下载

    vs2017_enterprise正式版离线安装包bt下载 点击这里下载种子 磁力链接 安装前请先打开certificates目录,安装里面的三个证书 离线下载教程 : https://docs.mi ...

  9. 超哥带你学GIT

    git入门 git安装 git基础 git分支 github与gitlab与git三个基佬的故事 gitlab与pycharm结合 github使用 git超清技能图 学习git站点: git官网 廖 ...

  10. 为什么推荐InnoDB引擎使用自增主键?

    索引使用时遇到的问题(顺丰)--InnoDB引擎不使用自增主键导致性能问题,也可答最左前缀 InnoDB自增主键 InnoDB主索引(同时也是数据文件)的示意图: 上文讨论过InnoDB的索引实现,I ...