SLI / SLO / SLA

★★★★Draft

FromGoogle SRE

📚 From the Books

SLI / SLO / SLAConceptObservability

三個常被混用的詞,一句話分清:SLI 是量測、SLO 是目標、SLA 是帶罰則的承諾。訂它們的意義在於管理期望——沒公開目標,使用者就會自己假設一個(通常猜錯)。

🧠 Core Ideas

TIP

區分 SLO 與 SLA 的問句:「沒達標會怎樣?」沒有明確後果 → 是 SLO;有合約罰則(退款/罰款)→ 是 SLA。多數人說「違反 SLA」其實是違反 SLO。

⚖️ Tradeoffs

選 SLI:從使用者價值倒推
  • 別把能量的都設成 SLI——太多稀釋焦點、太少漏掉重點。
  • 依服務型態挑:前台服務看可用度/延遲/吞吐;儲存看延遲/可用度/持久度;管線看吞吐與端到端延遲;全部都要「正確性」。
  • 使用者端才是重點;量不到就用伺服器端當合理 proxy
訂 SLO:看分佈、疊多條
  • 多數指標是分佈不是平均——看百分位(50/95/99/99.9)。研究顯示使用者偏好「稍慢但穩定」 勝過「平均快但抖」。
  • 想表達曲線就疊多個 SLO:90% < 1ms99% < 10ms99.9% < 100ms
  • 別預設常態分布——延遲天生右偏,用平均值抓異常會誤判。
沒有 SLO 的代價(Chubby 的教訓)
  • Chubby 幾乎不故障 → 大家把它當「永遠在」硬依賴。SRE 反直覺解法:若這季可用度沒掉到目標以下,就刻意製造一次受控停機,逼出不合理依賴。
  • 沒公開 SLO:使用者假設的目標若太高會過度依賴、太低則沒人敢用。發佈 SLO 是期望管理工具。

🔑 Takeaways

✍️ My Notes

No notes yet — jot your takeaways or Q&A here.

📖 Further Reading