在 SRE 的實務中,有兩個關鍵概念特別重要,它們圍繞著「持續改進循環」的理念。這種循環能幫助你的系統不斷進步,形成正向的發展動力。首先來概觀這兩個實務:
1. SLI 與 SLO:量化服務品質的基石
當我們要部署新服務時,首要任務是定義服務的可靠性標準。這需要開發團隊和營運團隊共同合作,確立兩個重要指標:
服務品質指標(SLI):
- 用於衡量服務健康狀況
- 常見的測量面向包括:
- 成功率(例如:API 呼叫成功率)
- 回應時間
- 處理容量
服務品質目標(SLO):
- 根據 SLI 設定具體的目標值
- 必須可被明確測量
- 作為判斷服務是否達標的客觀依據
錯誤預算:靈活運用可靠性空間
假設我們設定服務的 SLO 為 80% 的可用性,這意味著:
- 我們有 20% 的「錯誤預算」可供運用
- 這個預算可用於:
- 部署新功能
- 系統維護
- 測試新版本
錯誤預算的管理策略:
- 當預算耗盡(服務可用性低於 80%)時:
- 可能需要暫停新功能部署
- 將資源轉向改善系統穩定性
- 預算會在固定週期(如每月或每季)重置
2. 不究責的事後檢討:從失敗中學習
SRE 特別強調事後檢討必須採取不究責的態度:
- 焦點放在系統和流程的改善
- 避免指責個人
- 關鍵問題應該是:
- 流程中的哪些環節容易出錯?
- 如何改善系統以預防類似問題?
- 需要增加什麼安全機制?
這種方法的優點:
- 鼓勵開放討論問題
- 促進團隊學習
- 持續改善系統
- 建立正向的組織文化
在 SRE 實務中,兩個核心機制相輔相成,共同打造組織的持續進步文化:
首先,透過完善的事後檢討機制,我們建立了一個正向的改善循環。當系統發生中斷或故障時,這個機制確保每個事件都成為團隊的學習素材。但這必須建立在嚴謹的分析基礎上,並確實執行後續的改善方案。
其次,SRE 的一大特色在於將故障視為進步的契機,而非單純的負面事件。這種思維模式讓我們能夠客觀面對問題,並從中發掘改善空間。通過持續累積這些經驗和改善,我們得以不斷提升系統的可靠性。
這兩個準則緊密相連:一方面我們建立系統化的檢討流程,另一方面培養正向的學習文化。兩者相互強化,推動組織在可靠性工程領域持續精進。
On this day..
- [生活]風雨同路 - 2012
- [小筆記]從pfx檔extract出 Private Key - 2009
- 秋天的味道 - 2005