爲何有SRE可靠性工程師,雲原生時代的SRE

爲何要進行站點可靠性工程

在技術世界中,風險從未像如今這樣高。遷移到雲和微服務以最大程度地提升靈活性已被數字破壞者和史無前例的競爭威脅所取代。隨着分佈式系統變得愈來愈複雜,「未知未知數」的規模不斷增長。最重要的是,客戶的指望很高。數組

停機形成的損失是災難性的,若是客戶不能及時知足他們的需求,他們就會大跌眼鏡。根據Gartner的數據,平均停機時間爲每小時300,000美圓。對於某些公司來講,這個數字要高得多。例如,亞馬遜在2018年Prime Day停運期間損失了大約9000萬美圓,而且停運僅持續了75分鐘。安全

組織須要優先考慮可靠性,以便在不損害客戶體驗的強大基礎之上儘快進行創新。隨着愈來愈多的企業轉向具備高可靠性要求的分佈式系統,這將變得更加關鍵。那就是站點可靠性工程(SRE)出現的地方。 架構

SRE功能正在快速增加(職位列表同比增加30-70%),可是市場上沒有足夠的熟練人才來彌補。換句話說,重要的是要了解如何不只能夠僱用SRE,還能夠發展示有組織以採用卓越生產所需的實踐和思惟方式。因爲要租用的SRE短缺,您該怎麼作才能確保服務的可靠性?要回答這個問題,您須要對SRE是什麼有更深刻的瞭解。分佈式

什麼是SRE?

SRE是Google於2003年首次提出的一種作法,旨在建立足夠可靠的系統和服務以知足客戶的指望。從那之後,許多大型組織(如LinkedIn和Netflix)都採用了SRE最佳作法。近年來,SRE已被全球許多組織普遍採用,其目標是考慮到客戶指望成倍增加以及系統複雜性,從而牢記可靠性和彈性。ide

SRE基於客戶至上的心態。這意味着,即便使用該服務的客戶是內部用戶,SRE的努力也都與客戶滿意度息息相關。每一個決定都應提升客戶滿意度。團隊共同努力,肯定哪些因素和經驗會影響客戶的滿意度,進行衡量,設定目標,並將可靠性要求與在不斷競爭的數字環境中保持生存所需的創新速度保持平衡。微服務

爲了實現這一崇高目標,SRE和採用SRE最佳實踐的團隊會參考SRE的幾個關鍵原則。根據Google的說法,這些包括:工具

確保長期專一於工程
在不違反服務水平目標(SLO)的狀況下追求最大變化速度
監視,包括警報,票證和記錄
緊急應變
更換管理層
需求預測和容量規劃
供應,以及
效率與績效
根據Forrester的說法,46%的原則能夠直接應用到企業中的大多數軟件團隊,可是其他的則須要自定義,不然對於絕大多數組織來講都是毫無心義的。要問本身的重要問題是這些原則如何與您已經在作的事情相適應,以及您的團隊如何提升。性能

瞭解SRE如何適合您的DevOps實踐

將SRE視爲使DevOps哲學煥發生命的實踐。DevOps和SRE的核心原理幾乎相同。根據Google在SRE上的Coursera課程,「 SRE類實現DevOps」,五種DevOps原則以下:學習

減小組織孤島:SRE經過在開發人員和生產團隊之間共享全部權和統一工具來提供幫助。代理

像往常同樣接受失敗:無恥的過後驗屍是SRE的最佳作法,可確保將全部事件都用做學習機會。SRE還經過SLO和錯誤預算爲故障創造了安全的空間和護欄。

實施漸進式更改:在容許全部用戶與新功能進行交互以前,經過將推廣分發給一小部分客戶來實現。較小的更改更容易且更安全地進行剖析和迭代。

利用工具和自動化:SRE經過測量勞動和建立自動化來執行重複性任務而無需人工干預,以消除勞動。這樣,人類能夠專一於更高價值的工做。

衡量一切:SRE專門致力於衡量工做和可靠性,以確保客戶和軟件團隊都對服務感到滿意。

定義了這些通用原則後,很容易看到SRE和DevOps如何很好地結合在一塊兒,而SRE編纂實踐使實現DevOps的承諾變得更加容易。您能夠說SRE是DevOps的人爲方面,DevOps是一種文化構建功能,能夠將運行系統的人員銘記在心。

人性化的系統方法

做爲一種實踐,彈性工程從總體上着眼於系統,不只要考慮基礎架構,還要考慮人員,過程和文化因素。若是不採用SRE背後的文化和思惟方式,您將僅擁有沒有統一價值的新流程,就能夠保持主動性。關注於人類對系統的態度須要從新評估您的組織對三項關鍵事情的態度。

