生產環境出現事故,開發和運維都有責任,到底該誰背鍋

發生一檔子事情,公司技術團隊之中有兩個部門,一個開發一個運維,開發負責公司項目軟件項目實現,運維負責項目運行生產環境服務器與數據的管理與維護。 前兩天生產環境發生一塊兒故障,項目依賴的redis服務器因爲內存不足而出現寫入故障,有一批用戶丟失了一小時的數據, 公司發出批評通告, 運維全責,運維部門涉事相關員工與領導通通被罰。程序員

 

爲何運維被罰,由於服務器內存不足會報警,向負責服務器的運維人員發出警告短信,運維人員收到警告後須要即便處理。 而此次事故服務器發出的警告不湊巧的被運維忽略,因而事故發生, 究其緣由是由於忽略警告,所以被罰。redis

 

這看起來彷佛在情理之中,被罰是理所應當,這是運維馬虎大意形成的惡果。但是不知道你們有沒有以爲奇怪,爲何Redis沒法寫入會形成用戶數據丟失,Redis只是一個緩存工具,理論上緩存數據丟失能夠經過磁盤持久存儲數據恢復。有的同窗推測可能緩存中的數據沒有同步至磁盤致使問題,事實上此次事故並不是同步數據失敗引發,甚至根本沒有緩存數據同步至持久存儲一說,由於項目的開發人員直接把Redis當成了持久存儲的數據庫,而沒有使用MySql之類的真正持久存儲數據庫。是否是很奇怪,竟然有人把內存數據庫當真正的數據庫使用,雖然Redis提供這個功能。這就是致使問題的根本緣由,持久存儲並不是Redis擅長,強行使用不但敗家,並且危險,用戶數據增加內存也要跟着漲,一旦跟不上Redis崩潰,程序故障,線上業務直接受到影響。數據庫

 

如今看起來,這起事故的責任開發人員也應該承擔部分,技術使用不當是致使問題的根源。但是我說了不算,公司的領導不吃這套, 畢竟觸發這起事故的直接緣由是運維忽略告警照成的,那這個責任沒有理由推脫給別人。緩存

 

一般在業務上犯錯會被追究責任,好比說此次事故運維被罰,而技術上犯的錯誤卻不會, 由於技術上的錯誤不容易被明肯定義,好比說問開發人員們爲何要將Redis當成數據庫,他們會有充足的理由,好比讓程序跑的更快,使用Redis的確能讓程序跑的更快,並且是必然。可以使用Redis當數據庫也存在一系列問題,好比不穩定,容易丟失數據等,這起事故即是證實,可這不是必然發生的,MySql也會丟失數據,關鍵是要看如何避免,這即是開發人員使用Redis的充足理由,同時也不會被認爲是在範錯誤,他們是爲了讓程序得到更好的性能,這應該受到獎勵而不是處罰,可實際上使用Redis當數據庫就是在犯技術上的錯誤,就像你開個跑車去跟越野車去山路上跑比賽,你說你開跑車是爲了跑贏,可卻隨時會有車毀人亡的危險, 由於跑車不適合開山路,Redis也一樣不適合作數據庫。服務器

 

如今不少程序員對於技術的選擇並不以解決問題爲目的,有時候他們會爲了使用技術而選擇技術,就比如Redis,由於不少大公司都在使用,因此他們也非要在本身的項目中用一用,否則怎麼跟的上技術的步伐。他們把Redis研究的很精通,甚至連底層的C語言實現都會去研究,這是好事,可在項目中盲目使用就不對了,巴不得把全部存儲數據的地方都用Redis,至於適合不適合,他們不考慮。架構

 

而後隨着項目的進展,使用Redis當數據庫的問題漸漸暴露,他們意識到這方面Redis的確不如MySql,而後他們後悔了,可這個時候技術架構已經定型,要換成MySql須要花費極大的代價,若是項目已經上線則還要承擔風險,這種傷筋動骨的修改容易產生嚴重的bug,要保證既不影響進度又不改出bug是一項異常艱難的任務,因次開發人員們沒有勇氣邁出這一步去優化。框架

 

甚至於對於那些全新啓動可是沿用舊框架的項目他們也沒有動力與勇氣去改變,我經常聽他們說這樣一句話:舊的架構已經被證實是可用和穩定的,那麼咱們就沒有理由去改,若是新項目採用新架構卻沒有辦法應付業務, 出了問題誰負責。總而言之一句話,他們懼怕改變懼怕走出溫馨區。運維

 

而那些級別高一點的領導卻徹底不關注技術對項目的影響, 即便項目部門的領導也不關注,在他們眼裏業務是首當其衝,技術是細枝末節,他們對技術的要求是別拖項目的進度,生產環境別出嚴重的bug,若是出了那就以處罰的方式讓事故責任人牢記在心避免再犯,這即是他們應對技術問題惟一的措施。而後還總愛大言炎炎的張嘴流程優化閉嘴責任態度,卻歷來不會深刻技術部門去發現問題去督促改進,他們以爲這是技術主管負責的事情,這沒錯, 可要在技術主管靠譜的前提下,若是不靠譜那麼就容易發生悲劇,好比說此次事故。 而如今一般不少公司技術部門主管的工做更偏向因而督促員工完成需求保證進度的包工頭,至於技術選型和實現通通都要給進度讓路,主動改進技術問題,不存在的。工具

 

我就是以爲公司對於這件事情處理不公平才說這麼多,那些不懂技術的人只從問題的代表定義責任,而不是去從根本上解決問題,固然,他們的確不可能從根本上去解決問題, 由於他們根本沒發現問題。性能

相關文章
相關標籤/搜索