順豐該不該開除刪庫的運維工程師爆办?

作為極少數(shù)既?drop?過生產(chǎn)庫难咕,也?rm -rf /?過線上服務(wù)器的過來人,我覺得自己很有必要站出來說點什么距辆。

1余佃、事件還原

本次事件流出的是一封順豐內(nèi)部通報郵件,大概描述了一位鄧姓工程師因操作不當(dāng)而導(dǎo)致數(shù)據(jù)丟失挑格、業(yè)務(wù)停擺的事故咙冗,郵件內(nèi)容如下:

鄧某錯選了 RUSS 數(shù)據(jù)庫,打算執(zhí)行刪除的 SQL漂彤。在選定刪除時雾消,因其操作不嚴(yán)謹,光標(biāo)回跳到 RUSS 庫的實例挫望,在未看清所選內(nèi)容的情況下立润,便通過 delete 執(zhí)行刪除,同時鄧某忽略了彈窗提醒媳板,直接回車桑腮,導(dǎo)致?RUSS 生產(chǎn)數(shù)據(jù)庫被刪掉。

因運維工作人員不嚴(yán)謹?shù)牟僮黩刃遥瑢?dǎo)致 OMCS 運營監(jiān)控管控系統(tǒng)發(fā)生故障破讨,該系統(tǒng)上臨時線上發(fā)車功能無法使用并持續(xù)了 590 分鐘。

…… 此次故障導(dǎo)致業(yè)務(wù)產(chǎn)生了嚴(yán)重的負面影響奕纫。

……根據(jù)《獎勵與處罰管理規(guī)定3.0》……對直接責(zé)任人鄧XXX予以解除勞動合同處罰提陶,并予以順豐科技全網(wǎng)通報批評。

以上描述得有些專業(yè)了匹层,非技術(shù)人員理解起來可能有點困難隙笆,我來給大家用白話翻譯一下:

小鄧是一名年輕的程序員,干起活來手特別快,平時敲打鍵盤如狂風(fēng)暴雨一般撑柔,一般人的眼睛根本跟不上他的操作瘸爽。然而跑得越快、摔得越慘铅忿,終于有一天剪决,他在做危險操作的時候因為手快發(fā)生了失誤,刪除了重要的工作數(shù)據(jù)辆沦,讓公司的系統(tǒng)癱瘓了十個小時昼捍。結(jié)果他被開除了识虚,還被全公司通報批評肢扯。

好了,事情的經(jīng)過就是這樣担锤。接下來我再從技術(shù)角度分析一下蔚晨。從“導(dǎo)致RUSS 生產(chǎn)數(shù)據(jù)庫被刪掉”這句話來看,小鄧應(yīng)該做的是?drop?(卸載庫) 操作肛循,而不是?delete?(刪除數(shù)據(jù)) 操作铭腕。根據(jù)我的經(jīng)驗和理解,事情大概率是這樣的:

聲明:以下所述只是我個人的揣測多糠,很可能不是事實累舷!

很明顯,小鄧想把生產(chǎn)環(huán)境的數(shù)據(jù)庫的數(shù)據(jù)搬到測試環(huán)境里夹孔。定期將生產(chǎn)數(shù)據(jù)同步到測試環(huán)境被盈,這是一個非常常見且高頻的需求。如果數(shù)據(jù)結(jié)構(gòu)不同搭伤,代碼就跑不起來只怎;如果數(shù)據(jù)不新不真,產(chǎn)品經(jīng)理也不好評估新產(chǎn)品的效果怜俐。

做數(shù)據(jù)同步和遷移有很多種方法身堡,其中最方便快捷、簡單粗暴的方法就是:

把線上的數(shù)據(jù)庫?dump(打包) 成一個文件

把這個文件下載到測試環(huán)境的機器上

在測試環(huán)境?drop?(卸載)現(xiàn)有的庫

用文件中的數(shù)據(jù)重建新的庫

