智能運(yùn)維AIOps,加速云計(jì)算中的范式轉(zhuǎn)變
眾所周知,近年來微軟 Azure 云計(jì)算平臺(tái)一直保持著強(qiáng)勁的增長(zhǎng)勢(shì)頭。微軟公司董事長(zhǎng)兼首席執(zhí)行官薩提亞·納德拉(Satya Nadella)曾表示,數(shù)字技術(shù)是通漲經(jīng)濟(jì)中的去通漲之力,不論是大企業(yè)還是小企業(yè),都能通過構(gòu)建自己的技術(shù)強(qiáng)度而提高生產(chǎn)力,以及讓自己的產(chǎn)品和服務(wù)被更廣泛的采用。端到端交付數(shù)字平臺(tái)和工具的微軟云,正幫助企業(yè)和組織在當(dāng)前的轉(zhuǎn)型和巨變中穩(wěn)步前進(jìn)。
如今,微軟云有上千萬臺(tái)物理服務(wù)器,部署在世界五大洲上千個(gè)數(shù)據(jù)中心,運(yùn)行著上百萬客戶的應(yīng)用和服務(wù),其中包括95%以上的財(cái)富500強(qiáng)企業(yè)的服務(wù),每個(gè)月都有新的硬件上線使用,幾乎每天甚至每分鐘都有新的軟件更新部署到云上,微軟云的復(fù)雜程度已經(jīng)遠(yuǎn)遠(yuǎn)超出人類的理解范圍。那么在微軟云的背后,又有怎樣的黑科技呢?
近日,微軟亞洲研究院常務(wù)副院長(zhǎng)、微軟杰出首席科學(xué)家張冬梅和微軟亞洲研究院首席研究員林慶維,以及微軟云計(jì)算與人工智能事業(yè)部首席數(shù)據(jù)科學(xué)家黨映農(nóng),聯(lián)袂向外界披露了微軟云背后的黑科技——智能運(yùn)維 AIOps。
近15年來的云計(jì)算迅猛發(fā)展,為智能運(yùn)維 AIOps 提供了廣闊的發(fā)展空間。所謂智能運(yùn)維 AIOps 就是以大數(shù)據(jù)和人工智能的方式,替代原先人工對(duì)數(shù)據(jù)中心的運(yùn)維方式。在公有云數(shù)據(jù)中心出現(xiàn)之前,都是企業(yè)自建數(shù)據(jù)中心,相比來說都是中小型數(shù)據(jù)中心而且位置分散,出現(xiàn)的故障數(shù)量不高、故障類型也難以全面,因此很難形成用于人工智能分析的大數(shù)據(jù)。而公有云的出現(xiàn),改變了一切。
微軟亞洲研究院常務(wù)副院長(zhǎng)、微軟杰出首席科學(xué)家張冬梅
在數(shù)字經(jīng)濟(jì)****展的前提下,公有云也獲得了****展,以微軟云為代表的公有云,出現(xiàn)了全球化的超級(jí)云,例如微軟云就有上千萬臺(tái)服務(wù)器,因此在微軟云一個(gè)云平臺(tái)上就有可能獲得全局、全量、全面的數(shù)據(jù)中心運(yùn)維大數(shù)據(jù)。其次,由于公有云成為了全社會(huì)的基礎(chǔ)設(shè)施,全社會(huì)對(duì)于公有云運(yùn)營(yíng)商的要求也水漲船高,這就倒逼公有云運(yùn)營(yíng)商必須提高數(shù)據(jù)中心運(yùn)維的自動(dòng)化和智能化水平,從人工方式切換到更加穩(wěn)定、高效而又安全的智能運(yùn)維 AIOps。
張冬梅介紹,微軟亞洲研究院在智能運(yùn)維 AIOps 研究方向的起步非常早。可以追溯到2009年到2010年,那個(gè)時(shí)候微軟亞洲研究院成立了 Software Analytics Group(軟件分析組),希望從數(shù)據(jù)驅(qū)動(dòng)的角度對(duì)軟件領(lǐng)域進(jìn)行研究,在軟件場(chǎng)景下最重要的問題包括運(yùn)行系統(tǒng)問題、用戶體驗(yàn)問題、開發(fā)效率問題等,這與今天的 AIOps 非常類似。
云計(jì)算成為了過去10到15年內(nèi)軟件和軟件工業(yè)的范式轉(zhuǎn)變動(dòng)因和平臺(tái)。當(dāng)云計(jì)算系統(tǒng)變成了軟件運(yùn)行的主要形態(tài)時(shí),Software Analytics 自然地就會(huì)把研究焦點(diǎn)集中到云計(jì)算系統(tǒng)。隨著軟件從以前面向單機(jī)和服務(wù)器到面向超大規(guī)模云數(shù)據(jù)中心的延展,軟件工程面臨著深刻變革,從之前主要關(guān)注程序員,向關(guān)注系統(tǒng)、用戶以及開發(fā)運(yùn)維者的擴(kuò)展——這是因?yàn)樵诠性浦械能浖罱K將運(yùn)行起來變成系統(tǒng),從而對(duì)外提供云服務(wù),同時(shí),作為系統(tǒng)還要關(guān)心用戶體驗(yàn)和開發(fā)部署效率,這是三位一體、不可或缺的模式。
總結(jié)下來,云計(jì)算不僅是企業(yè)數(shù)據(jù)中心的轉(zhuǎn)型,更推動(dòng)了軟件和軟件工業(yè)的數(shù)字化轉(zhuǎn)型——軟件的設(shè)計(jì)、開發(fā)、運(yùn)維等由人工方式轉(zhuǎn)向數(shù)據(jù)和人工智能驅(qū)動(dòng),由此帶來了智能運(yùn)維 AIOps 的可行性和可能性。而微軟亞洲研究院自十多年前開始的 Software Analytics 研究,保障了今天微軟云的穩(wěn)定、可靠、安全等特性,以及業(yè)績(jī)不斷上漲的強(qiáng)勢(shì)局面。
目前,業(yè)界對(duì)于 AIOps 的研究以及實(shí)踐,仍處于初級(jí)階段。對(duì)比自動(dòng)駕駛的五個(gè)等級(jí),AIOps 可以說是數(shù)據(jù)中心的“自動(dòng)駕駛”,也可以分為 L0-L5 等級(jí),其中 L5 對(duì)應(yīng)于完全“無人駕駛”的最高級(jí),可以說是 AIOps 的終極目標(biāo)。
微軟亞洲研究院首席研究員林慶維
張冬梅介紹,AIOps 通過創(chuàng)新的人工智能和機(jī)器學(xué)習(xí)技術(shù),有效且高效地設(shè)計(jì)、構(gòu)建和運(yùn)維大規(guī)模復(fù)雜的云服務(wù)。從微軟亞洲研究院的角度,AIOps 主要有三大研究方向:系統(tǒng)、用戶與開發(fā)者。
首先是系統(tǒng)服務(wù),即 AI for System。云服務(wù)由部署了軟件的數(shù)據(jù)中心系統(tǒng)為客戶提供服務(wù),軟件必須要在云數(shù)據(jù)中心上運(yùn)行起來,與云數(shù)據(jù)中心一起組成可運(yùn)行的系統(tǒng),才能對(duì)外提供云服務(wù)。而從可運(yùn)行的系統(tǒng)角度來看,系統(tǒng)的性能、穩(wěn)定性、安全性等各方面問題,都是需要研究的對(duì)象。其次是客戶,即 AI for Customer。與互聯(lián)網(wǎng)服務(wù)不同的是,云服務(wù)不僅服務(wù)于個(gè)人,更服務(wù)于企業(yè),既然是為用戶服務(wù),一定要注重用戶體驗(yàn)。即使系統(tǒng)再穩(wěn)定,但用戶體驗(yàn)不好的話,大家也不會(huì)選擇云服務(wù)。第三是開發(fā)者,即 AI for DevOps,主要是面向開發(fā)人員和運(yùn)維人員,用智能技術(shù)提高他們的生產(chǎn)率,讓日常工作更順暢。
在系統(tǒng)服務(wù)方面,經(jīng)常遇到的場(chǎng)景有兩個(gè):異常行為檢測(cè),也就是當(dāng)系統(tǒng)出現(xiàn)問題了,必須要能夠檢測(cè)出來;預(yù)警,即在問題出現(xiàn)之前預(yù)測(cè)可能要出現(xiàn)的問題。對(duì)于這兩個(gè)場(chǎng)景,主要基于數(shù)據(jù)和機(jī)器學(xué)習(xí)的方法,再結(jié)合專業(yè)領(lǐng)域知識(shí),才能夠進(jìn)行比較好地判斷和預(yù)判。
在用戶方面,一個(gè)場(chǎng)景就是加強(qiáng)與用戶的互動(dòng),從而讓用戶獲得很好的體驗(yàn)。例如,當(dāng)用戶遇到問題的時(shí)候,經(jīng)常會(huì)聯(lián)系云服務(wù)的客服人員,如果事先能夠?yàn)橛脩籼峁┮恍┕ぞ撸層脩糇詣?dòng)獲得云上服務(wù)的構(gòu)建情況以及到底出現(xiàn)了什么問題,當(dāng)與客服人員溝通的時(shí)候,客服人員也能第一時(shí)間掌握具體情況,雙方在同等知識(shí)層面上交流,這樣才能更好地幫助用戶。
在開發(fā)和運(yùn)維方面,主要是幫助開發(fā)或運(yùn)維人員更好完成諸如 CI/CD 持續(xù)集成和持續(xù)部署等工作。而當(dāng)出現(xiàn)了問題,一方面要快速找到解決辦法,讓云服務(wù)盡快地回到正常狀態(tài),但系統(tǒng)恢復(fù)正常并不等于根本性解決問題。很多時(shí)候,因?yàn)橄到y(tǒng)非常復(fù)雜,要花很多時(shí)間去研究、發(fā)現(xiàn)和調(diào)試,才能找到根因。由于日志量非常龐大,就需要通過智能的方法,幫助開發(fā)人員盡快高效、準(zhǔn)確地完成診斷。
除了面向系統(tǒng)、用戶和開發(fā)者外,AIOps 需要解決的問題類型方面,又可以分為檢測(cè)、診斷、預(yù)測(cè)與優(yōu)化等四大方面。在每一個(gè)問題方面,都有很多挑戰(zhàn)以及多個(gè)解決問題和挑戰(zhàn)的細(xì)分研究領(lǐng)域。歸根結(jié)底,云平臺(tái)非常復(fù)雜,不僅規(guī)模大而且為分布式架構(gòu),因此 AIOps 是一個(gè)需要長(zhǎng)期投入的研究領(lǐng)域。
對(duì)于類似微軟云這樣的大規(guī)模高度復(fù)雜并承載大量客戶應(yīng)用的云計(jì)算系統(tǒng),很難運(yùn)用傳統(tǒng)的非智能的軟件開發(fā)和運(yùn)維技術(shù)進(jìn)行高效地開發(fā)、部署、運(yùn)營(yíng)和管理。微軟云計(jì)算與人工智能事業(yè)部首席數(shù)據(jù)科學(xué)家黨映農(nóng)介紹,早在五六年前,微軟云計(jì)算部門的工程團(tuán)隊(duì)就深切意識(shí)到了實(shí)施智能運(yùn)維的巨大必要性和迫切性,開始建立專門的數(shù)據(jù)科學(xué)家團(tuán)隊(duì),并且與微軟研究院深度戰(zhàn)略合作,進(jìn)行智能運(yùn)維方面的研發(fā)以及部署工作。
微軟云計(jì)算與人工智能事業(yè)部首席數(shù)據(jù)科學(xué)家黨映農(nóng)
通過過去幾年和微軟研究院的深度合作,以及微軟云工程師們的不懈努力,今天微軟云已經(jīng)在智能運(yùn)維方面積累了不少重要的技術(shù)創(chuàng)新,包括云服務(wù)系統(tǒng)的智能化和管理自動(dòng)化、云開發(fā)和部署的智能化,以及智能化客戶響應(yīng)等等。具體來講,人工智能和機(jī)器學(xué)習(xí)技術(shù)已經(jīng)深度集成到微軟云基礎(chǔ)設(shè)施的管理軟件中,包括智能監(jiān)控、智能預(yù)測(cè)、智能修復(fù)等等。
黨映農(nóng)強(qiáng)調(diào),自動(dòng)化和智能化一起推進(jìn),一方面使得云服務(wù)的可用性、可靠性以及效率得到提升,另一方面使得云服務(wù)運(yùn)行的自主性得到提高,需要進(jìn)行人工維護(hù)的場(chǎng)景不斷減少,維護(hù)代價(jià)不斷降低。而機(jī)器學(xué)習(xí)技術(shù)也極大改善并增強(qiáng)了微軟云的開發(fā)和運(yùn)行維護(hù)解決方案的功能,比如像智能測(cè)試、智能診斷、智能部署等等,大幅提高了開發(fā)和運(yùn)維工程師的效率。
以常見的硬盤故障為例。林慶維介紹,硬件問題是虛擬機(jī)宕機(jī)的原因之一,而硬盤故障是造成硬件問題的主要原因之一。為此,工程師們希望在出現(xiàn)故障之前,能更早地預(yù)測(cè)出故障,然后采取措施將用戶的虛擬機(jī)遷移到其它機(jī)器上,或是通過軟啟動(dòng)的方式等解決問題,從而讓用戶不受影響。然而,在硬盤故障預(yù)測(cè)中,大規(guī)模復(fù)雜的云計(jì)算平臺(tái)上故障磁盤與健康磁盤的比例可能有3: 10,000,這樣極度不平衡的正負(fù)樣本為傳統(tǒng)的機(jī)器學(xué)習(xí)預(yù)測(cè)帶來了極大的挑戰(zhàn)。此外,在硬盤徹底無法使用之前,其上層應(yīng)用已經(jīng)受到影響,因此單靠硬盤自身數(shù)據(jù)是無法做到即時(shí)預(yù)測(cè)的。
解決硬盤故障,就遇到了 AIOps 研究中的一大難題,這就是小數(shù)據(jù)樣本。那么,微軟亞洲研究院的研究員又是怎么解決問題的呢?首先,不能光看硬件本身的數(shù)據(jù),而要將硬件相關(guān)的上下游數(shù)據(jù)都連在一起看問題,這樣就極大擴(kuò)展了可用數(shù)據(jù)。例如,遠(yuǎn)在硬盤出現(xiàn)故障前,可能硬件之上運(yùn)行的虛擬機(jī)性能就已經(jīng)受到了影響,這時(shí)就可以通過監(jiān)測(cè)虛擬機(jī)性能來提前判斷是否硬盤將要出現(xiàn)故障;另外,硬盤基本上都放置在同一個(gè)磁盤陣列中間,如果主板電壓不太穩(wěn)定,當(dāng)一個(gè)硬盤壞掉之后,可能同時(shí)影響到其它硬盤,或者工作負(fù)載也會(huì)受到影響,因此把鄰近的硬盤當(dāng)作一個(gè)整體,也可以很好的進(jìn)行預(yù)測(cè)。
基于上述思路,微軟亞洲研究院提出了鄰域-時(shí)間注意力模型(NTAM),包括鄰域感知組件、時(shí)間組件、決策組件等,在時(shí)間和空間上都能夠捕捉更多信息,讓模型預(yù)測(cè)能力更強(qiáng)。通過大量的數(shù)據(jù)實(shí)驗(yàn),與過去10年到20年最前沿期刊或者會(huì)議上的論文方法進(jìn)行比較,微軟亞洲研究院提出的模型預(yù)測(cè)能力從精確度和召回率方面都有更佳效果。
NTAM 模型概覽
NTAM 論文鏈接:
https://dl.acm.org/doi/10.1145/3442381.3449867
在大規(guī)模服務(wù)故障預(yù)測(cè)方面,為了最大程度避免大規(guī)模服務(wù)中斷(outage),減少服務(wù)停機(jī)時(shí)間,確保云服務(wù)的高可用性,微軟亞洲研究院開發(fā)了一種智能的大規(guī)模中斷預(yù)警機(jī)制 AirAlert,可以在云服務(wù)大規(guī)模中斷發(fā)生前預(yù)測(cè)中斷的發(fā)生。AirAlert 收集整個(gè)云系統(tǒng)中的所有系統(tǒng)監(jiān)控信號(hào),檢測(cè)監(jiān)控信號(hào)之間的依賴性,并動(dòng)態(tài)預(yù)測(cè)整個(gè)云系統(tǒng)中任何地方發(fā)生的大規(guī)模中斷,然后使用一種叫做魯棒梯度提升樹(robust gradient boosting tree)的技術(shù),預(yù)測(cè)潛在的大規(guī)模中斷。研究團(tuán)隊(duì)在微軟云系統(tǒng)收集了超過1年的服務(wù)中斷數(shù)據(jù),并在數(shù)據(jù)集上驗(yàn)證了該方法的有效性。
在系統(tǒng)實(shí)際運(yùn)行中時(shí)而會(huì)發(fā)生某些系統(tǒng)故障,導(dǎo)致系統(tǒng)服務(wù)質(zhì)量下降甚至服務(wù)中斷,通常稱為服務(wù)事故(Service Incident)。云服務(wù)事故往往會(huì)帶來巨大的經(jīng)濟(jì)損失,并且影響用戶在云上部署的服務(wù)。過去幾年,微軟亞洲研究院采用軟件解析的方法來解決在線系統(tǒng)中的事故管理問題,開發(fā)了一個(gè)系統(tǒng)云服務(wù)分析工作室(SAS)來幫助軟件維護(hù)人員和開發(fā)人員迅速處理、分析海量的系統(tǒng)監(jiān)控?cái)?shù)據(jù),提高事故管理的效率和響應(yīng)速度。SAS 在2011年6月被微軟某在線產(chǎn)品部門所采用,并安裝在全球的數(shù)據(jù)中心,用于大規(guī)模在線服務(wù)產(chǎn)品的事故管理。通過分析半年的 SAS 使用記錄發(fā)現(xiàn),工程師在處理大約86%的服務(wù)事故中使用了 SAS,并且 SAS 能夠?yàn)槠渲屑s76%的服務(wù)事故處理提供幫助。
微軟亞洲研究院長(zhǎng)期深耕數(shù)據(jù)智能領(lǐng)域,利用大規(guī)模數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)和人工智能技術(shù)對(duì)紛繁復(fù)雜的運(yùn)維大數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,為系統(tǒng)維護(hù)提供有效的決策方案。如今,微軟亞洲研究院的研究成果已經(jīng)應(yīng)用到了微軟 Azure、Office 365、OneDrive、SharePoint 等諸多在線服務(wù)中,成為保障微軟云和在線服務(wù)高質(zhì)量運(yùn)行背后的黑科技。未來,微軟亞洲研究院也希望打造更加通用化的 AIOps 技術(shù),幫助更多的用戶以及業(yè)界提升云服務(wù)的整體運(yùn)維水平,夯實(shí)云計(jì)算作為新型社會(huì)基礎(chǔ)設(shè)施的“地基”。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。