iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
1

在昨天我們講完如何預估Azure使用成本後,今天我們來談談Azure的SLAs

(Service Level Agreements),當我們日後想在Azure上提供Saas服務,我們必須知道Azure

SLA的相關定義/類型/級別及複合SLA如何計算

https://ithelp.ithome.com.tw/upload/images/20201003/20112182hme2tCMCqP.png

Azure SLA為Microsoft在官方文件定義遵循全面的操作策略,標準和慣例向客戶提供

高質量的產品和服務的承諾的說明,並說明Azure產品和服務各別的SLA及Azure服務

或產品未能達到管理SLA規範的要求,將會發生什麼情況。

點選這裡知道Azure服務的各別SLA摘要

https://ithelp.ithome.com.tw/upload/images/20201003/20112182nBvCfiO6Cj.jpg

對於每個相應的Azure產品或服務,典型的SLA特定的性能目標承諾範圍從99.9%

(3個9)到99.99%(4個9)。這些目標可以應用於諸如運行時間或服務響應時間

之類的性能標準。

https://ithelp.ithome.com.tw/upload/images/20201003/201121829nDfEcCKb9.png

Service Credits為Microsoft如何在Azure產品或服務無法履行其管理SLA規範的

情況下做出的回應,針對服務未達到SLA標準,微軟會補償Service Credits,如下表

https://ithelp.ithome.com.tw/upload/images/20201003/20112182FUUCJZJgEO.png

復合SLA為將不同服務產品之間的SLA組合在一起時,生成的SLA被稱為Composite

SLA。最終的複合SLA可以提供更高或更低的正常運行時間值,具體取決於您的應用程式

體系結構。

https://ithelp.ithome.com.tw/upload/images/20201003/20112182Gkmt1yYtan.jpg

上面範例中如果其中一項服務失敗,則整個應用程式將失敗。通常每個服務的各個概率

值是獨立的。但是以上的應用程式的複合SLA值為相乘,這意味著組合值低於各個SLA值

出現故障的可能性更高,因為依賴多個服務的應用程式有更多潛在的故障點。

99.95 percent × 99.99 percent = approx 99.94 percent

相反,若可以通過建立獨立的備援路徑來改進複合SLA。例如,如果SQL數據庫不可用,

則可以將transactions放入Queue中,以便後續處理。

https://ithelp.ithome.com.tw/upload/images/20201003/20112182yJ7ah1rSJS.png

使用上圖所示的設計,即使無法連接到數據庫,該應用程序仍然可用,但是,如果SQL

數據庫和Queu同時失敗,則失敗。如果同時發生故障的預期時間百分比為

Database *OR* Queue = 1.0 − (0.0001 × 0.001) = 99.99999 percent

因此,總的複合SLA為:

Web app *AND* (Database *OR* Queue) = 99.95 percent × 99.99999 

percent = ~ 99.95 percent

但是,使用這種方法需要權衡取捨,例如,應用程序邏輯更加複雜,你需要為

Queue付費,並且可能需要考慮數據一致性問題。

https://ithelp.ithome.com.tw/upload/images/20201003/20112182wXrQDPFZz5.jpg

應用程式SLA為Azure用戶可以使用SLA評估Azure解決方案如何滿足其業務

需求以及客戶和用戶的需求。通過建立自己的SLA,可以設置性能目標以適合特定

的Azure應用程式。建立應用程序SLA時,請注意以下事項:

1.Identify workloads:工作負載是在業務邏輯和數據存儲需求方面

在邏輯上與其他任務分離的獨特功能或任務。每個工作負載對可用性,

可伸縮性,數據一致性和災難恢復都有不同的要求。為確保應用程序體系結構

滿足業務需求,請為每個工作負載定義目標SLA。除了應用程序依賴性之外,

還要考慮滿足可用性要求的成本和復雜性。

2Plan for usage patterns:使用模式在需求中也起作用。識別關鍵和

非關鍵時期的需求差異。例如,報稅申請在申請截止日期之前不會失敗。為了

確保正常運行,請在一個區域發生故障時跨多個區域計劃冗餘。相反,為了

最大程度地減少非關鍵時期的成本,您可以在單個區域中運行應用程序。

3.Establish availability metrics:平均恢復時間(MTTR)和

平均故障間隔時間(MTBF)。MTTR是故障後恢復組件所需的平均時間。

MTBF是組件可以合理預期的兩次停機之間的持續時間。使用這些措施來

確定在何處添加冗餘並確定客戶的服務水平協議(SLA)。

4.Establish recovery metrics:-恢復時間目標和恢復點目標

(RPO)。RTO是事件發生後應用程序不可用的最長時間。RPO是災難

期間可接受的最大數據丟失持續時間。要獲得這些值,請進行風險評估

,並確保了解組織中停機和數據丟失的成本和風險。

5.Implement resiliency strategie:彈性是系統從故障中恢復

並繼續運行的能力。實施彈性設計模式,例如隔離關鍵資源,使用補償性

事務以及在可能的情況下執行異步操作。

6.Build availability into design:可用性是系統正常運行和

工作的時間比例。採取步驟以確保應用程序可用性符合您的服務級別協議

。例如,避免單點故障,按服務級別目標分解工作負載,並限制大量用戶。

/images/emoticon/emoticon33.gif/images/emoticon/emoticon33.gif/images/emoticon/emoticon33.gif

潛在停機時間的風險在各個SLA級別上都是累積的,這意味著複雜的解決方案

可能面臨更大的可用性挑戰。因此,高可用性對您的要求有多關鍵將決定你

如何處理應用程序SLA的複雜性和成本增加。

手把手計算複合SLA練習:

https://docs.microsoft.com/zh-tw/learn/modules/explore-azure-service-level-agreements/6-walkthrough-calculate-composite-slas

Day18教學講義:

https://docs.microsoft.com/zh-tw/learn/modules/explore-azure-service-level-agreements/


上一篇
Day17:Azure小白如何預估及管理使用Azure服務成本
下一篇
Day19: Azure小白如何試用Azure Previews功能
系列文
企業如何用好用滿Azure30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言