SLA 錯誤預算計算器
百分比掩蓋真相,分鐘數才說明問題。選擇一個 SLA 目標和一個週期,把允許的停機時間看成一個可以據此做規劃的數字——再輸入你實際經歷過的停機時間(或實際測得的可用率),看還剩多少預算、消耗速度有多快。純粹的算術,在你的瀏覽器中完成。
如果兩個觀測欄位都填了,以停機分鐘數為準——那是更直接的度量。
- 允許的停機時間
- 換成直白的說法
- 平均到每天
- 迄今停機時間
- 預算剩餘
- 預算已消耗
參考:按目標和週期列出的允許停機時間
| SLA 目標 | 28 天 | 30 天 | 365 天 |
|---|---|---|---|
| 99% | 6h 43m | 7h 12m | 3d 15h |
| 99.9% | 40m 19s | 43m 12s | 8h 45m |
| 99.95% | 20m 10s | 21m 36s | 4h 22m |
| 99.99% | 4m 2s | 4m 19s | 52m 34s |
為什麼分鐘數會改變討論方式
SLA 百分比是一個誰也想像不出畫面的承諾。「三個九」在銷售簡報裡聽起來很嚴謹,而它準確的含義是每月 43 分 12 秒的允許停機時間——一次糟糕的發布加上一次緩慢的回滾就用完了。只談百分比的團隊,往往是在事故進行中才第一次發現分鐘數,而那是學習算術最糟糕的時機。預算這個框架解決了這個問題:它把額度變成一種有餘額的資源——出故障時餘額減少,餘額健康時可以有意識地把預算花在一次高風險遷移上,餘額耗盡時,約定——無論寫沒寫下來——就是功能開發暫停,直到可靠性恢復。這就是錯誤預算的全部管理價值:它把工程界最古老的爭論——發布還是穩定——變成一個雙方同意以同一種方式解讀的數字。
消耗百分比是同一個想法的預警形式。預算被突破不是在它用完的那一刻,而是在幾週之前、在消耗速度已使耗盡成為必然卻無人行動的那一刻。月初第一週就用掉一半預算,是一個最高級別的警報訊號,此時還有時間凍結變更、回滾那個不穩定的東西並安排人手修復——同樣的 50% 出現在月中,則只是正好按節奏推進。追蹤速度,而不只是餘額,預算就不再是事後複盤的統計數字,而會成為它原本該成為的東西:在決定還能改變結果時就被拉響的決策觸發器。
相關工具:值班排班器規劃凌晨 3 點由誰來守護這份預算,備份保留計算器規劃當防禦失敗時,復原能回溯到多遠。
延伸閱讀:一套可靠性例行公事——輪班、備份保留和錯誤預算如何作為一個整體的規劃習慣協同運作。
常見問題
什麼是錯誤預算?
你的 SLA 已經允許的故障量,用時間來表示。30 天內 99.9% 的目標允許該週期 0.1% 的停機時間——43 分 12 秒——超過之後目標即被突破。把它框定為預算,是把一個抽象的百分比變成團隊可以有意識地花費的東西:發布、遷移和維護都從同 43 分鐘裡支出。
為什麼 99.99% 感覺比 99.9% 嚴格得多?
因為每多一個九,額度就除以十。同樣是 30 天:99% 允許 7 小時 12 分鐘,99.9% 允許 43 分鐘,99.95% 允許 21 分 36 秒,99.99% 允許 4 分 19 秒——還不夠一次重新啟動。選擇目標,就是選擇你的維運實際上能承受多少事故,這也是為什麼誠實的目標應由實測能力決定,而不是由願望決定。
什麼是消耗速率?
相對於整個週期,你花掉預算的速度有多快。本頁面的消耗百分比是簡化形式:迄今的停機時間除以總額度。週期過半時恰好消耗了 50%,你正好在節奏上;在第一週就消耗了 50%,你正走向突破,而凍結高風險變更的時機就是現在、選項還存在的時候,而不是等到 99%。
週期應該用 28、30 還是 365 天?
讓週期與承諾相匹配。面向客戶的 SLA 通常按曆月書寫,一個月有 28 到 31 天不等——30 是標準的規劃數字,28 是最嚴苛的二月情形。365 天的視角適合年度目標,能顯示一份合約真正承諾的全年總量。如果供應商給你報的是年度數字、報告的卻是月度數字,比較之前先把兩者互相換算。
計畫內維護算進預算嗎?
這取決於合約,而且是 SLA 起草中最常爭論的條款之一。許多 SLA 排除預先公告的維護時段;許多 SLO(內部目標)則把一切都算在內,原則是使用者體驗到的計畫內和計畫外停機並沒有區別。明確作出決定、把它寫下來,並確保你追蹤的數字與你們約定的定義一致。