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