智慧運維AIOps,加速雲端計算中的正規化轉變

語言: CN / TW / HK

(本文閱讀時間:12分鐘)

眾所周知,近年來微軟 Azure 雲端計算平臺一直保持著強勁的增長勢頭。微軟公司董事長兼執行長薩提亞·納德拉(Satya Nadella )曾 表示,數字技術是通漲經濟中的去通漲之力,不論是大企業還是小企業,都能通過構建自己的技術強度而提高生產力,以及讓自己的產品和服務被更廣泛的採用。端到端交付數字平臺和工具的微軟雲,正幫助企業和組織在當前的轉型和鉅變中穩步前進。

如今,微軟雲有上千萬臺物理伺服器,部署在世界五大洲上千個數據中心,執行著上百萬客戶的應用和服務,其中包括95%以上的財富500強企業的服務,每個月都有新的硬體上線使用,幾乎每天甚至每分鐘都有新的軟體更新部署到雲上,微軟雲的複雜程度已經遠遠超出人類的理解範圍。那麼在微軟雲的背後,又有怎樣的黑科技呢?

近日,微軟亞洲研究院常務副院長、微軟傑出首席科學家張冬梅和微軟亞洲研究院首席研究員林慶維,以及微軟雲端計算與人工智慧事業部首席資料科學家黨映農,聯袂向外界披露了微軟雲背後的黑科技——智慧運維 AIOps。

軟體工業的數字化轉型

近15年來的雲端計算迅猛發展,為智慧運維 AIOps 提供了廣闊的發展空間。所謂智慧運維 AIOps 就是以大資料和人工智慧的方式,替代原先人工對資料中心的運維方式。在公有云資料中心出現之前,都是企業自建資料中心,相比來說都是中小型資料中心而且位置分散,出現的故障數量不高、故障型別也難以全面,因此很難形成用於人工智慧分析的大資料。而公有云的出現,改變了一切。

微軟亞洲研究院常務副院長、微軟傑出首席科學家張冬梅

在數字經濟大發展的前提下,公有云也獲得了大發展,以微軟云為代表的公有云,出現了全球化的超級雲,例如微軟雲就有上千萬臺伺服器,因此在微軟雲一個雲平臺上就有可能獲得全域性、全量、全面的資料中心運維大資料。其次,由於公有云成為了全社會的基礎設施,全社會對於公有云運營商的要求也水漲船高,這就倒逼公有云運營商必須提高資料中心運維的自動化和智慧化水平,從人工方式切換到更加穩定、高效而又安全的智慧運維 AIOps。

張冬梅介紹,微軟亞洲研究院在智慧運維 AIOps 研究方向的起步非常早。可以追溯到2009年到2010年,那個時候微軟亞洲研究院成立了 Software Analytics Group(軟體分析組),希望從資料驅動的角度對軟體領域進行研究,在軟體場景下最重要的問題包括執行系統問題、使用者體驗問題、開發效率問題等,這與今天的 AIOps 非常類似。

雲端計算成為了過去10到15年內軟體和軟體工業的正規化轉變動因和平臺。當雲端計算系統變成了軟體執行的主要形態時,Software Analytics 自然地就會把研究焦點集中到雲端計算系統。隨著軟體從以前面向單機和伺服器到面向超大規模雲資料中心的延展,軟體工程面臨著深刻變革,從之前主要關注程式設計師,向關注系統、使用者以及開發運維者的擴充套件——這是因為在公有云中的軟體,最終將執行起來變成系統,從而對外提供雲服務,同時,作為系統還要關心使用者體驗和開發部署效率,這是三位一體、不可或缺的模式。

總結下來,雲端計算不僅是企業資料中心的轉型,更推動了軟體和軟體工業的數字化轉型——軟體的設計、開發、運維等由人工方式轉向資料和人工智慧驅動,由此帶來了智慧運維 AIOps 的可行性和可能性。而微軟亞洲研究院自十多年前開始的 Software Analytics 研究,保障了今天微軟雲的穩定、可靠、安全等特性,以及業績不斷上漲的強勢局面。

AIOps 的三大方向

目前,業界對於 AIOps 的研究以及實踐,仍處於初級階段。對比自動駕駛的五個等級,AIOps 可以說是資料中心的“自動駕駛”,也可以分為 L0-L5 等級,其中 L5 對應於完全“無人駕駛”的最高階,可以說是 AIOps 的終極目標。