隨叫隨到和全方位服務的全部權慣例
呼叫的概念在SRE中很重要,緣由有幾個。它創建了明確的全部權,以確保當即解決軟件問題,並固有地激勵開發人員發佈性能更高的代碼。可是,儘管如今撥打電話是一種至關廣泛的作法,但創建健康,平衡的流程對於防止倦怠相當重要。

沒有人能夠24/7全天候待命,尤爲是在待命期間發生的事件嚴重干擾工程師的我的生活時。人們須要不間斷的工做時間以達到最佳狀態,所以應仔細監控隨叫隨到的職責。若是某人天天晚上2點醒來整整一個月,則說明有問題;這簡直是​​不可持續的。另外,應該由一個以上的人來負擔。應該受權整個開發團隊隨時待命,以便將責任變成共同的責任。這也激勵開發人員提供更好的代碼,以免在凌晨2點醒來。

SRE最佳實踐鼓勵創建更好的主動系統,並創建可靠的反應系統。積極主動意味着創建一個不斷學習和改進的社區。當您的工程師作好充分的準備並從先前的事件中吸收教訓時,再次發生相同的錯誤的可能性就較小。隨着SRE實踐的成熟,這將減小發生的事件數量。

從被動的角度來看,更好的事件管理作法能夠簡化事件發生期間的溝通,併爲將事件視爲重要的學習機會而將事件視爲「計劃外的投資」提供基礎。所以,過後調查爲工程師提供了一個地方,能夠在發生事故的根本緣由時規避它們。SRE爲持有尋呼機的人提供了更多代理權。

保持倦怠

持續進行消防,尤爲是在嚴格的通話時間安排下,可能會使工程師感到筋疲力盡。隨着時間的推移,精疲力盡會致使高離職率,這意味着高級工程師將須要在增長新員工的同時增長額外的空餘。這隻會增長工做倦怠,致使不滿意的工程師陷入惡性循環,他們缺少思考改進的能力,而新員工卻無從下手。

在這種狀況下,SRE方法將鼓勵提升對工程時間,通話時間和重複事件的可見性。這些問題中的每個都直接致使工做倦怠,可是許多組織並未對其進行跟蹤。經過了解哪些工程師在長時間內花費了異常高的時間,團隊負責人能夠建議休假時間以抑制職業倦怠。知道上個月每一個週末都有誰在召喚,團隊能夠更好地管理輪換,讓每一個人都有休息時間。監視重複事件和相似類別的事件能夠洞悉整個工程時間內正在燃燒的東西,以及之前的驗屍是否發現了改進之處或未採起後續措施。這些問題應當即解決,以使團隊擺脫消防,

慶祝失敗

將會發生故障,發生事件而且違反SLO。這些事情可能很難面對,可是採用SRE的一部分是要認可它們是規範。系統是人爲造的,人是不完美的。重要的是從這些失敗中學習並慶祝增加的機會。

培育這種文化的一種方法是優先考慮工做場所的心理安全。安全的力量很是明顯,但經常被忽視。像吉恩·金(Gene Kim)這樣的行業思想領袖一直在提升感到失敗的安全感的重要性。他在小說《獨角獸計劃》中談到了心理上的不安全感。主角馬辛(Maxine)已從一支職能強大的團隊中分流到鳳凰城(Project Phoenix),那裏的錯誤可被解僱。吉恩寫道:「她(Maxine)看到了一種恐懼文化所產生的腐蝕做用,在這種狀況下,常常會懲處錯誤並開除替罪羊。懲罰失敗和「***信使」只會令人們掩飾本身的錯誤,最終,全部對創新的渴望都被完全撲滅了。」

若是存在責備,則沒法充分利用團隊和系統。無罪是SRE的核心。要徹底採用這種作法,您須要認可人不是失敗的根源。每一個團隊成員只是利用現有的知識來盡力而爲,作出他們認爲正確的決定並符合組織的最大利益。懲罰或責備消除了嘗試,修復和不斷學習的慾望。

恐懼是創新的殺手,但失敗是創新的靈感。在組織內部創建安全性和信任是徹底實現和釋放團隊潛力的關鍵。

當即開始您的SRE旅程

任何組織均可以採用SRE最佳實踐,而且能夠以很小的增量開始。您將要作的最重要的改變將是文化上的改變。因爲組織是由人組成的,所以只要組織致力於員工的成長心態,任何組織均可以促進不斷的學習,無罪的文化和心理安全。這些文化因素到位後,實施擴展這種卓越文化的實踐,流程和工具將變得更加容易。

相關文章
相關標籤/搜索