很明顯拍鲤,事故發(fā)生在第三步贴谎,也就是:本應(yīng)在測試環(huán)境執(zhí)行的 drop 操作,在生產(chǎn)環(huán)境被執(zhí)行了季稳。

如果是第一次做這樣的操作擅这,我相信任何有基本職業(yè)操守的人都會非常小心的。從小鄧“忽略了彈窗提醒绞幌,直接回車”來看蕾哟,他對整個操作流程是非常熟練的,當(dāng)天他一定是已經(jīng)做了很多次這樣的操作。

我大膽地猜測:小鄧同學(xué)是在?熬夜加班 / 臨近飯點 / 老婆催回家 / ……?之類的狀態(tài)下谭确,無心犯下這個錯誤的帘营。

2、問題到底出在哪里逐哈?

既然問題出現(xiàn)了芬迄,我們就得搞清楚以下三個問題:

Why:導(dǎo)致問題的根本原因究竟是什么?

How: 怎么避免以后再發(fā)生類似的問題昂秃?

What:現(xiàn)在我們應(yīng)該做些什么禀梳?

我們先來研究一下,導(dǎo)致本起事故的根本原因到底是什么肠骆?真的是小鄧?粗心大意算途、一味求快么?

對任何已有結(jié)論的問題蚀腿,都應(yīng)該進行自己的獨立思考嘴瓤,這樣才不會人云亦云,掉入思維陷阱里莉钙。

在未看清所選內(nèi)容的情況下廓脆,便通過 delete 執(zhí)行刪除……

同時鄧某忽略了彈窗提醒,直接回車

這一部分沒得說磁玉,100%是小鄧的問題停忿。不看提醒直接默認選擇,這是一個非常不好的習(xí)慣蚊伞。應(yīng)該有很多人在Windows里刪除文件時因為懶得再去清回收站席赂,就直接Shift+Delete然后回車的吧?肯定還有嫌每次彈個對話框麻煩厚柳,干脆設(shè)置成“不提醒確認”的吧氧枣?那一旦刪錯了,就能去求助Rstudio之類的數(shù)據(jù)恢復(fù)軟件别垮,至于能不能找回來便监,就只能聽天由命了。

做開發(fā)和運維的人理應(yīng)知道數(shù)據(jù)的重要性碳想,在對數(shù)據(jù)做?drop烧董、delete?等無法撤銷的危險操作時要慎之又慎,一定要反復(fù)檢查胧奔,最好找人結(jié)對和review逊移。

鄧某錯選了 RUSS 數(shù)據(jù)庫,打算執(zhí)行刪除的 SQL龙填。

在選定刪除時胳泉,因其操作不嚴(yán)謹拐叉,光標(biāo)回跳到 RUSS 庫的實例……

順豐有 DBA 嗎?運維同學(xué)為什么竟然有權(quán)限操作生產(chǎn)數(shù)據(jù)庫扇商?生產(chǎn)環(huán)境和測試環(huán)境為什么不進行嚴(yán)格的隔離凤瘦??執(zhí)行線上危險操作時,為什么不安排雙人結(jié)對或者review案铺?同步數(shù)據(jù)這種高頻操作為什么沒有做成腳本或服務(wù)蔬芥,而是靠容易出錯的人工來執(zhí)行?

當(dāng)然控汉,順豐體量雖大笔诵,但畢竟并不是一家互聯(lián)網(wǎng)公司,可能工程師數(shù)量還不及業(yè)內(nèi)一家小型創(chuàng)業(yè)公司姑子。在這種情況下乎婿,一人多用、權(quán)限混亂也是可以理解的常態(tài)壁酬。但對于數(shù)據(jù)十分重要次酌、服務(wù)絕對不能停的業(yè)務(wù)恨课,CTO和項目leader舆乔,應(yīng)該對員工可能出現(xiàn)的操作失誤設(shè)計預(yù)先防范的措施和制度,否則就是失職剂公。當(dāng)你的業(yè)務(wù)有可能因為員工一個小失誤就癱瘓希俩,甚至數(shù)據(jù)無法找回導(dǎo)致公司關(guān)門時,你怎么還睡得著覺纲辽?

