從2020年開始,微軟開始著手在云端運(yùn)營中導(dǎo)入人工智能技術(shù),希望藉由人工智能來提高服務(wù)品質(zhì),而微軟在其云端平臺(tái)Azure中,部署端到端預(yù)測和故障緩解服務(wù),便是策略中的一環(huán)。Narya能預(yù)測可能發(fā)生故障的節(jié)點(diǎn),并自動(dòng)采取緩解措施解決潛在故障風(fēng)險(xiǎn),并透過收集數(shù)據(jù),改進(jìn)預(yù)測和緩解模型,現(xiàn)在Narya已經(jīng)成為Azure智慧基礎(chǔ)設(shè)施的關(guān)鍵部分。
Narya是以《魔戒》中精靈三戒之一的火之戒命名,火之戒在故事中,擁有能夠抵抗支配、絕望和疲勞的力量,而Narya在Azure中,則被賦予預(yù)測和緩解Azure主機(jī)故障的任務(wù),并衡量其采取的措施所帶來的影響,并透過自動(dòng)回饋循環(huán),智慧地調(diào)整緩解措施。
微軟提到,Narya已經(jīng)透過微軟通用機(jī)器學(xué)習(xí)和預(yù)測服務(wù)系統(tǒng)Resource Central平臺(tái),部署到全球的Azure運(yùn)算叢集中,已被用于生產(chǎn)環(huán)境一年多,降低26%的虛擬機(jī)器中斷事件,使得Azure整體工作負(fù)載更加穩(wěn)定順暢。
過去微軟預(yù)測故障和緩解的方法,雖然也是采用機(jī)器學(xué)習(xí)技術(shù),但只會(huì)根據(jù)預(yù)測選擇固定的緩解措施,像是當(dāng)某個(gè)硬件被標(biāo)記為存在風(fēng)險(xiǎn),則系統(tǒng)會(huì)通知在其上面執(zhí)行工作負(fù)載的用戶,并且阻止新的工作分配給該節(jié)點(diǎn),接著使用即時(shí)搬遷服務(wù),盡可能移走所有虛擬機(jī)器,過幾天后待所有虛擬機(jī)器停止運(yùn)作,微軟便會(huì)停止該節(jié)點(diǎn)進(jìn)行修復(fù)。
這個(gè)過程微軟看到一些可以改進(jìn)的點(diǎn),像是部分時(shí)候因?yàn)橛脖P損壞等過于嚴(yán)重的故障,無法等待幾天才停止或是重新部署虛擬機(jī)器,而且很多時(shí)候,節(jié)點(diǎn)被標(biāo)記為存在風(fēng)險(xiǎn),但其實(shí)只是很小的問題,甚至可能是誤報(bào),強(qiáng)制搬遷用戶的虛擬機(jī)器造成不必要的麻煩,因此微軟認(rèn)為,更好的做法是讓預(yù)測更加靈活,并且需要評(píng)估每個(gè)行動(dòng)切確對(duì)用戶產(chǎn)生的影響。
微軟依照這些需求設(shè)計(jì)了新系統(tǒng)Narya,在采取緩解措施時(shí),會(huì)考慮多種可能的辦法,而不是僅對(duì)存在風(fēng)險(xiǎn)的預(yù)測,提供單一緩減措施,Narya還會(huì)使用A/B測試框架和增強(qiáng)學(xué)習(xí)框架來找出最佳應(yīng)對(duì)措施。
Narya的故障預(yù)測和緩解措施分為三個(gè)階段,第一階段是預(yù)測故障,Narya會(huì)使用機(jī)隊(duì)遙測數(shù)據(jù),來預(yù)測主機(jī)的硬件故障,除了采用基于規(guī)則的預(yù)測外,Narya還會(huì)使用機(jī)器學(xué)習(xí)方法來產(chǎn)生準(zhǔn)確的預(yù)測。微軟提到,整合機(jī)器學(xué)習(xí)模型,就可以進(jìn)行更長時(shí)間的分析,分析比規(guī)則預(yù)測更多的信號(hào)和模式,因此能更早地預(yù)測故障。
Narya不采用固定的緩解策略,而會(huì)視情況選擇一些小步驟,將這些小步驟組合成緩解措施,像是其中一種緩解措施可能是將節(jié)點(diǎn)標(biāo)記為不可用,并且嘗試保留內(nèi)存內(nèi)容進(jìn)行核心軟件重新啟動(dòng),如果成功了便將節(jié)點(diǎn)重新標(biāo)記為可用,如果失敗了,便會(huì)執(zhí)行即時(shí)搬遷,并對(duì)該節(jié)點(diǎn)進(jìn)行診斷,當(dāng)發(fā)現(xiàn)存在問題的硬件,便會(huì)送維修更換硬件。
Narya采用更加靈活的方式應(yīng)對(duì)風(fēng)險(xiǎn)情況,而且使用A/B測試框架和增強(qiáng)學(xué)習(xí)框架,持續(xù)最佳化緩解措施,盡可能減少虛擬機(jī)器中斷的情況。執(zhí)行A/B測試時(shí),Narya會(huì)選擇不同的緩解措施,并與未采取任何措施的對(duì)照組比較,以收集數(shù)據(jù)確定哪種緩解措施更好,并且持續(xù)在往后的類似故障進(jìn)行比較,不斷地改進(jìn)緩解措施。增強(qiáng)學(xué)習(xí)框架則是用來找出最佳客戶體驗(yàn)的方法,讓Narya隨著時(shí)間,持續(xù)探索不同的行動(dòng),嘗試找出能提升客戶體驗(yàn)的新方式。
在對(duì)故障采取緩解措施后,Narya會(huì)收集新數(shù)據(jù),評(píng)估用戶影響,以便在Narya框架中的每個(gè)步驟,持續(xù)改進(jìn)模型,Narya會(huì)自動(dòng)進(jìn)行這個(gè)評(píng)估工作,更新專家規(guī)則和機(jī)器學(xué)習(xí)模型,在之后的決策中,提供更好的緩解措施。
微軟仍在持續(xù)改進(jìn)Narya,除了要讓Narya能夠處理更多種類的硬件故障之外,也希望能整合更多的緩解措施,響應(yīng)廣泛的故障預(yù)測事件。