edmond
是quora
的元老級工程師,他曾帶領工程團隊應對使用者的高速增長,開發核心元件,並為新入職的工程師提供指導和入職說明,同時協調工程實習計畫。此前,他曾服務於
ooyala
的搜尋質量團隊。不久前,他在自己的部落格上發布了一篇文章《
成功劇本
——關於工程,我們從橄欖球教練身上能學到什麼》。
edmond
認為:我們可以採納
walsh
的寫劇本策略,將決策制定過程從高壓或是高風險情形轉移到更受控的環境中。以此,就可減少感情蒙蔽我們的判斷,或是時間重壓
在我們頭上之類的狀況。作為工程師,我們甚至可以編寫程式劇本,模擬我們的響應,還要測試,以保證劇本足夠健壯。 在
edmond
看來:
這在大型工程組織中尤為重要,因為任何可能出問題的基礎設施都會出問題。
接下來,
edmond
列舉了一些大型技術公司的例子,說明他們如何在正常時期模擬系統失敗和災難,以應對非常情況: ·
2006
年時,我還在
工作。google
每年都有持續多日的
「災難恢復測試(
diaster recoverytesting - dirt)」
活動。在
dirt
演練中,公司會模擬諸如**、颶風之類的災難,並驗證在斷電或者整個資料中心或辦公室出現故障中,團隊、溝通和關鍵系統能否
保持正常運轉。這個演練會發現單點故障、不可靠的故障切換、過時的應急計畫、或是其他沒有預料到的錯誤,還能幫助團隊在受控環境下處理這些問題,同時沒有
在真正的緊急時刻面對的恐慌和壓力。 ·
netflix
構建了chaos monkey
系統,可以隨機關閉自己基礎設施中的服務。直接宕掉自己系統中的服務,這看起來好像有違常理,但是他們的配置可以在平時的正常工作時間殺掉服
務,工程師因此可以在辦公室裡面直接發現架構上的問題,而不是在半夜被叫起來。他們在部落格上這麼說:
「應對重大未知失敗的最佳防守,就是經常失敗。」
·dropbox
的工程團隊常常為自己的系統增加額外模擬負載。如果他們發現某些系統達到極限、出現問題,他們就能關閉模擬負載,解決問題。相比面對真實的生產環境再去救火,這樣的壓力要小得多,畢竟生產環境的流量無法直接關閉。
edmond
對上述例子做了總結:
工程組織會假設不可預期和不希望的事情總會發生,他們的策略是:在正常時期,最好先針對這些情況做規劃、寫劇本,而不是等到事情不可控制時再去處理。
即使與基礎設施不相干,在我們的職業生涯中,也會遇到其他高風險、高壓力的事情,比如面試、工資協商等等,沒那麼頻繁,但是充滿壓力,而且影響深遠。針對這些情形,寫劇本、做準備,是事半功倍之事。
在文末,
edmond
的kripa krishan
在acm
期刊上發表的《
經受不可預期的考驗》
↩* netflix
的john ciancutti
在netflix
技術團隊部落格上發表的《
我們使用
aws得到的
5個教訓
》* netflix
的cory bennett
和ariel tseitlin
在netflix
技術團隊部落格上發表的《
放到野外的
chaosmonkey
》* dropbox
的rajiv eranki
發表的《
在dropbox
學到的擴充套件經驗,第一部分》。↩
edmond lau
還在撰寫一本《高效工程師手冊》,感興趣的同學可以。
infoq
中文站此前發布過兩篇新聞,介紹了豆瓣和下廚房遇到的真實問題: ·
那些年我們犯過的錯(一)
——豆瓣
xupeng
:補齊那丟失的三分鐘資料
·如何恢復丟失的兩個月資料
——「下廚房
」技術團隊分析總結
6.26
資料庫事故
傳統運維團隊轉型應該注意哪些問題?
2018年已經接近尾聲,回顧這一年,國內企業都在進行數位化轉型,大家越來越關注如何提公升效率。在這一過程中,顛覆性的it技術正在加速落地 容器技術 kubernetes的使用已經越來越普及,雲計算和大資料結合更緊密,aiops的實踐也在不斷成熟改善,雲原生和devops的理念文化也在慢慢滲透到大小規...
傳統運維團隊轉型應該注意哪些問題?
2018年已經接近尾聲,回顧這一年,國內企業都在進行數位化轉型,大家越來越關注如何提公升效率。在這一過程中,顛覆性的it技術正在加速落地 容器技術 kubernetes的使用已經越來越普及,雲計算和大資料結合更緊密,aiops的實踐也在不斷成熟改善,雲原生和devops的理念文化也在慢慢滲透到大小規...
論反饋資訊如何推動 IT 運維團隊進步?
我們還記得 快樂大本營 中經典遊戲 快樂傳真嗎?遊戲規則是 很多人站一排,只有第乙個人才看到最準確的資訊,用東西隔著,戴耳機,一一將從前乙個人獲得的資訊傳遞下去,最後乙個人說出推測的資訊。但是往往最後乙個人說出的答案五花八門,基本上和第乙個人說的內容完全不搭邊!回憶這個遊戲主要是為了告訴大家,資訊在...