在照顧孩子的時候颜武,我學(xué)到的最重要的道理就是:如果有樣?xùn)|西不能讓孩子玩,那就不能放在孩子夠得著的地方拖吼。?如果你是一名銷售鳞上,剛簽完一個大客戶,興高采烈地回到家里吊档,把合同扔到茶幾上篙议,然后沖進洗手間上了個廁所回來,就發(fā)現(xiàn)合同被你家熊孩子用筆涂得一塌糊涂怠硼,你覺得是該怪孩子調(diào)皮呢鬼贱,還是該怪你自己不小心?

綜上所述香璃,我認為雖然小鄧的誤操作是本次事故的直接原因这难,但順豐公司對明顯的安全隱患視而不見,在權(quán)限管理葡秒、風(fēng)險控制姻乓、流程設(shè)計上存在重大缺陷嵌溢,才是本次事故的根本原因。

3蹋岩、順豐到底該不該開除小鄧堵腹?

如果找不到問題的根本原因,在錯誤的方向上再怎么努力星澳,也不可能找到解決方案疚顷。相反,只要找到了正確的原因禁偎,解決方案也就自動呈現(xiàn)腿堤。所以,我們就不浪費時間來討論如何避免再發(fā)生類似事故了如暖。

現(xiàn)在最有爭議的話題就是:順豐到底怎么處理本次事件才是合理的笆檀?

小鄧因工作失誤,給公司帶來了巨大的損失盒至,這是客觀事實酗洒。而小鄧作為個人是無力賠償公司損失的,順豐公司作為非國家單位枷遂,能動用最高級別的懲罰就只有開除樱衷。我相信,順豐這么大的公司酒唉,作出開除并通報批評這個決定矩桂,應(yīng)該是經(jīng)過激烈的討論的。最終決策者還是決定殺雞儆猴痪伦,以儆效尤侄榴。從法律的角度上講,順豐有權(quán)這么做网沾;從道德的角度上講癞蚕,順豐的立場也沒有問題。

可是辉哥,為什么業(yè)內(nèi)對這個處理結(jié)果會出現(xiàn)如此大的反應(yīng)呢桦山?因為順豐在處理的過程中呈現(xiàn)了一副冷冰冰的姿態(tài),在事故原因分析中把所有責(zé)任推卸到員工頭上证薇,對公司制度的缺失及領(lǐng)導(dǎo)者的失職只字不提度苔,實在讓人心寒。

定義為人的問題浑度,那就只能解決人寇窑,卻解決不了問題。開除了一個小鄧箩张,卻不在權(quán)限設(shè)計甩骏、流程管控上下功夫窗市,那還一定還會有小王、小張們前仆后繼地繼續(xù)出同樣的問題饮笛。也許現(xiàn)在風(fēng)聲緊咨察,大家都會對安全格外注意,但不會持續(xù)多久福青。

定義為程序和制度的問題摄狱,才能從根本上解決問題。順豐本來可以保留一個忠心耿耿无午、加薪欲望低的好員工媒役,同時呈現(xiàn)出包容錯誤的正能量企業(yè)文化,收買大片人心宪迟。但是現(xiàn)在順豐的員工們會怎么想呢酣衷?原來公司沒有把我們當(dāng)人看,我們只是隨時可以更換的螺絲釘次泽,出了問題就走人穿仪,就算是機器出了問題,我們也得當(dāng)背鍋俠意荤。

