手邊的東西還沒弄完,決定今天簡單轉貼一下前輩丟的 SLA 計算文章,有需要的朋友可以看看:
計算出正確的服務水平協議:探索 Composite SLAs 計算和架構設計 - 魂系架構 Phil’s Workspace

這篇文章裡列了蠻多場景。例如

  • 相依的兩個服務(SLA = 兩者相乘)
  • 沒有相依的兩個服務(SLA = 1 - 兩者同時失敗機率)

以及多個區域的狀況:

首先先計算應用程式在所有區域爆炸的機率
應用程式在多個區域合併 SLA 公式為 (1 - (1 - SLA) ^ R)

R: 是區域數量
SLA: 是單一區域的 SLA 協議數字

故可得知程式佈署在兩個區域時,可獲得下列 SLA 等級:
Composite SLA for Azure Red Hat OpenShift in 2 regions = 99.9999% = (1 - (1 - 0.99929011)^2)

但因前面需要放置 Azure Traffic Manager 服務確保前置流量能夠兩邊導流,故還需計算,故可得:
Totla Composite SLA = 99.9899% = 99.99% * 99.99%


這篇我收起來哪天需要算的時候參考,不過我特喜歡這段:

Q1: 某某個服務超爛,一天會當機七小時以上,約 SLA 68.3772234%,是不是永遠達不到 2 nines?

A1:以上面計算單一區域所需最低 SLA 計算來說,不考慮資料一致性及網路可達性,你只要在 4 個不同區域建立相同 SLA 68.3772234% 服務,最差還是可以拿到 SLA 99% 的等級

但… 你應該要做的事情是研究一下為啥一個服務一天會噴掉七小時以上,而不是在這邊算數學

那麼,今天的轉貼就到這邊。明天見~