三個常被混用的詞,一句話分清:SLI 是量測、SLO 是目標、SLA 是帶罰則的承諾。訂它們的意義在於管理期望——沒公開目標,使用者就會自己假設一個(通常猜錯)。
🧠 Core Ideas
TIP
區分 SLO 與 SLA 的問句:「沒達標會怎樣?」沒有明確後果 → 是 SLO;有合約罰則(退款/罰款)→ 是 SLA。多數人說「違反 SLA」其實是違反 SLO。
- SLI(指標):對服務品質某面向的量化測量——延遲、錯誤率、吞吐量、可用度、持久度。
- SLO(目標):對 SLI 的目標值,如「99% 的 Get 在 100 ms 內」。
- SLA(協議):SLO + 未達標的後果(通常是錢)。
⚖️ Tradeoffs
選 SLI:從使用者價值倒推
- 別把能量的都設成 SLI——太多稀釋焦點、太少漏掉重點。
- 依服務型態挑:前台服務看可用度/延遲/吞吐;儲存看延遲/可用度/持久度;管線看吞吐與端到端延遲;全部都要「正確性」。
- 使用者端才是重點;量不到就用伺服器端當合理 proxy。
訂 SLO:看分佈、疊多條
- 多數指標是分佈不是平均——看百分位(50/95/99/99.9)。研究顯示使用者偏好「稍慢但穩定」 勝過「平均快但抖」。
- 想表達曲線就疊多個 SLO:
90% < 1ms、99% < 10ms、99.9% < 100ms。 - 別預設常態分布——延遲天生右偏,用平均值抓異常會誤判。
沒有 SLO 的代價(Chubby 的教訓)
- Chubby 幾乎不故障 → 大家把它當「永遠在」硬依賴。SRE 反直覺解法:若這季可用度沒掉到目標以下,就刻意製造一次受控停機,逼出不合理依賴。
- 沒公開 SLO:使用者假設的目標若太高會過度依賴、太低則沒人敢用。發佈 SLO 是期望管理工具。
🔑 Takeaways
- SLI 量測、SLO 目標、SLA 罰則——用「沒達標會怎樣」一句話分清 SLO 與 SLA。
- SLI 從使用者價值倒推、SLO 看百分位分佈並可疊多條表達曲線。
- 公開 SLO 是管理期望;「太穩」也是風險,必要時用受控停機逼出隱性依賴。
No notes yet — jot your takeaways or Q&A here.