對小鄧來說啊片,被開除反而是一個好消息。?有過這么一次慘痛的經(jīng)驗教訓(xùn)袭异,估計小鄧一輩子都不會再犯刪除線上庫這種錯誤了钠龙。我們都知道人的價值是由稀缺性決定的,擁有小鄧這樣有經(jīng)驗的人可謂是少之又少御铃。小鄧現(xiàn)在出了名,一定會有N多公司給他拋出橄欖枝沈矿,會有更好的機會等待著他上真。相反,如果順豐沒有開除小鄧羹膳,他一定會因為內(nèi)疚而對工作更加盡職盡責(zé)睡互,短期也不會選擇跳槽。交了這么高學(xué)費的人陵像,怎么能放他走就珠,便宜別的公司呢?

開除了一個大有前途的員工醒颖,順便傷了全公司的人的心妻怎,還引發(fā)業(yè)界口誅筆伐,帶動股價下跌泞歉。順豐這次真是賠到姥姥家了逼侦。

4匿辩、我自己經(jīng)歷的drop事故

我2011-2013年在微拍工作期間,既犯過?drop?線上庫的錯誤榛丢,也犯過?rm rf /?線上服務(wù)器的錯誤铲球。其中drop線上庫的經(jīng)過,跟小鄧基本上是一模樣的晰赞。我后來寫了一篇博客來反思磷支,直接上圖吧:

感謝當(dāng)時的boss胡震生不僅給了我足夠的包容,還為我開導(dǎo)排解融蹂,幫我學(xué)習(xí)和成長贷腕。痛定思痛細查原因,通過技術(shù)手段根治锨用,從此再沒有犯過這兩個錯誤丰刊。

對我 rm rf / 的經(jīng)歷感興趣的朋友,可以查看我的博客文章:《欲速則不達》http://zhangshenjia.com/it/slow-down/

5增拥、后話

人是靠不住的啄巧,因為人會變、會離開掌栅。只讓員工成長秩仆,卻不讓系統(tǒng)成長,結(jié)果就是經(jīng)驗都沉淀到了員工自己身上猾封,當(dāng)員工離職時就帶走了所有澄耍,公司一無所獲。

系統(tǒng)才是唯一能永遠留在公司內(nèi)部的資源晌缘。真正優(yōu)秀的員工齐莲,會想方設(shè)法來迭代系統(tǒng),即便自己離開也能高效運轉(zhuǎn)磷箕。而那種讓自己變得不可或缺选酗,離開之后系統(tǒng)便不可持續(xù)運轉(zhuǎn)的員工,其實是最大的隱患岳枷。

我又要說我的口頭禪了:一個人的價值芒填,不在于他得到過什么;而在于他給這個世界留下了什么空繁。

祝各位朋友中秋節(jié)愉快殿衰!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市盛泡,隨后出現(xiàn)的幾起案子闷祥,更是在濱河造成了極大的恐慌,老刑警劉巖饭于,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜀踏,死亡現(xiàn)場離奇詭異维蒙,居然都是意外死亡,警方通過查閱死者的電腦和手機果覆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門颅痊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人局待,你說我怎么就攤上這事斑响。” “怎么了钳榨?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵舰罚,是天一觀的道長。 經(jīng)常有香客問我薛耻,道長营罢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任饼齿,我火速辦了婚禮饲漾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缕溉。我一直安慰自己考传,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布证鸥。 她就那樣靜靜地躺著僚楞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枉层。 梳的紋絲不亂的頭發(fā)上泉褐,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音返干,去河邊找鬼兴枯。 笑死,一個胖子當(dāng)著我的面吹牛矩欠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悠夯,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼癌淮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沦补?” 一聲冷哼從身側(cè)響起乳蓄,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎夕膀,沒想到半個月后虚倒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體美侦,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年魂奥,在試婚紗的時候發(fā)現(xiàn)自己被綠了菠剩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耻煤,死狀恐怖具壮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哈蝇,我是刑警寧澤棺妓,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站炮赦,受9級特大地震影響怜跑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吠勘,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一性芬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧看幼,春花似錦批旺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棚唆,卻和暖如春暇赤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宵凌。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工鞋囊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瞎惫。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓溜腐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓜喇。 傳聞我的和親對象是個殘疾皇子挺益,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容