微軟亞洲研究院首席研究員林慶維

張冬梅介紹,AIOps 通過創新的人工智慧和機器學習技術,有效且高效地設計、構建和運維大規模複雜的雲服務。從微軟亞洲研究院的角度,AIOps 主要有三大研究方向:系統、使用者與開發者。

首先是系統服務,即 AI for System。雲服務由部署了軟體的資料中心繫統為客戶提供服務,軟體必須要在雲資料中心上執行起來,與雲資料中心一起組成可執行的系統,才能對外提供雲服務。而從可執行的系統角度來看,系統的效能、穩定性、安全性等各方面問題,都是需要研究的物件。其次是客戶,即 AI for Customer。與網際網路服務不同的是,雲服務不僅服務於個人,更服務於企業,既然是為使用者服務,一定要注重使用者體驗。即使系統再穩定,但使用者體驗不好的話,大家也不會選擇雲服務。第三是開發者,即 AI for DevOps,主要是面向開發人員和運維人員,用智慧技術提高他們的生產率,讓日常工作更順暢。

在系統服務方面,經常遇到的場景有兩個:異常行為檢測,也就是當系統出現問題了,必須要能夠檢測出來;預警,即在問題出現之前預測可能要出現的問題。對於這兩個場景,主要基於資料和機器學習的方法,再結合專業領域知識,才能夠進行比較好地判斷和預判。

在使用者方面,一個場景就是加強與使用者的互動,從而讓使用者獲得很好的體驗。例如,當用戶遇到問題的時候,經常會聯絡雲服務的客服人員,如果事先能夠為使用者提供一些工具,讓使用者自動獲得雲上服務的構建情況以及到底出現了什麼問題,當與客服人員溝通的時候,客服人員也能第一時間掌握具體情況,雙方在同等知識層面上交流,這樣才能更好地幫助使用者。

在開發和運維方面,主要是幫助開發或運維人員更好完成諸如 CI/CD 持續整合和持續部署等工作。而當出現了問題,一方面要快速找到解決辦法,讓雲服務儘快地回到正常狀態,但系統恢復正常並不等於根本性解決問題。很多時候,因為系統非常複雜,要花很多時間去研究、發現和除錯,才能找到根因。由於日誌量非常龐大,就需要通過智慧的方法,幫助開發人員儘快高效、準確地完成診斷。

除了面向系統、使用者和開發者外,AIOps 需要解決的問題型別方面,又可以分為檢測、診斷、預測與優化等四大方面。在每一個問題方面,都有很多挑戰以及多個解決問題和挑戰的細分研究領域。歸根結底,雲平臺非常複雜,不僅規模大而且為分散式架構,因此 AIOps 是一個需要長期投入的研究領域。

微軟雲背後的黑科技

對於類似微軟雲這樣的大規模高度複雜並承載大量客戶應用的雲端計算系統,很難運用傳統的非智慧的軟體開發和運維技術進行高效地開發、部署、運營和管理。微軟雲端計算與人工智慧事業部首席資料科學家黨映農介紹,早在五六年前,微軟雲端計算部門的工程團隊就深切意識到了實施智慧運維的巨大必要性和迫切性,開始建立專門的資料科學家團隊,並且與微軟研究院深度戰略合作,進行智慧運維方面的研發以及部署工作。

微軟雲端計算與人工智慧事業部首席資料科學家黨映農

通過過去幾年和微軟研究院的深度合作,以及微軟雲工程師們的不懈努力,今天微軟雲已經在智慧運維方面積累了不少重要的技術創新,包括雲服務系統的智慧化和管理自動化、雲開發和部署的智慧化,以及智慧化客戶響應等等。具體來講,人工智慧和機器學習技術已經深度整合到微軟雲基礎設施的管理軟體中,包括智慧監控、智慧預測、智慧修復等等。

黨映農強調,自動化和智慧化一起推進,一方面使得雲服務的可用性、可靠性以及效率得到提升,另一方面使得雲服務執行的自主性得到提高,需要進行人工維護的場景不斷減少,維護代價不斷降低。而機器學習技術也極大改善並增強了微軟雲的開發和執行維護解決方案的功能,比如像智慧測試、智慧診斷、智慧部署等等,大幅提高了開發和運維工程師的效率。

