本文來自微信公眾號: 碳基智 ,作者:碳基智
1
我的好朋友,前阿里P9,架構(gòu)師華仔老師曾經(jīng)對負(fù)責(zé)穩(wěn)定性的程序員兄弟們做過一番評述,生動(dòng)地描繪了他們長久以來所面臨的窘境,他化用了扁鵲三兄弟的典故解釋了這個(gè)問題。
這里面存在一個(gè)“神醫(yī)悖論”,魏文侯問扁鵲三兄弟中誰的醫(yī)術(shù)最高明。扁鵲回答說:“長兄最善,中兄次之,扁鵲最為下。”扁鵲醫(yī)術(shù)精湛,神醫(yī)名聲遠(yuǎn)播,為什么扁鵲卻認(rèn)為大哥二哥比他強(qiáng)呢?
扁鵲解釋說:大哥治病于病發(fā)之前,一般人不知道他事先除去了病因,故而他的名氣無法傳出去;二哥治病于病情初發(fā)之時(shí),一般人以為他只能治輕微小病,故而他的名氣只及本鄉(xiāng)里;而扁鵲治病于病情嚴(yán)重之時(shí),所以他們認(rèn)為扁鵲的醫(yī)術(shù)最高明。
在建設(shè)高可用系統(tǒng)的時(shí)候,一樣會(huì)遇到“神醫(yī)悖論”。不管公司是有專門的SRE團(tuán)隊(duì),還是各個(gè)團(tuán)隊(duì)的直接負(fù)責(zé)系統(tǒng)高可用;也不管公司是為了可用性做了很多基礎(chǔ)系統(tǒng),還是各個(gè)團(tuán)隊(duì)靠人力來保障可用性,都會(huì)面臨這個(gè)問題:
你怎么證明你的可用性做得好?你的可用性投入是有很大價(jià)值的?
2
前一陣有在大廠做穩(wěn)定性模塊負(fù)責(zé)人的老哥跟我吃飯,席間吐槽聊到了最近公司要裁員,他必須解決掉至少2-3個(gè)人員指標(biāo)。
他很為難,因?yàn)楸緛矸€(wěn)定性相關(guān)的人手已經(jīng)捉襟見肘,還給他干掉2-3個(gè)人這平臺(tái)還要不要了,出事了最后不還是他背鍋,現(xiàn)階段的AI別說給他替代部分工作,就是別把本來就風(fēng)雨飄搖的穩(wěn)定性指標(biāo)搞崩都不錯(cuò)了。
他咬著牙跟我說:
靠!我都想把那幾個(gè)能力強(qiáng)的干掉,然后讓整個(gè)平臺(tái)都崩掉,我再帶著他們?nèi)?chuàng)業(yè)好了!
我呵呵笑了,一般這么說的人都只是口嗨,過重的職業(yè)道德包袱之下,根本做不出這種事來。
降本增笑的邏輯之下,每個(gè)負(fù)責(zé)穩(wěn)定性的程序員都是帝國的糊裱匠。
3
我的另一位朋友,B站的毛劍老師,在穩(wěn)定性這個(gè)圈子里已經(jīng)成為了一種另類的圖騰。
比如前兩年網(wǎng)易云音樂宕機(jī)之后,立馬有人翻出來該團(tuán)隊(duì)不久前所做的機(jī)房遷移方案,一通轉(zhuǎn)發(fā)給人搞得人盡皆知。
于是我寫了篇文章說,此情此景,毛老師可能打了個(gè)噴嚏。毛老師轉(zhuǎn)發(fā)了這篇文章說,勿cue。
穩(wěn)定性建設(shè)是一個(gè)不得不去做,卻又很難說做得有多好的事情。但技術(shù)團(tuán)隊(duì)費(fèi)了那么大的精力去做這個(gè)事,得讓老板們知道背后的工作價(jià)值,于是寫了一篇技術(shù)方案的總結(jié)文章。然后出事故了,被挖出來嘲諷,草臺(tái)班子再添一員。
心理苦啊。
4
如果要去總結(jié)穩(wěn)定性程序員的困境,我甚至可以羅列出9層:
1干得越好,績效越難寫
業(yè)務(wù)程序員靠制造變化獲得功勞,穩(wěn)定性程序員靠阻止變化失控證明價(jià)值。問題是,失控被阻止以后,功勞也一起消失了。
2責(zé)任無限,權(quán)限有限
典型的權(quán)責(zé)倒掛,業(yè)務(wù)團(tuán)隊(duì)獲得快速上線的局部收益,但潛在故障成本被轉(zhuǎn)移給穩(wěn)定性、客服、運(yùn)營和值班人員。
3永遠(yuǎn)困在救火-沒時(shí)間做穩(wěn)定性改造-繼續(xù)救火的循環(huán)里
大廠嘴上招的是穩(wěn)定性工程師,實(shí)際使用方式卻像一支永遠(yuǎn)在線的技術(shù)物業(yè)。
4自動(dòng)化越成功,剩下的事故越變態(tài)
自動(dòng)化本身就存在一個(gè)經(jīng)典悖論,當(dāng)日常、簡單、重復(fù)的問題被機(jī)器處理以后,人類要接管的往往都是那些沒接住可以直接跑路的P0事故。
5值班不只消耗時(shí)間,還有持續(xù)性的警覺
墨菲定律有言,如果有可能發(fā)生事故,事故就一定會(huì)發(fā)生。但如果程序員始終處在睡覺不敢靜音,下班不敢不帶電腦,洗澡還要拿著手機(jī)的狀態(tài)里,最終都是對人的持續(xù)性消耗。
6復(fù)盤號稱無責(zé),實(shí)際經(jīng)常開成批斗大會(huì)
無責(zé)復(fù)盤往往只是開場白,就像一句體制內(nèi)的原則上同意一樣,你知道什么意思。當(dāng)事故復(fù)盤與績效處罰綁定以后,復(fù)盤的目標(biāo)就不再是尋找系統(tǒng)崩潰的真相,而是找到一個(gè)能背鍋的小可愛。
7懂得很多,簡歷卻不好寫
優(yōu)秀的穩(wěn)定性工程師啥都要懂,網(wǎng)絡(luò)、數(shù)據(jù)庫、操作系統(tǒng)、分布式系統(tǒng)、中間件……但寫簡歷的時(shí)候,卻很難精準(zhǔn)地向用人市場展示出自己的價(jià)值。
8經(jīng)常吃力不討好,被業(yè)務(wù)團(tuán)隊(duì)厭惡
穩(wěn)定性團(tuán)隊(duì)要搞好穩(wěn)定性,就要收斂權(quán)限,要增加管控,要搞壓測,要暫緩上線……業(yè)務(wù)團(tuán)隊(duì)往往認(rèn)為其存在對自己是一種卡點(diǎn)。但,一旦放行,事故要負(fù)責(zé);不放行,又會(huì)被diss。
9 AI正在把穩(wěn)定性工程師變成屎山管理員
上游借助AI一天可以生成過去一周的代碼量,下游仍要靠人類逐行審查、建立監(jiān)控、處理依賴和承擔(dān)線上后果。
寫代碼的人提效了,審代碼的人擁堵了,處理事故的人加班了。
你說他們苦不苦。
