1. 程式人生 > >《Google SRE運維解密》之值班篇

《Google SRE運維解密》之值班篇

女主宣言

該文章出自於ADDOPS團隊,仍然是關於Google SRE運維解密的讀後感,這一篇主要聊聊值班的事情。看看Google對值班的一些看法和理解,希望該文章能對大家對日常值班的安排能有所新的啟發。

前言

這是讀“SRE Google運維解密”有感第三篇,之前的文章可訪問www.addops.cn來檢視。

我們今天來聊聊“on call”也就是運維值班制度, 本人到目前為止也還在參與一線運維的值班,對運維值班體系也有一些感悟和心得,再參考SRE的“on call”中的方法來說說這個讓運維同學“又愛又恨”的值班。

SRE Google

值班

因為運維人員的工作性質,要時刻保障線上服務的穩定可用,遇到事故問題要第一時間處理,所以很多運維團隊的工作必須是7×24小時的。

但是人不是機器,他需要休息,也要有生活,所以不能要求人也和機器一樣7×24小時運轉,於是就誕生了值班制度,每天或者某個週期,值班的同學辛苦一下時刻保持響應和處理緊急問題,把團隊其它成員解放,大家這樣週期性輪值,勞逸結合。

所以值班的同學是偉大的,辛苦一個人,成全全團隊,大家因你的值守而能暫時把壓力卸掉,得到休息和放鬆。

如何值班

一般情況下,值班人員數量不需要太多,一個週期內基本會是一個,因為他是在非工作時間值守,事情和需求相對比較少。

值班人員也不一定強制要求在公司,他只要保證手機暢通,出了問題馬上能聯絡到你,把電腦和vpn裝置戴在身上,能時刻保證處理線上問題, 夜裡也能正常休息(但是別睡太死),保證在有效時間內能聯絡到你。

所以值班同學更多的是在“stand by”,就是“時刻準備著”,不一定真的處理多少問題。

對於剛剛進入團隊的“小鮮肉”而言,他們肯定會對值班感到恐懼,這多半是因為他們對現有情況瞭解不多,害怕自己搞不定。

其實大可不必這樣,個人認為值班同學更多的是一個“介面人”的角色,如果遇到自己搞不定的事情,可以多方位的求助,切忌因為怕“影響大家”,而拖慢處理問題的時間,解決問題是最重要的。

所以如果你是剛剛加入值班的同學,請注意以下幾點:

  • 保障手機暢通,電腦和vpn在身邊。
  • 遇到問題儘量自己解決,解決不了要儘快求助。
  • 不要有過大的心裡壓力,遇到問題你才能成長。

值班人的煩惱

下面我們來聊聊值班人的煩惱,值班人做為運維團隊“守夜人”,他的壓力是可想而知的,在他的值班週期內,他要承擔全部的問題風險,必須儘快解決一切問題。

所以第一個煩惱就是“心理壓力”,線上的問題各種各樣,網路問題,IDC問題,伺服器問題,程式問題等等,他必須有快速判斷和處理的能力,還有一點是,故障發生的時間是不可預知的,就會給人一種不知道“靴子什麼時候掉落”的感覺,他要時刻保持高度警惕,神經緊繃。

第二個煩惱是抵抗人的“惰性”,如果今天一直都沒有報警,沒有出現問題,你就會放鬆警惕,可能你已經準備開香檳慶祝這一天順利度過了,突然出了問題,你需要馬上收拾心情,投入到戰鬥中,又或者在凌晨2點,在熟睡中感受到了“報警風暴”,你要抗爭著爬起來,趕緊處理問題, 這些都是對值班人的考驗。

第三個煩惱是“一直線上”,有些團隊值班是保證“電話線上,隨時處理”即可,在沒有事情的時候,你是可以做自己想做的事情,但是你要保障自己的活動能隨時被打斷,比如你值班的時候部門去TB爬山,值班的同學可能要揹著電腦爬。

總之值班讓人感覺是很“苦逼”的工作,幾乎沒人喜歡值班,本人覺得通過制度的改進,還是可以讓值班工作變得輕鬆的,下面會重點探討。

