從2020年開始,微軟開始著手在雲端營運中導入人工智慧技術,希望藉由人工智慧來提高服務品質,而微軟在其雲端平臺Azure中,部署端到端預測和故障緩解服務Narya,便是策略中的一環。Narya能預測可能發生故障的節點,並自動採取緩解措施解決潛在故障風險,並透過收集資料,改進預測和緩解模型,現在Narya已經成為Azure智慧基礎設施的關鍵部分。

Narya是以《魔戒》中精靈三戒之一的火之戒命名,火之戒在故事中,擁有能夠抵抗支配、絕望和疲勞的力量,而Narya在Azure中,則被賦予預測和緩解Azure主機故障的任務,並衡量其採取的措施所帶來的影響,並透過自動回饋循環,智慧地調整緩解措施。

微軟提到,Narya已經透過微軟通用機器學習和預測服務系統Resource Central平臺,部署到全球的Azure運算叢集中,已被用於生產環境一年多,降低26%的虛擬機器中斷事件,使得Azure整體工作負載更加穩定順暢。

過去微軟預測故障和緩解的方法,雖然也是採用機器學習技術,但只會根據預測選擇固定的緩解措施,像是當某個硬體被標記為存在風險,則系統會通知在其上面執行工作負載的用戶,並且阻止新的工作分配給該節點,接著使用即時搬遷服務,盡可能移走所有虛擬機器,過幾天後待所有虛擬機器停止運作,微軟便會停止該節點進行修復。

這個過程微軟看到一些可以改進的點,像是部分時候因為硬碟損壞等過於嚴重的故障,無法等待幾天才停止或是重新部署虛擬機器,而且很多時候,節點被標記為存在風險,但其實只是很小的問題,甚至可能是誤報,強制搬遷用戶的虛擬機器造成不必要的麻煩,因此微軟認為,更好的做法是讓預測更加靈活,並且需要評估每個行動切確對用戶產生的影響。

微軟依照這些需求設計了新系統Narya,在採取緩解措施時,會考慮多種可能的辦法,而不是僅對存在風險的預測,提供單一緩減措施,Narya還會使用A/B測試框架和增強學習框架來找出最佳應對措施。

Narya的故障預測和緩解措施分為三個階段,第一階段是預測故障,Narya會使用機隊遙測資料,來預測主機的硬體故障,除了採用基於規則的預測外,Narya還會使用機器學習方法來產生準確的預測。微軟提到,整合機器學習模型,就可以進行更長時間的分析,分析比規則預測更多的訊號和模式,因此能更早地預測故障。

Narya不採用固定的緩解策略,而會視情況選擇一些小步驟,將這些小步驟組合成緩解措施,像是其中一種緩解措施可能是將節點標記為不可用,並且嘗試保留記憶體內容進行核心軟體重新啟動,如果成功了便將節點重新標記為可用,如果失敗了,便會執行即時搬遷,並對該節點進行診斷,當發現存在問題的硬體,便會送維修更換硬體。

Narya採用更加靈活的方式應對風險情況,而且使用A/B測試框架和增強學習框架,持續最佳化緩解措施,盡可能減少虛擬機器中斷的情況。執行A/B測試時,Narya會選擇不同的緩解措施,並與未採取任何措施的對照組比較,以收集資料確定哪種緩解措施更好,並且持續在往後的類似故障進行比較,不斷地改進緩解措施。增強學習框架則是用來找出最佳客戶體驗的方法,讓Narya隨著時間,持續探索不同的行動,嘗試找出能提升客戶體驗的新方式。

在對故障採取緩解措施後,Narya會收集新資料,評估用戶影響,以便在Narya框架中的每個步驟,持續改進模型,Narya會自動進行這個評估工作,更新專家規則和機器學習模型,在之後的決策中,提供更好的緩解措施。

微軟仍在持續改進Narya,除了要讓Narya能夠處理更多種類的硬體故障之外,也希望能整合更多的緩解措施,回應廣泛的故障預測事件。


熱門新聞

Advertisement