設計服務等級目標
本頁面提供建立服務水準目標 (SLO) 前可能需要的資訊。
如需服務等級目標的簡介,請參閱服務等級目標總覽。
SLI 類型和法規遵循目標
Cloud Service Mesh 支援下列類型的服務等級指標:
- 延遲時間:服務傳回要求回應所需的時間,以毫秒為單位。
- 可用性:服務成功回應的時間比例。
- 其他:根據可設定指標自訂的服務水準目標類型。
您也必須定義服務的規範目標。一般來說,服務等級目標不應超過使用者所需或有意義的程度。請考量使用者可能會在何時發現服務品質下降。舉例來說,如果使用者無法分辨服務的延遲時間是 300 毫秒還是 500 毫秒,請使用較高的值做為 SLO 中的延遲時間門檻。較低的值雖然更難達成,但使用者不會察覺差異。
設定法規遵循目標時,請考量服務的使用者需求。舉例來說,如果員工用來預訂休假時間的內部工具,可設定 99% 的可用性目標 (每年約 3 天的停機時間)。但網路商店的關鍵服務可能需要 99.999% 的可用性 (每年約 5 分鐘的停機時間)。
評估時間範圍
除了定義 SLI 的目標之外,服務等級目標還會指定 SLI 的評估時間範圍。舉例來說,單日 99% 的可用性與一個月 99% 的可用性不同。第一個 SLO 不允許連續停機時間超過 14 分鐘 (24 小時 * 1%),而第二個 SLO 允許連續停機時間最多約 7 小時 (30 天 * 1%)。
如果您與使用者簽訂的服務水準協議 (SLA) 中包含 SLO,則遵循期就顯得格外重要。服務水準協議是與服務使用者簽訂的合約,通常會明訂未達服務水準目標的後果。您是否與使用者訂有 SLA 是產品或業務決策,但為了監控目的,您仍需要在建立 SLO 時指定遵循期。
設定服務水準目標時,您可以選擇遵循期類型:
日曆:選取「日曆」做為「週期類型」時,請一併指定「週期長度」,可以是一天、一週或一個月。期間不會重疊,且固定為日曆的開始和結束日期。只有在時間範圍結束時,系統才會評估符合目標分數。
滾動式:選取「滾動式」做為「時間範圍類型」時,您也必須指定「時間長度」的日期數,例如 30 天。與日曆週期不同,滾動週期沒有固定的開始和結束日期。Cloud Service Mesh 會持續評估服務等級目標 (SLO),並設有滾動式法規遵循期。先前計算結果中最舊的資料會被新資料取代,因此會從目前的計算結果中移除。滾動式時間範圍可提供更多法規遵循評估,因為您每天都能取得過去 30 天的法規遵循評估,而非每月一次。不過,由於服務的服務水準目標狀態每天都會變動,因此可能會出現符合和不符合的情況。
錯誤預算
另一個重要的監控概念是錯誤預算。服務等級目標會指定 SLI 和目標值,用於評估服務在遵循期內的成效。服務水準目標的錯誤預算代表服務在違反服務水準目標之前,可以不符合規範的總時間長度。因此,錯誤預算為 100% - SLO%
。舉例來說,如果您設定了 30 天滾動式可用性 SLO,並設定 99.99% 的遵循目標,則錯誤預算就是 30 天的 0.01%,也就是每 30 天允許的停機時間約為 4 分鐘。必須達到 100% 服務水準目標的服務沒有錯誤預算。
錯誤預算可讓您追蹤在服務違反服務等級目標之前,評估期間剩餘時間內允許發生多少次 SLI 測量值異常的情況。您可以使用錯誤預算來管理維護工作,例如部署新版本。當錯誤預算即將耗盡時,就不適合採取部署新更新等風險性高的行動。相反地,如果在評估期間結束前,您的錯誤預算已用盡,則可能要推出新功能,因為違反服務水準目標的風險較低。
如果您要以日曆評估期間評估服務水準目標,Service Mesh 會以最大值啟動錯誤預算,並隨著時間推移而減少預算,當錯誤預算降至 0 以下時,就會觸發服務水準目標違規事件。Cloud Service Mesh 會在評估時間範圍結束時重設服務等級目標的錯誤預算。
如果您是在滾動式評估時間範圍內評估服務水準目標,實際上您一律會在評估時間範圍結束時。系統會持續捨棄舊資料點,並持續新增新資料點,而非從頭開始。如果不符合規定的期間已超過評估時間範圍,且服務水準目標符合規定,則錯誤預算會增加。在任何時間點,error budget ≥ 0
代表符合規定的滾動 SLO 視窗,error budget < 0
則代表不符合規定的滾動 SLO 視窗。
後續步驟
進一步瞭解 Google 網站穩定性工程團隊的服務等級目標: