谷歌SRE的7條原則

2022-01-22 23:22:08 字數 1703 閱讀 9083

谷歌sre的7條原則

最大化系統的穩定性不僅毫無意義,而且會適得其反。不切實際的可靠性目標限制了新功能交付給使用者的速度,而且使用者通常不會注意到極端的可用性(比如99.99999%),因為他們的體驗是由最不穩定的元件決定的。

擁有100%的可用性需求嚴重限制了團隊向系統交付更新和改進的能力。想要交付許多新特性的服務所有者應該選擇不那麼嚴格的slos,從而讓他們在出現無關緊要的bug時可以繼續交付。

服務所有者關注可靠性,因此他們可以選擇更高的slo。sre準則將這種可接受的風險量化為「錯誤預算」。當錯誤預算耗盡時,重點就應該從新功能開發轉移到提高可靠性。

站點可靠性工程(sre)規程決定系統的可用性目標,並使用來自工程師、專案所有者和客戶的輸入來度量可用性。

如果沒有一致的方式來描述系統的正常執行時間和可用性,團隊間的交流和合作將會很有挑戰性。運維團隊不斷地滅火,但是開發人員很少主動地修復錯誤。如果沒有對正常執行時間的清晰度量,產品團隊可能不同意可靠性是乙個問題。

所以slo是推動sre學科發展的主要因素。sre確保每個人都同意當可用性超出規範時應該做什麼,以及如何度量可用性。這個過程包括所有專案相關的人員的領導。sres與相關人員一起決定service level indicators (slis) and service level objectives (slos)。

slis是作為請求延遲的時間度量,即每秒請求的吞吐量。通常隨著時間的推移而聚集,然後轉化為乙個速率,可以將與乙個閾值比較。

slos是在相關人員一致同意的時間段內slis累積成功的目標。

slis、slos和slas更接近於「度量一切」的devops支柱,這也是我們說sre實現devops的原因之一。

站點可靠性工程(sre)學科的目標是通過關注sre的「工程」部分來減少工作量。sre的工作是設計乙個解決方案,減少toil,實現任務的自動化。

谷歌的目標是確保每個sre至少有50%的時間花在工程專案上,這些sre每個人都在季度調查中報告他們的toil,以確定運營超負荷的團隊。話雖如此,toil並不總是壞事。重複性的和可**的任務是讓新成員加入的好方法,並且通常可以在低風險和低壓力的情況下產生一種即時的滿足感和成就感。

監視乙個複雜的應用程式是相當困難的。即使存在大量用於儀表、顯示、收集和警報的現有基礎設施,擁有10-12名成員的谷歌站點可靠性工程(sre)團隊通常也只有一到兩名成員主要任務是為整個服務構建和維護監視系統。

隨著sre對公共監視基礎設施進行泛化和集中,這個數字正在減少,但是每個sre團隊通常至少有乙個「監視人員」。為人類生成警報的規則應該簡單易懂,並代表明顯的失敗。

sre的主要工作是實現自動化,從而改進系統。例如,集群可以增長,可以引入更多的特性,而不需要增加團隊的規模。

發布工程師對源**管理、構建配置語言、編譯器、自動構建工具和安裝程式有更好的理解。他們的技能包括對開發、配置管理、測試、系統管理和客戶支援等多個領域的深入了解。

執行可靠的服務需要可靠的發布流程。站點可靠性工程師需要知道,他們所使用的配置是以一種可重複的、自動化的方式構建的,因此發布是可重複的,而不是一次性的。對發布過程的任何方面的更改都應該是有意的,而不應該是偶然的。sres總是關心從源**到部署的所有這些過程。

軟體系統具有內在的動態性和不穩定性。乙個系統只有存在於真空中才能完全穩定。如果我們停止改變**庫,我們就會停止引入新的錯誤。如果庫永遠不變,那麼這兩個元件都不會引入bug。如果我們凍結當前的使用者群,我們就永遠不需要擴充套件系統。

事實上,對sre方法和管理系統的乙個很好的總結是: 我們的工作是保持系統與敏捷性和穩定性的平衡

過程改進的五條原則

過程改進的五條原則 這五條原則分別是 注重問題 強調知識創新 鼓勵參與 領導層的統 一 計畫不斷地改進。問題的解決是過程改進的核心,實踐不僅是spi組的目標也是它的起點。這條原則為過程改進人員指明了目標,明確了方法。spi就是要在實踐中發現軟體過程中的問題,並在實踐中尋找和找到解決問題的辦法,可以說...

敏捷外包的14條原則

敏捷外包的14條原則 文 vikas hazrati 譯 金欣亮 雖然軟體專案的外包趨勢已經是乙個不爭的事實,但是還是有很多專案由於錯誤的外包而失敗了。拋開諸多優勢不談,軟體外包確實帶來了額外的複雜性 風險以及消耗。本文將基於實際專案經驗以及豐田公司的製造過程,討論如何把外包變成一種成功的模式,我們...

層疊加的5條原則

首先明確幾點在文中所需要用到的概念 靜態定位 position static 為position屬性的預設值 動態定位 position relative或position absolute或position fixed。祖元素 任意包含該元素的元素。父元素 直接包含該元素的祖元素。同輩元素 擁有共...