以常見的硬碟故障為例。林慶維介紹,硬體問題是虛擬機器宕機的原因之一,而硬碟故障是造成硬體問題的主要原因之一。為此,工程師們希望在出現故障之前,能更早地預測出故障,然後採取措施將使用者的虛擬機器遷移到其它機器上,或是通過軟啟動的方式等解決問題,從而讓使用者不受影響。然而,在硬碟故障預測中,大規模複雜的雲端計算平臺上故障磁碟與健康磁碟的比例可能有3: 10,000,這樣極度不平衡的正負樣本為傳統的機器學習預測帶來了極大的挑戰。此外,在硬碟徹底無法使用之前,其上層應用已經受到影響,因此單靠硬碟自身資料是無法做到即時預測的。

解決硬碟故障,就遇到了 AIOps 研究中的一大難題,這就是小資料樣本。那麼,微軟亞洲研究院的研究員又是怎麼解決問題的呢?首先,不能光看硬體本身的資料,而要將硬體相關的上下游資料都連在一起看問題,這樣就極大擴充套件了可用資料。例如,遠在硬碟出現故障前,可能硬體之上執行的虛擬機器效能就已經受到了影響,這時就可以通過監測虛擬機器效能來提前判斷是否硬碟將要出現故障;另外,硬碟基本上都放置在同一個磁碟陣列中間,如果主機板電壓不太穩定,當一個硬碟壞掉之後,可能同時影響到其它硬碟,或者工作負載也會受到影響,因此把鄰近的硬碟當作一個整體,也可以很好的進行預測。

基於上述思路,微軟亞洲研究院提出了鄰域-時間注意力模型(NTAM),包括鄰域感知元件、時間元件、決策元件等,在時間和空間上都能夠捕捉更多資訊,讓模型預測能力更強。通過大量的資料實驗,與過去10年到20年最前沿期刊或者會議上的論文方法進行比較,微軟亞洲研究院提出的模型預測能力從精確度和召回率方面都有更佳效果。

NTAM 模型概覽

NTAM 論文連結:

https://dl.acm.org/doi/10.1145/3442381.3449867

在大規模服務故障預測方面,為了最大程度避免大規模服務中斷(outage ,減少服務停機時間,確保雲服務的高可用性,微軟亞洲研究院開發了一種智慧的大規模中斷預警機制 AirAlert,可以在雲服務大規模中斷髮生前預測中斷的發生。AirAlert 收集整個雲系統中的所有系統監控訊號,檢測監控訊號之間的依賴性,並動態預測整個雲系統中任何地方發生的大規模中斷,然後使用一種叫做魯棒梯度提升樹(robust gradient boosting tree)的技術,預測潛在的大規模中斷。研究團隊在微軟雲系統收集了超過1年的服務中斷資料,並在資料集上驗證了該方法的有效性。

在系統實際執行中時而會發生某些系統故障,導致系統服務質量下降甚至服務中斷,通常稱為服務事故(Service Incident)。雲服務事故往往會帶來巨大的經濟損失,並且影響使用者在雲上部署的服務。過去幾年,微軟亞洲研究院採用軟體解析的方法來解決線上系統中的事故管理問題,開發了一個系統雲服務分析工作室(SAS)來幫助軟體維護人員和開發人員迅速處理、分析海量的系統監控資料,提高事故管理的效率和響應速度。SAS 在2011年6月被微軟某線上產品部門所採用,並安裝在全球的資料中心,用於大規模線上服務產品的事故管理。通過分析半年的 SAS 使用記錄發現,工程師在處理大約86%的服務事故中使用了 SAS,並且 SAS 能夠為其中約76%的服務事故處理提供幫助。

微軟亞洲研究院長期深耕資料智慧領域,利用大規模資料探勘、機器學習和人工智慧技術對紛繁複雜的運維大資料進行實時分析,為系統維護提供有效的決策方案。如今,微軟亞洲研究院的研究成果已經應用到了微軟 Azure、Office 365、OneDrive、SharePoint 等諸多線上服務中,成為保障微軟雲和線上服務高質量執行背後的黑科技。未來,微軟亞洲研究院也希望打造更加通用化的 AIOps 技術,幫助更多的使用者以及業界提升雲服務的整體運維水平,夯實雲端計算作為新型社會基礎設施的“地基”。

你也許還想看