值班中的問題

上面簡單說了怎樣值班和值班人的煩惱,下面再說下值班制度中面臨的一些問題。

一個人還是兩個人

首先值班人是“一個人”還是“兩個人”或者多個人,這是一個值得探討的問題。 如果是一個人值班,很大的好處是責任明確,值班人“責無旁貸”,他只能靠自己響應和處理問題,這樣相比兩個人可能出現“我不處理,還有另一個人”會好很多。
但是缺點也是顯而易見的,值班人是單點,他處理問題的能力,身體狀態,心情好壞可能都會影響問題的解決。
如果是兩個人值班,如上面所說,可能出現“互相推諉”問題,好處就是多一份保障,問題處理更加高效。

一天還是一週

另一個問題是,值班人的值班週期是“一天”還是“一週”或者更長時間。

對於值班人是一個人的情況,大多數都會是每天輪值,原因很簡單,一個人連續值班好幾天身體也扛不住啊,每天輪值的好處是值班人只要堅守24小時就行了,不至於太疲憊,而壞處是如果沒有做好充分的交接,很多常見故障得不到根除。

比如有個常見問題,每天值班的同學都會收到報警,而當天值班的同學可能會想臨時先處理一下,扛到第二天,值班人就不是我了,而下一個同學也這麼做,這樣問題得不到根本解決

那麼如果值班時間拉長到一週或者更長,值班同學會想,現在不根除,我第二天還得處理,那麼會驅動他從根本上解決問題。

如何判斷值班的好壞

如何判斷值班的好壞?值班報告或許只是一種手段,但是它不能代表全部。記錄好值班期間發生的問題,處理好突發事件是基礎,更重要的是,通過從根本上解決問題,優化系統,提升團隊效率。

值班人不是超人

值班人不是超人,一方面是對值班同學說的,在遇到突發情況,解決問題是第一位的,千萬不要“個人英雄主義”,覺得靠自己都能搞定,該彙報彙報,該求助求助。另一方面也是對不值班的同學說,值班的同學不是超人,他不能搞定所有事情,不能說你今天不值班就有一種“不關我事”的心態,要盡力幫助他解決問題。
值班制度是為了解決“突發事件響應”這個問題而生的,核心是解決問題,不可本末倒置。

責任心誤區

值班並不是一個技術活,響應速度夠不夠快,處理的夠不夠好,更多的是考驗人的響應能力,就是值班同學“夠不夠勤快”,而人都是有惰性的,時間長了就會心理疲勞,響應速度越來越慢了,問題處理也不及時。

這個時候,我們就覺得是值班同學的“責任心”不強,我們開始用一些提高“責任心”的方法,比如開會強調,獎懲措施,這種方式短期內有效果,時間長了又開始變的鬆懈,造成一種“一抓就緊,一放就鬆”的惡性迴圈。

這樣就陷入到了責任心的誤區,值班的好壞不等於責任心的強弱,更好的方式是通過制度和工具提升值班效率。

SRE的一些啟示

面說了這麼多,現在我說說SRE值班中的一些手段,或許能給你一些啟示。

SRE中的值班方式是分為“主,副”兩個人,主值班人處理緊急情況,副值班人處理非緊急情況,並且副值班人也可以是業務團隊或者上下游聯絡緊密的相關人員。

值班長度為一週,可更長時間跟蹤問題。

通過流程化判斷問題的方式,減輕值班人應對問題心理壓力,讓他們認為按照流程走能解決大部分問題。

格式化溝通,確定溝通流程,不在寫郵件排版上浪費時間,同時也能快速擴散訊息,尋求幫助。

對事不對人,永遠以解決問題為第一優先順序。

多地團隊配合值守,讓大家“日出而做,日落而息”,當然這是因為谷歌全球都有分公司。

所以SRE更多考慮的是通過制度,流程,工具的優化,讓值班更加美好,好的制度就是要規避人性的弱點,提升工作效率。

文章來自微信公眾號:HULK一線技術雜談