再流弊的技術(shù),也抵不過一次事故:兼談技術(shù)管理
作者介紹
蕭田國,觸控科技運(yùn)維總監(jiān),高效運(yùn)維技術(shù)社區(qū)創(chuàng)始人,互聯(lián)網(wǎng)專欄《高效運(yùn)維最佳實(shí)踐》作者。
“高效運(yùn)維”和老王(王津銀)提倡的“精益運(yùn)維”、智錦提倡的”白盒運(yùn)維”并稱為運(yùn)維三大流派。
引言
2015年,業(yè)界已經(jīng)連續(xù)出現(xiàn)了幾起大的故障。究其根本原因,都是不應(yīng)該的人為事故。本文從這些大故障說起,主要談及運(yùn)維管理相關(guān)的一些話題。本文的主要內(nèi)容包括:
一、不太平的互聯(lián)網(wǎng)
二、為什么這么多人為事故?
1.為什么運(yùn)維更容易發(fā)生事故?
2.規(guī)范這么全,為什么還有事故?
3.都自動(dòng)化了,為什么還有事故?
4.灰度這么好,為什么還有事故?
三、怎么規(guī)避人為事故?
1.選擇合適的人
2.培養(yǎng)安全意識(shí)
3.讓專業(yè)變成一種習(xí)慣
好吧!我們正式開始。
一、不太平的互聯(lián)網(wǎng)
近期獲悉的一些大故障,不僅來自于攜程、阿里云,還有一些影響范圍不是很大,但同樣非常不應(yīng)該的人為事故。
901阿里云故障
阿里云稱因云盾升級(jí)觸發(fā)bug,導(dǎo)致部分服務(wù)器的少量文件被系統(tǒng)誤隔離。其已第一時(shí)間啟動(dòng)系統(tǒng)回滾,被誤隔離的文件正在陸續(xù)恢復(fù)。
部分阿里云用戶表示很受傷。
很多微信群朋友紛紛表示也已中招。從波及面及技術(shù)層分析來看(詳見下文),應(yīng)該是人為事故為主。
528攜程故障
5月底的這次攜程故障,在17小時(shí)后才恢復(fù)業(yè)務(wù)。官方更是直言為“員工錯(cuò)誤操作導(dǎo)致”。
其他“令人發(fā)指”的故障
包括但不限于:
1.某公司技術(shù)人員大白天的給公司計(jì)費(fèi)數(shù)據(jù)庫服務(wù)器更換電源…
2.某銀行總行大型機(jī),關(guān)鍵線路接反了…
3.某銀行關(guān)鍵交易系統(tǒng),更新版本時(shí)SQL 腳本update 語句沒寫where 條件,然后所有網(wǎng)點(diǎn)信息都被重置…
根據(jù)筆者十多年的互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),重大故障,究其根源,至少60%都是低級(jí)人為事故。真正因?yàn)閺?fù)雜系統(tǒng)問題導(dǎo)致的嚴(yán)重故障,非常之少。
二、為什么這么多人為事故?
互聯(lián)網(wǎng)發(fā)展至今,還沒脫離草莽時(shí)代。技術(shù)上,從最開始的小米加步槍,到現(xiàn)在逐漸自助化、半自動(dòng)化,或者利用開源產(chǎn)品修修補(bǔ)補(bǔ)形成自己的系統(tǒng)。
如果說技術(shù)上的發(fā)展尚可陳詞、有些亮點(diǎn),那么對人的管理和重視程度,就更加落后得太多。
可以佐證的是,微信技術(shù)社區(qū)里頭,討論技術(shù)熱點(diǎn)的文章非常之受追捧;但技術(shù)管理類的文章,往往非常被冷落。
究其原因,還是在于廣大互聯(lián)網(wǎng)技術(shù)人員的“手藝人情結(jié)”。從我所在的運(yùn)維行業(yè)來看,尤為突出:
大家都是從Linux、Shell 開始學(xué)起,非常享受那種敲幾行命令一回車,自動(dòng)部署多臺(tái)服務(wù)器的快感及成就感。并誤以為這就是自己的全部。
技術(shù)人員夢想著身懷“絕技”,對Linux系統(tǒng)的某些壓箱底活兒或?qū)δ稠?xiàng)編程技術(shù)的獨(dú)門秘籍,自此笑傲人生,并“不為五斗米折腰”,如認(rèn)為公司或領(lǐng)導(dǎo)有讓自己不爽的地方,即刻”瀟灑”遁去。
雖然,這往往驗(yàn)證了一句話“最有才能的人,往往是最無效的”。
技術(shù)人員不愿受束縛,更多非常相信自己,覺得我的技術(shù)杠杠的。為什么需要?jiǎng)e人來檢查我的工作?我就是完美。
技術(shù)負(fù)責(zé)人往往工作年齡更長,可能經(jīng)歷過更野蠻生長的時(shí)代。
而且很多人潛意識(shí)地認(rèn)為,技術(shù)可以解決一切問題,但問題是:
當(dāng)系統(tǒng)越來越大、自動(dòng)化和智能化程度越來越高,開飛機(jī)的人,水平跟不上,怎么辦?
機(jī)器再強(qiáng)大,也需要人來操作。你說是不?
1.為什么運(yùn)維更容易發(fā)生事故?
其實(shí)相比運(yùn)維,開發(fā)人員還是幸福的。開發(fā)更多關(guān)注功能、怎么快速交付項(xiàng)目需求即可。程序有Bug?還好啦!后面還有測試在兜底。甚至,Bug 多些也無妨,還能算做測試的績效。
在這個(gè)時(shí)候,開發(fā)是操作人,測試實(shí)際上是檢查人,兩個(gè)崗位互補(bǔ):
這就是為什么飛機(jī)駕駛艙會(huì)有兩名飛行員的原因,即使副駕駛員看上去無所事事的樣子。但,關(guān)鍵時(shí)候可是能救命的。
運(yùn)維就沒這么幸運(yùn)了。運(yùn)維往往苦逼地沖在第一線,手上掌握著的都是生產(chǎn)環(huán)境。而且一般情況下,問責(zé)自負(fù),基本上沒有誰來檢查運(yùn)維的工作。也少有人意識(shí)到這是個(gè)嚴(yán)重問題。
2.規(guī)范這么全,為什么還有事故?
規(guī)范是用來“制約”人的,技術(shù)是用來“簡化”人的。But,系統(tǒng)再智能也得人來操作,不是么?
對于人本身,我們究竟做了哪些事情呢?這是值得捫心自問的。
規(guī)范再多,人也可以束之高閣。所以管理者一定不能覺得規(guī)范制度完善了,就已萬事大吉。恰恰相反,放松警惕,放松對人的管理,放松貫徹執(zhí)行,更大的悲劇可能將要來臨。
規(guī)范制度不是技術(shù)管理的全部,規(guī)范可以理解為最低標(biāo)準(zhǔn),用來杜絕不專業(yè)的人去會(huì)犯毀滅性錯(cuò)誤。
規(guī)范更多是“術(shù)”,而不是“道”。雖然規(guī)范想體現(xiàn)“道”,但畢竟,“指向月亮的手不是月亮”。
重視選人、重視培養(yǎng)人的專業(yè)意識(shí),才是王道。
3.都自動(dòng)化了,為什么還有事故?
近期這幾起嚴(yán)重故障定義為人為事故,我想應(yīng)該沒有多少人反對。
自動(dòng)化可以減少人員例行的、重復(fù)的登錄服務(wù)器的操作,從而減少人為事故的發(fā)生。那么這又是鬧哪樣呢?
其實(shí)剛好相反,人為事故因?yàn)檫\(yùn)維自動(dòng)化平臺(tái)的出現(xiàn),其惡劣影響更是被無限放大。
之前小米加步槍的時(shí)代,大家都登錄服務(wù)器進(jìn)行操作,千百臺(tái)服務(wù)器各自為政,想一次性搞癱整個(gè)系統(tǒng),還真的很難。
運(yùn)維自動(dòng)化平臺(tái)的出現(xiàn),很好的“解決”了這個(gè)問題。畢竟,平臺(tái)再智能,也需要人來操作。而過分依賴平臺(tái),反而削弱對人員專業(yè)性的培養(yǎng)。
人的關(guān)系沒協(xié)調(diào)好,問題的根源就沒解決。壓死我們的往往是最后一根稻草。
4.灰度這么好,為什么還有事故?
有人會(huì)說了,我們公司灰度發(fā)布非常完善,理應(yīng)能控制各種事故發(fā)生。即使有,影響范圍也應(yīng)該非常之小。
這其實(shí)有兩個(gè)問題。一則有了灰度發(fā)布,就可以忽略測試環(huán)境了么?如果模擬環(huán)境并不足夠仿真,或沒有在模擬環(huán)境充分測試過、直接在生產(chǎn)系統(tǒng)上進(jìn)行灰度,這個(gè)也是非常值得商榷的:
一個(gè)朋友說,電信內(nèi)部做運(yùn)營,動(dòng)用了九個(gè)機(jī)柜100%模擬生產(chǎn)環(huán)境,專門做測試。包括網(wǎng)絡(luò)設(shè)備版本,也都充分的穩(wěn)定性測試。
可能根本原因在于,互聯(lián)網(wǎng)行業(yè)草根出身,長期野蠻生長,從亂到治,習(xí)慣試錯(cuò)和快速迭代,因此容易亂象叢生。而電信、銀行這些行業(yè),這些從一開始就視安全為命脈,循規(guī)蹈矩,謹(jǐn)小慎微。
還有,重大事故發(fā)生時(shí),灰度范圍內(nèi)的用戶,對他們而言,總歸是無妄之災(zāi)。憑什么他們就應(yīng)該蒙受此等“待遇”呢?他們何罪之有?
他們就理應(yīng)是”小白鼠“么?
二則灰度策略,是否合適?版本發(fā)布平臺(tái)往往匯聚眾人智慧結(jié)晶設(shè)計(jì)架構(gòu)而成,但可能沒有定義具體的灰度策略(這不屬于技術(shù)范圍,而是業(yè)務(wù)范圍)。
也就是說,一次更新100臺(tái)服務(wù)器,還是一次更新10000臺(tái)服務(wù)器,是可以被操作人員手工指定的。
最怕的就是,工具做得很流弊,使用者綜合能力很一般。
使用者如果圖個(gè)省事,所謂的灰度發(fā)布,一次性的更新成千上萬臺(tái)服務(wù)器,那么工具就不僅沒有產(chǎn)生效率,反而變成了幫兇(就像刀磨快了,反而變成殺人利器)。
究其本質(zhì)而言,灰度其實(shí)就是一種制度和意識(shí)。是希望通過灰度,喚醒人的安全意識(shí)。如果操作人員,不能覺悟到這一點(diǎn),就是死路一條。
三、怎么規(guī)避人為事故?
在生產(chǎn)系統(tǒng)上更新版本(特別是如果沒有同等模擬環(huán)境的話),就像在高速公路上換輪胎,各中危險(xiǎn),不一而足,特別是服務(wù)了成千上萬臺(tái)物理機(jī)的大系統(tǒng)而言。
人為事故的出現(xiàn)往往不是個(gè)例,是長期積累的結(jié)果,單個(gè)人為事故往往也只是呈現(xiàn)了問題的冰山一角而已。人為事故,是必然而非偶然。
想要有機(jī)會(huì)徹底的解決人為事故,建議從如下幾方面著手。
1.選擇合適的人
選好人,往往能做到事半功倍,反之亦然。
管理學(xué)的重要原則之一是發(fā)揮人的優(yōu)勢,盡量不要嘗試著去改變一個(gè)人。特別是對于一線生產(chǎn)系統(tǒng)的操作崗位(其實(shí)非常重要)而言,找到合適的人,比什么都重要。
運(yùn)維的首要工作職責(zé)是穩(wěn)定性。因此需要找性格老實(shí)、謹(jǐn)小慎微的人來做更加合適。性格毛糙,甚至容易“幻聽”的人,明顯不合適,畢竟,“常在河邊走,哪能不濕鞋”。
為什么非得要讓二把刀來開飛機(jī)呢?
德才兼?zhèn)涫钦?。這里所謂的才就是技術(shù),德是人的德行、行為和意識(shí)。道和德是相通的,運(yùn)維人員的意識(shí)增強(qiáng)了,綜合能力提高了,規(guī)范了,是可以避免一些問題的。
這里順序很重要,直接從規(guī)范切入,往往是失敗的開始。需要首先提高意識(shí)水平,然后順勢而為。而不是生猛切入。
2.培養(yǎng)安全意識(shí)
“對運(yùn)維操作要有敬畏之心”。這句話應(yīng)該作為警世恒言,掛在每一個(gè)運(yùn)維人員的心頭。
腦子里牢記安全意識(shí),比死記硬背規(guī)章制度更重要(當(dāng)然,首先需要有規(guī)章制度)。
運(yùn)維制度及規(guī)范體系的最大意義在于,控制死角可能的影響。每一次事故,都是一個(gè)盲點(diǎn)、一個(gè)死角又被發(fā)現(xiàn)的過程。運(yùn)維最難之處在于,不可能做到?jīng)]死角。
規(guī)范制度肯定落后于問題。為了規(guī)范而規(guī)范不是目的,根據(jù)訴求控制風(fēng)險(xiǎn)的規(guī)范,才是有意義的。
誠然,“安全沒有捷徑,該踩的雷都會(huì)踩到。”但這不是借口,不是免死金牌。同理,用技術(shù)來保障技術(shù),也是不可取的。
讓每一個(gè)運(yùn)維人員腦海里都緊繃著安全這根弦,比什么都重要。畢竟,死角永遠(yuǎn)都存在。只能用未知來解決已知,而不是反之。
3.讓專業(yè)變成一種習(xí)慣
先哲亞里士多德曾說:“人的行為總是一再重復(fù)。因此,卓越不是單一的舉動(dòng),而是習(xí)慣。”
單次的刺激無法形成習(xí)慣,單次過猛的刺激,只會(huì)形成恐懼,變得畏手畏腳。
專業(yè)是否變成一種習(xí)慣,往往更多取決于管理者。因?yàn)楣芾碚吒芊智宄?,哪些是重要緊急,哪些是不重要不緊急。專業(yè)首先應(yīng)該是管理者的一種習(xí)慣,然后時(shí)時(shí)傳遞不松懈。
管理者應(yīng)該選對人,然后對于有重大操作權(quán)限的人員,經(jīng)常性的溫習(xí)各類故障、事故,采取各種辦法,讓員工時(shí)刻具備安全意識(shí),真正認(rèn)識(shí)到責(zé)任重大。
“警鐘常鳴”,各種震撼人心的模擬演練、演習(xí)和培訓(xùn),也必不可少。
需要樹立檢查人機(jī)制,建立一個(gè)好的團(tuán)隊(duì)工作習(xí)慣,“結(jié)對運(yùn)維”:
沒有檢查崗,單槍匹馬做事情,平時(shí)還好,在情況復(fù)雜時(shí),個(gè)人情緒波動(dòng)和精神壓力都可能非常大,容易錯(cuò)誤決策,或使出“昏招”。
另外補(bǔ)充說下:對于公有云而言,如果參與云保險(xiǎn),這對于終端用戶而言也是幸事。畢竟云廠商的賠償,即使100倍又能多少呢?業(yè)務(wù)的損失,如果由第三方保險(xiǎn)公司來做些承當(dāng),應(yīng)該更好。
路漫漫其修遠(yuǎn)兮,吾將上下而求索。謹(jǐn)以此句,和天下運(yùn)維同仁共勉。一起加油。
如何一起愉快地發(fā)展
“高效運(yùn)維”公眾號(hào)(如下二維碼)值得您的關(guān)注,作為高效運(yùn)維系列微信群(國內(nèi)領(lǐng)先的運(yùn)維垂直社區(qū))的唯一官方公眾號(hào),每周發(fā)表多篇干貨滿滿的 原創(chuàng)好文:來自于系列群的討論精華、運(yùn)維講壇精彩分享及群友原創(chuàng)等。“高效運(yùn)維”也是互聯(lián)網(wǎng)專欄《高效運(yùn)維最佳實(shí)踐》及運(yùn)維2.0官方公眾號(hào)。
重要提示:除非事先獲得授權(quán),請?jiān)诒竟娞?hào)發(fā)布2天后,才能轉(zhuǎn)載本文。尊重知識(shí),請必須全文轉(zhuǎn)載,并包括本行及如下二維碼。