《運(yùn)維全球最大游戲網(wǎng)站過程中積累的SRE經(jīng)驗(yàn)》要點(diǎn):
本文介紹了運(yùn)維全球最大游戲網(wǎng)站過程中積累的SRE經(jīng)驗(yàn),希望對您有用。如果有疑問,可以聯(lián)系我們。
作者 |:Ian Miell
翻譯:大愚若智
作者 Ian Miell 通過本文探討了自己在全球最大在線游戲網(wǎng)站的站點(diǎn)可靠性運(yùn)維工作中積累的經(jīng)驗(yàn).本文最初發(fā)布于 Ian Miell 的博客,經(jīng)原作者授權(quán)由 InfoQ 中文站翻譯并分享.
概述
多年來,我負(fù)責(zé)管理著很多全球最大在線游戲網(wǎng)站的站點(diǎn)可靠性運(yùn)維工作,通過一家不怎么知名的公司構(gòu)建并運(yùn)行著很多公司的后端在線軟件,這些公司的業(yè)務(wù)在峰值期間可以輕松產(chǎn)生每小時(shí)數(shù)千萬英鎊的收入.幾年前我從這家公司離職了,現(xiàn)在可以談?wù)勎以谶@段工作中積累的經(jīng)驗(yàn).
從很多方面來看,我們的工作類似于一種 SRE 職能(就把我們也稱作 SRE 吧,不過當(dāng)時(shí)并沒有這樣的稱呼).我們需要隨時(shí)待命,需要對各種事件做出響應(yīng),需要對重構(gòu)提供建議,需要為開發(fā)者和客戶團(tuán)隊(duì)提供詳細(xì)的反饋,需要管理升級上報(bào)的事件和緊急情況,需要運(yùn)行監(jiān)視系統(tǒng),等等等等.
我所在團(tuán)隊(duì)有大約 5 名工程師(都曾任開發(fā)者和技術(shù)領(lǐng)導(dǎo)者角色),但在我離開時(shí),已經(jīng)增長為一個(gè) 50 人左右的跨地域團(tuán)隊(duì),大家在不同領(lǐng)域有著豐富的經(jīng)驗(yàn).
本文將重點(diǎn)介紹我們的流程和文檔,因?yàn)槲矣X得人們對這些內(nèi)容的效用談的還不夠深入.
如果你還想進(jìn)一步了解這個(gè)概念,建議閱讀 Google 的 SRE 手冊.
流程
流程對 SRE 運(yùn)維的順利進(jìn)行和升級上報(bào)至關(guān)重要,這是我們所有成果的核心.在我加入那個(gè)團(tuán)隊(duì)時(shí),當(dāng)時(shí)大家的習(xí)慣很糟糕:雖然有一個(gè)工單系統(tǒng),但對于解決方法的“一句話記錄”情況極為常見(“網(wǎng)站宕機(jī),修復(fù),結(jié)單”).
SRE 運(yùn)維基本上類似于一種處理信息,并酌情執(zhí)行操作的工廠.工廠的正常運(yùn)轉(zhuǎn)需要通過一定的流程實(shí)現(xiàn)貨物的運(yùn)轉(zhuǎn),同理,知識密集型的 SRE 運(yùn)維也需要妥善處理知識的流轉(zhuǎn).
在流程方面,我聽到最多的一個(gè)異議是這種做法會(huì)“抑制創(chuàng)新”.實(shí)際上,有效的流程可以幫助我們通過更清晰的思路實(shí)現(xiàn)創(chuàng)新(但未能妥善實(shí)現(xiàn)的糟糕流程會(huì)搞砸一切!).
關(guān)于這個(gè)主題有一本很不錯(cuò)的書:清單革命,我們工作中的很多改進(jìn)都受到這本書的啟發(fā),團(tuán)隊(duì)成員都曾認(rèn)真拜讀.本書引用了航空業(yè)實(shí)現(xiàn)這一流程的方法作為范例,航空業(yè)曾通過智能的自動(dòng)化例行操作在巨大的壓力下實(shí)現(xiàn)了非凡創(chuàng)新.書中討論過的一個(gè)事件甚至被拍成了電影,飛行員稱這主要?dú)w功于 檢查清單機(jī)制和例行操作 幫助自己通過快速思考實(shí)現(xiàn)了創(chuàng)新,并在面臨巨大壓力的情況下重新獲得了控制能力.實(shí)際上,我們自己也使用了一種類似的流程:緊急情況下,由有經(jīng)驗(yàn)的工程師負(fù)責(zé)深入研究查找解決方案,與此同時(shí),資歷淺的工程師則按照檢查清單進(jìn)行逐項(xiàng)排查.
關(guān)于流程,還有另外一種看法認(rèn)為,流程會(huì)抑制工作和協(xié)作的效用.如果將流程視作一種因其本身的存在,而非其他實(shí)際效果就認(rèn)為合理的實(shí)體,這種看法當(dāng)然是沒錯(cuò)的.唯一能夠防范這種錯(cuò)誤認(rèn)識的恰恰是企業(yè)文化.下文還將詳細(xì)探討.
過程 – 工具的選擇
先需要準(zhǔn)備一個(gè)合適的工單系統(tǒng).與監(jiān)視解決方案類似,很多人往往糾結(jié)于到底哪個(gè)工單系統(tǒng)才是最好的.這種想法本身就是錯(cuò)誤的.在選擇工單系統(tǒng)時(shí),最終的選擇將更加側(cè)重于熟悉與否.如果所選工單系統(tǒng)會(huì)產(chǎn)生或促進(jìn)不好的流程,那么這樣的系統(tǒng)無疑是最糟糕的.但糟糕的流程到底什么樣,這取決于業(yè)務(wù)本身.
更重要的是選擇一個(gè)功能穩(wěn)定,并且能比其他選項(xiàng)更好地為流程提供支持的工單系統(tǒng).
這方面有個(gè)例子.在我任職期間,我們從 RT 更換為 JIRA.相比 RT,JIRA 提供了更多優(yōu)勢,通常我都會(huì)建議選擇 JIRA 作為協(xié)作工具.然而我們更換后遇到的最大問題在于,JIRA 缺少我們在 RT 中構(gòu)建的某些功能,而這些功能是我們必須的.RT 可以讓我們實(shí)時(shí)更新工單,這意味著我們可以在聊天和分配工單的過程中直接針對具體事件進(jìn)行協(xié)作.相關(guān)記錄對事后審查工作非常重要.RT 還使得我們可以將某些內(nèi)容對客戶隱藏起來,這樣的功能也是我們很難舍棄的.雖然克服了這些問題,但這些功能依然非常重要,因?yàn)樗鼈円呀?jīng)融入到我們的流程和文化中.
在選擇或更換工單系統(tǒng)時(shí),必須考慮對運(yùn)維來說什么才是真正重要的,而不要考慮那種在功能清單上看起來很漂亮的具體功能.對你而言,到底什么最重要,這取決于各種因素,從看起來是否漂亮(說真的,如果你的品牌更有設(shè)計(jì)感,客戶也會(huì)更重視你)到報(bào)表功能是否足夠強(qiáng)大,各種原因不一而同.
文檔
除了流程,文檔也是很重要的東西,這兩者是密切相關(guān)的.
關(guān)于文檔也足夠?qū)懕緯?因?yàn)樵S多人關(guān)注了錯(cuò)誤的方向.有一個(gè)重點(diǎn)需要明確:和其他內(nèi)容一樣,文檔本身也是一種資產(chǎn).與任何業(yè)務(wù)資產(chǎn)類似,文檔:
這些特點(diǎn)不存在任何爭議,很少有人會(huì)覺得足夠好的文檔不能提供巨大的幫助.重點(diǎn)在于:文檔工作該如何進(jìn)行?
文檔 – 我們原本處于怎樣的情況中
我們原本處于這樣的一種情況:我們所獲得的文檔沒什么用(例如開發(fā)人員提供的文檔說:“網(wǎng)絡(luò)分區(qū)并未覆蓋這里,因?yàn)檫@基本不可能實(shí)現(xiàn)”.你猜后來怎樣!而就算這樣的文檔他們也寫得不情不愿……),或者我們只能依賴以前記錄下來的調(diào)查結(jié)果(這次我們終于詳細(xì)記錄了一切信息),借此確定下次遇到類似的問題之后該如何解決.
這種情況讓所有人感覺沮喪,在決定自行撰寫相關(guān)文檔前,我們還花了大量時(shí)間抱怨為啥沒有田螺姑娘來幫助我們.
文檔 – 我們做了什么
我們做了這些事.
上述活動(dòng)花了我七個(gè)月的全職工作時(shí)間.我是資深員工,由我坐在那里寫這些東西,耗費(fèi)了公司不小的成本.由于得到了老板的支持,他從未質(zhì)疑過這樣做是否值得.他很信任我(依然是文化的作用!).另外我得說,完成這一切四個(gè)月后,我的努力才獲得了回報(bào).現(xiàn)在想起來,那四個(gè)月時(shí)間真是不堪回首,我原本需要用于運(yùn)維的精力都被花在別人認(rèn)為無意義的事情上,無謂地浪費(fèi)了雇主發(fā)給我的工資,還遭遇了尷尬的失敗.
為什么不交給初級員工來做?有幾個(gè)原因.這件事太重要了,以前從未做過,因此我需要自行確認(rèn)具體做法是妥善無誤的.我完全清楚自己需要什么,因此親自做這事至少可以確保能得到對我來說最為有用的結(jié)果.我本人也是一個(gè)有經(jīng)驗(yàn)的作者(藝術(shù)學(xué)院畢業(yè),曾擔(dān)任記者),因此我覺得由自己來寫是一種更妥善的做法.
我們按照 ITIL 將其稱之為“事件模塊”,但其實(shí)也可以叫做“運(yùn)行手冊”、“小抄”之類的.名字不重要,重要的是:
我們將這些文檔以純文本形式保存在工單系統(tǒng)一個(gè)單獨(dú)的 JIRA 項(xiàng)目內(nèi).
文檔團(tuán)隊(duì)了解到我們的所作所為,希望通過施壓讓我們轉(zhuǎn)為使用一個(gè)內(nèi)部維基.他們的決定很快被我們拒絕,原因也很合理:文檔與工單系統(tǒng)的共存意味著文檔的搜索和更新不會(huì)遇到相互矛盾不匹配的情況.純文本格式的內(nèi)容可以用非常快速簡單的方式更新,并且可以保持一切內(nèi)容井然有序.他們所要求的流程會(huì)讓我們當(dāng)時(shí)希望打造的工具夭折,我們自然是拒絕的.
文檔和整理工作的關(guān)鍵性
最開始我們?yōu)檫@些事件模塊設(shè)計(jì)了一種架構(gòu),那是一種很美觀的架構(gòu),涵蓋了可能出現(xiàn)的所有場景和情況.
但最后發(fā)現(xiàn)這完全是浪費(fèi)時(shí)間.最終我們使用的是一種非常愚蠢的結(jié)構(gòu),其中包含:
就是這樣.希望徹底改進(jìn)結(jié)構(gòu)的企圖完全失敗了,也許因?yàn)樾碌慕Y(jié)構(gòu)會(huì)讓新人感到困惑,會(huì)給管理人員造成太多負(fù)擔(dān),或覆蓋面還不夠廣.一些條款會(huì)隨著時(shí)間的流逝形成與具體任務(wù)更匹配的專有架構(gòu),新的分類(例如“跳轉(zhuǎn)”條款可以告訴你需要參閱哪些條款)也會(huì)隨著時(shí)間流逝逐漸完善.我們并未提前設(shè)計(jì)好這些東西,因?yàn)槲覀儾恢赖降资裁词强尚械?什么又是不可行的.
如果愿意,可以將其稱之為“敏捷文檔”,敏捷是目前的熱門(以前最熱的是 ITIL).當(dāng)然,重點(diǎn)在于 簡化和實(shí)用性 勝過其他一切.
會(huì)寫文檔的田螺姑娘并不存在
在文檔方面花費(fèi)那么多時(shí)間和精力后,自然而然就得出了這樣的結(jié)論.
首先,我們不再寄希望于接受其他團(tuán)隊(duì)提供的文檔.如果他們給代碼加了注釋,這挺好;如果我們能在維基中找到對自己有幫助的信息,這也挺好.但在接手不同項(xiàng)目時(shí),我們已經(jīng)不再“要求對方提供文檔”,相反我們會(huì)安排與負(fù)責(zé)設(shè)計(jì)項(xiàng)目,并且有經(jīng)驗(yàn)的 SRE 約個(gè)時(shí)間一起討論.
一般來說(假設(shè)沒有運(yùn)維經(jīng)驗(yàn)的話),開發(fā)者往往更關(guān)注自己開發(fā)的東西及其工作原理,這些東西通常會(huì)經(jīng)歷徹底的測試,出錯(cuò)的可能性是最低的.
與之相對的,SRE 最關(guān)注弱點(diǎn),以及可能出錯(cuò)的東西.“如果為網(wǎng)絡(luò)劃分分區(qū)會(huì)怎樣?如果數(shù)據(jù)庫磁盤空間不足會(huì)怎樣?能否通過日志判斷用戶為什么沒有收到錢?”
隨后我們會(huì)自行編寫自己的文檔,并讓相關(guān)工程師進(jìn)行簽發(fā),這是一種與傳統(tǒng)工作流截然不同的方法!他們通常會(huì)給出非常有用的意見,并針對整個(gè)流程為我們提供更深入的見解.
我們注意到的第二件事是,我們的工程師依然不愿意更新文檔,除非是他們自己會(huì)用到的文檔.然而文檔依然需要交給他們處理.領(lǐng)導(dǎo)層只能不斷地強(qiáng)調(diào)這也是工程師自己的文檔,不是世代相傳的石碑,如果不進(jìn)行持續(xù)不斷的維護(hù),文檔很快將變的毫無用處.
這其實(shí)是一種文化方面的問題,需要花費(fèi)很長時(shí)間才能解決.解決這個(gè)問題還需要能通過流程強(qiáng)制對文檔進(jìn)行修訂.
最后我發(fā)現(xiàn),我們的日常工作中約有固定 10% 的工作時(shí)間被用來維護(hù)和編寫文檔.在最開始 7 個(gè)月的突擊之后,這 10% 的時(shí)間主要被用于維護(hù)文檔,而不是繼續(xù)創(chuàng)建新的內(nèi)容.
文檔 – 收益
文檔工作全部完成后,我們所獲的的收益遠(yuǎn)遠(yuǎn)超過了那 10% 的工作時(shí)間.例如:
新員工更易于上手
在實(shí)施這樣的流程之前,我們不愿意雇傭沒經(jīng)驗(yàn)的人員.但實(shí)施之后人員的上手過程更加順暢了.此外事件發(fā)生之后進(jìn)行的培訓(xùn)也逐漸培養(yǎng)了更多有經(jīng)驗(yàn)的人員.新員工首先需要幫我們維護(hù)文檔,這一過程也有助于他們對自己的知識和技能進(jìn)行查漏補(bǔ)缺.
更好的培訓(xùn)
文檔為我們提供了豐富的資源,可以幫助我們確定培訓(xùn)需求.進(jìn)而我們可以為任何工程師提供完成工作所需掌握的工具和技術(shù).
簡化的升級上報(bào)流程有助于減少壓力
這個(gè)收益非常重要.在使用循序漸進(jìn)的事件模型前,何時(shí)進(jìn)行升級上報(bào)是一個(gè)壓力重重的決策.一些工程師因?yàn)檫^早升級上報(bào)而著稱,大家都無法自信地確定在非工作時(shí)間聯(lián)系負(fù)責(zé)的技術(shù)主管前是否“漏掉了某些顯而易見的狀況”.SRE 也經(jīng)常因?yàn)樯壣蠄?bào)不夠及時(shí)而頭疼!
事件模型解決了這個(gè)問題.很快,負(fù)責(zé)處理升級上報(bào)后問題的技術(shù)人員開始首先詢問:“你是否已經(jīng)按照事件模型進(jìn)行過處理?”如果是,并且存在某些明顯的疏忽,那么問題就變的非常明確,可以快速解決.很快,非 SRE 人員在處理過升級上報(bào)的問題之后會(huì)開始忙著更新和維護(hù)文檔,進(jìn)而形成了一種良性循環(huán).
更好的紀(jì)律
對于團(tuán)隊(duì)來說,文檔最明確的價(jià)值在于可以幫助團(tuán)隊(duì)改進(jìn)其他方面的紀(jì)律.有趣的是,以前 SRE 被譽(yù)為“最吵雜”的團(tuán)隊(duì),他們經(jīng)常會(huì)進(jìn)行各種“爭論”,并且整個(gè)團(tuán)隊(duì)的社交屬性十分強(qiáng).這其實(shí)也挺合理,因?yàn)槲覀儺吘剐枰嗷ブС种拍芨愣ǜ鞣N大型的技術(shù)領(lǐng)域,滿足通常不具備技術(shù)背景的客戶預(yù)期,而知識和文化的分享很重要.
隨著流程的推廣,這個(gè)團(tuán)隊(duì)變的越來越安靜,部分是因?yàn)橛辛藢iT的交流環(huán)節(jié),逐漸開始推行遠(yuǎn)程工作,以及團(tuán)隊(duì)逐漸變的國際化,但同時(shí)也是因?yàn)榇蟛糠止ぷ鞫甲兂闪艘环N例行任務(wù):遵循事件模型的指導(dǎo),任務(wù)完成后或者有什么不理解的地方時(shí),可以升級上報(bào)給更資深的人員.
自動(dòng)化
通過這種方式對調(diào)查過程實(shí)現(xiàn)自動(dòng)化,意味著還可以借助軟件對其實(shí)現(xiàn)更高程度的自動(dòng)化.
通過制定指標(biāo)將不同工單連接到不同的事件模型,這也意味著我們知道需要將自己的精力專注在何處.我們編寫了在后臺(tái)對日志文件進(jìn)行梳理的腳本,借此更快速簡單地找出與代碼有關(guān)的問題,同時(shí)通過自動(dòng)化方式響應(yīng)客戶的需求(“此問題是應(yīng)用管理員用戶 XXX 所做的某項(xiàng)變更導(dǎo)致的”),此外還采取了一系列其他措施.
在這些自動(dòng)化機(jī)制的支持下,我們基于 Pexpect 為自己構(gòu)建了一個(gè)自動(dòng)化工具:http://ianmiell.github.io/shutit/,不過這就是另一個(gè)故事了.基本上在適應(yīng)這些后我們養(yǎng)成了持續(xù)改進(jìn)的良性循環(huán).
回歸流程本身
準(zhǔn)備好所有這些資產(chǎn)后,如何預(yù)防這些資源隨著時(shí)間流逝而貶值?此時(shí)流程本身非常重要.
為確保一切可以繼續(xù)平滑運(yùn)轉(zhuǎn),我們制定了兩個(gè)重要流程:驗(yàn)傷(Triage),以及事后審查.
流程 – 驗(yàn)傷
我們有 5%-10% 的時(shí)間花在驗(yàn)傷流程中.另外,為了確定最準(zhǔn)確的流程,之前已經(jīng)付出了大量時(shí)間,不過這些付出獲得了巨大的回報(bào):
將需要采取的操作數(shù)量精簡為必須的最少步驟
將盡可能多的任務(wù)包含在驗(yàn)傷流程中,這種做法對我們有很大的吸引力,但更重要的是確保流程本身的價(jià)值而非完整性.任何不常執(zhí)行的操作通常會(huì)被跳過,并從驗(yàn)傷流程中忽略掉.
專注于通過流程節(jié)約成本
通過查找重復(fù)的內(nèi)容,找到相關(guān)事件模型,更快速回復(fù)客戶的咨詢,并且盡可能早得進(jìn)行升級上報(bào),這些舉措大幅降低了每個(gè)工單的成本.這樣做還可以避免其他工程師在思考其他問題時(shí)被打擾而產(chǎn)生不良后果.這些舉措的實(shí)際收益很難衡量,但我們可以用更少的人手,更容易地處理更多事件.這些都被高管和客戶看在眼里.
將所有工作的詳情記錄起來也可以幫我們節(jié)約時(shí)間,(例如)當(dāng)工程師接到驗(yàn)傷工單后,可以看到在歷史事件中搜索的驗(yàn)傷結(jié)果,進(jìn)而找出有待改進(jìn)的地方.這也意味著可以由更有經(jīng)驗(yàn)的人員隨時(shí)審閱驗(yàn)傷流程的質(zhì)量.
驗(yàn)傷流程的審閱
有經(jīng)驗(yàn)的人員需要定期審閱驗(yàn)傷流程,以確保流程得以有效地運(yùn)用.
當(dāng)我轉(zhuǎn)崗到另一個(gè)運(yùn)維團(tuán)隊(duì)(是一個(gè)我不太了解的領(lǐng)域)后,通過恰當(dāng)應(yīng)用這些技術(shù),我用了大約三天時(shí)間就將事件隊(duì)列中積壓的事件減少了一半.驗(yàn)傷流程是現(xiàn)成的,但大家在執(zhí)行時(shí)并未仔細(xì)思考或進(jìn)行有效監(jiān)管,并且將這些責(zé)任交給了一個(gè)不能勝任的初級員工.大錯(cuò)特錯(cuò).驗(yàn)傷流程的執(zhí)行或監(jiān)管,必須由具備嫻熟經(jīng)驗(yàn)的人負(fù)責(zé),雖然看上去這是一種例行的乏味工作,但其實(shí)包含了大量重要決策,必須由經(jīng)驗(yàn)提供支撐.
沒錯(cuò),我就是新的負(fù)責(zé)人,我決定將第一周的工作時(shí)間用于這種“沒技術(shù)含量”的驗(yàn)傷任務(wù).畢竟我覺得這個(gè)工作還是很重要的.
輪值任務(wù)
沒人希望長時(shí)間負(fù)責(zé)驗(yàn)傷工作,因此我們采取了每周輪值的做法.借此可以實(shí)現(xiàn)一定程度的連續(xù)性和一致性,但也可以有效避免工程師反復(fù)在相同任務(wù)上花費(fèi)大量時(shí)間而抓狂.
流程 – 事后審查
驗(yàn)傷流程相對的是“事后審查”.每個(gè)工單都會(huì)由有經(jīng)驗(yàn)的團(tuán)隊(duì)成員進(jìn)行審查,這個(gè)過程大約需要占用 5% 的工作時(shí)間,但同樣是值得的.
為此需要填寫一個(gè)標(biāo)準(zhǔn)化的表單,如果有任何意見建議,可添加到后續(xù)“改進(jìn)”任務(wù)列表中,并劃分出優(yōu)先級.這為我們造成了大量等待解決的技術(shù)/流程債務(wù).
文化
上文曾多次提到文化,只要打算進(jìn)行任何類型的變更,都不得不考慮文化問題,畢竟文化已經(jīng)根植于一系列概念框架中,而我們的所有行動(dòng)都需要遵循這些框架的規(guī)定.
另外我還提到過,人們通常會(huì)糾結(jié)于“錯(cuò)誤的事情”.我曾多次聽說有人專注于工具和技術(shù),而非專注于文化.沒錯(cuò),工具和技術(shù)很重要,但如果不能有效運(yùn)用,所造成的后果甚至?xí)韧耆珱]使用時(shí)更糟糕.你也許可以加入全球最棒的高爾夫俱樂部,但你連揮桿都不會(huì),只會(huì)打棒球,那么這個(gè)俱樂部對你而言有何意義?
文化所需的投入遠(yuǎn)遠(yuǎn)超過技術(shù)本身(別忘了,單單為了寫文檔我就花了大半年時(shí)間).如果具備合適的文化,人們將能在需要時(shí)找到合適的工具和技術(shù).
在決定將時(shí)間和金錢花在哪里時(shí),一定要以文化為第一選擇.雖然需要耗費(fèi)大量預(yù)算,但可以強(qiáng)有力地剔除“無用”的團(tuán)隊(duì)成員,這是我在接管其他團(tuán)隊(duì)后做的最棒的事.那人離開后,其他團(tuán)隊(duì)成員表現(xiàn)好了很多,不再受到他那過激行為的影響,很多以前做不到的事情都順利完成了.
我們還用很小的預(yù)算構(gòu)建了一個(gè)高效能團(tuán)隊(duì),預(yù)算小到什么程度呢,負(fù)責(zé)招募的人甚至在電話里沖我嚷嚷說我的目標(biāo)是“不可能”的.但只要專注于恰當(dāng)?shù)男袨?針對找到的人員不吝付出時(shí)間,準(zhǔn)備好妥善的流程,我們實(shí)現(xiàn)了效能的大幅提升,并且形成了一個(gè)高忠誠度的團(tuán)隊(duì),開始在公司內(nèi)部和外部(其實(shí)主要還是內(nèi)部!)實(shí)現(xiàn)了更大規(guī)模,也更出色的壯舉.
辦公室政治
簡單說說辦公室政治.你可能要隨時(shí)投入“戰(zhàn)斗”.很可能你得不到所需的資源,所以搞不定的工作需要適時(shí)放棄.
沒錯(cuò),你需要監(jiān)視解決方案,需要更好的文檔,需要訓(xùn)練有素的出色人員,需要更多測試……除非有印鈔機(jī),否則不可能得到自己想要的所有東西,因此還是確定最重要的事情,試著優(yōu)先解決它們吧.如果試圖同時(shí)在所有方面進(jìn)行改進(jìn),最終很可能會(huì)失敗.
除了流程和文檔,我還曾試著破解“可再現(xiàn)環(huán)境”的謎題.最終決定選擇 Docker,這是我職業(yè)生涯的一次重大轉(zhuǎn)變.我曾在 這里 和 這里 簡單探討了這些問題.
作者:Ian Miell,英文原文:Things I Learned Managing Site Reliability for Some of the World’s Busiest Gambling Siteshttps://zwischenzugs.wordpress.com/2017/04/04/things-i-learned-managing-site-reliability-for-some-of-the-worlds-busiest-gambling-sites/#comment-746
文章來自微信公眾號:高效開發(fā)運(yùn)維
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4132.html