關于 AIOps 的過去與未來,微軟亞洲研究院給我們講了這些故事
作者 | 賈凱強
出品 | AI科技大本營(ID:rgznai100)
在過去的15年里,云計算實現了飛速發展,而這種發展也為諸多的前沿技術奠定了基礎,AIOps便在此環境中獲得了良好的發展契機。在數字化轉型的浪潮下,云計算已經成為了整個社會的基礎設施之一。當企業把服務建立在云上,云計算的平臺性能、安全性等要求也在不斷增加,這種情況下,運維的升級便已如箭在弦上。
為了進一步明晰AIOps技術發展的趨勢,微軟亞洲研究院常務副院長,微軟杰出首席科學家張冬梅,微軟亞洲研究院首席研究員林慶維兩位專家為大家做出了明確的解析。
云時代下,AIOps的希望與契機
在云計算時代里,云平臺的系統規模已然成為了一種大規模分布式且復雜度非常高的操作系統。系統之間存在各種問題,盡管工程師在設計時已經盡量將其模塊化,但不改的依然是系統的復雜度。而要保證復雜系統的穩定、高效和安全等,就必須在整體設計、開發、運維等各方面完成模式轉變。
張冬梅博士介紹稱,云計算帶來的范式轉變主要包括了四個層面。首先是基于規則的系統,變成數據驅動的系統。以前開發模式基本上是憑借著經驗和想象而來,難以預測運行狀態如何,軟件在運行的時候會發生很多事情,模式的轉變就是希望把運行時產生和記錄的數據進行分析,增加對整個系統狀況的理解。基于此,整個系統在設計時將不再一成不變,而是有不斷變化的思想,從基于規則到數據驅動。
第二則是從靜態到自適應的發展。當系統不再是固定的,如CI/CD一樣,系統可能隨時開發,隨時變化,并附帶諸多檢查,當新代碼提交并構建后,經過測試會再進行部署,依賴部署策略,在更大的范圍內部署到整個平臺上去。整個過程從靜態變成了動態,系統也需要在動態過程當中,根據外部環境的變化進行自身的調整。
第三則是從局部到整體的觀念轉化。在一個大的云計算系統中不能只看一點,應該把視野放大。比如在云平臺里面肯定會有存儲,但是當某塊硬盤壞掉時,要考慮的不僅僅是換硬盤,還要考慮為什么它會壞?它壞了之后,是否旁邊的也存在風險。
第四便是防患于未然。以往的被動式反應是等系統出了問題才去處理,但是云時代更要做的是防患于未然,要主動在其快出問題的時候,先行采取措施,讓問題最好不要出現。而AIOps便是這樣的一種機制。尤其是在大的云計算平臺,其往往可以根據自身特點和期望,對其設計、實現、運維這三個方面實現模式轉變。
事實上,微軟亞洲研究院早在十余年前就開始對AIOps領域進行研究。那么到底什么是AIOps呢?張冬梅博士解釋稱AIOps是通過創新的AI、ML技術,讓用戶可以有效且高效地設計、構建、運營大規模復雜的云服務。
微軟亞洲研究院常務副院長、微軟杰出首席科學家張冬梅
關于現在,AIOps能夠帶來怎樣的改變
微軟亞洲研究院在嘗試AIOps的更多可能,關于AIOps的定義,其主要有三個方面的研究。
第一是服務/系統,即AI for System。軟件的源代碼只有運行起來才是一個軟件系統,而從運行的系統觀點來看待問題,其便關系到系統的性能、穩定性、安全性等各方面的問題。
第二是客戶,即AI for Customer。系統可以服務于個人,也可以服務于企業。那么為用戶服務時便一定要注重用戶體驗。
第三是開發/運維的生產效率,即AI for DevOps。開發和運維主要是針對開發人員和運維人員,如果能夠用智能技術幫到他們,提高生產效率,則可以讓平時的工作能夠變得更加順暢。
那么AIOps的應用場景包含了哪些呢?在系統服務方面,會常常用于異常行為檢測和預警,其可以基于數據采取機器學習的方法,再結合專業領域知識,實現較好的判斷和預判。
在開發和運維方面,如CI/CD等。其不僅需要在不影響用戶的情況下快速讓系統恢復正常,還需要找出問題出現的原因,但是由于系統的復雜性導致很多時候很難發現問題漏洞,因此需要甄別如日志等各種信息并進行大量的診斷,從而可以通過智能的方法將診斷工作提高效率。
在客戶方面,也需要讓客戶的體驗提升。微軟的云平臺經過多年實踐后,將AIOps方面的實踐提煉成工具,并提供給客戶。當客戶自己構建服務和運維時,基于整個云平臺,就能夠幫助客戶構建其他服務。
在整個運維系統里面,AIOps的研發難度可謂排名前列。在不同的場景中,有著不同的系統、客戶和DevOps運維等。不同的場景會使得研究的角度不同,研究人員需要針對共性問題進行抽象,并從研究角度解決共性問題,找到可推廣的算法或者解決方案,這樣才能提高解決問題的效率。
在AIOps的研發過程中,其主要面對的挑戰有四個領域。首先是檢測,也就是需要知道問題能否及時知道;第二是診斷,要及時的找到問題在哪里,并了解根本原因;第三是預測,其需要防患于未然,而不只是出現問題才采取措施;第四是優化,面對多重約束等問題需要不斷地將模型和產品進行打磨優化。
面向未來,AIOps還有哪些發展
微軟亞洲研究院多年以來在AIOps方面進行了深入的研究工作。其在AIOps方向上起步非常早,早在2009年前后便已經成立了Software Analytics Group(軟件分析組),并希望從數據驅動的角度研究軟件領域。這其中包括了運行系統問題、用戶體驗問題、開發效率問題等。
云計算作為過去10到15年里整個軟件和工業范式的轉變,云計算系統也變成了運行軟件的主要形式。因此,Software Analytics研究的焦點便集中到云計算系統,微軟亞洲研究院也相應提出了云智能/AIOps。Software Analytics做的事情就像是軟件行業的數字化轉型。用數字化轉型的觀念來看,AIOps就像把整個云計算平臺用最先進的AI技術,實現持續不斷的創新。
張冬梅博士認為,AIOps的發展一定要落地,如果不能對軟件工業進步做出任何貢獻,那么技術就沒有太大意義。因此微軟亞洲研究院在研究的同時,也在尋找機會將其真正部署到微軟的Azure云平臺里面,從而對公司和社會做出一些貢獻。
林慶維隨后對微軟亞洲研究院在AIOps方面的工作進行了補充。服務系統方面,檢測異常行為很重要。現在硬件問題是虛擬機宕機的原因之一,在大型的硬件平臺中,磁盤故障是造成硬件問題的主要原因。研究員們希望在出故障之前,系統能更早地意識到或者是能預測出磁盤故障并采取措施。如把用戶的虛擬機遷移到別的機器上去,或者通過軟啟動等方式解決問題,讓用戶不會受到影響。其可以作為一個機器學習的問題,讓模型從大量硬盤的歷史數據中學習到知識之后,根據目前磁盤的狀態,預測將來是否可以及時采取措施。
開發和運維方面,在云平臺上不會像桌面軟件那樣很長時間才更新一次。云平臺上,每時每刻都有非常多的新的部署產生,需要時時刻刻檢測其安全性,避免任何一個部署出問題,進而導致整個云平臺宕機。因此,這就需要通過AIOps的方法,以智能的方式來解決問題,在中間階段將問題抑制,回歸到安全狀態。針對安全部署診斷問題,在云平臺上面的部署,需要確保從小規模部署到大規模的每一步都是安全的,最后才能部署到云平臺。在整個部署的過程中需要檢測所有的健康信號,包括各種資質、傳感器信號、狀態等,必須精確評估是否與部署相關。
因此,微軟亞洲研究院提出了遷移學習方案和主動學習方案,即主動遷移學習異常檢測ATAD。該方案在云平臺上的挑戰主要集中在難獲得高質量的標簽數據,所以微軟亞洲研究院采用了遷移學習的方式將其他數據學到的知識轉化為目標領域。并通過主動學習,讓工程師給出不同的優先級,得到最好的學習效果。通過遷移學習和主動學習,其能夠實現較好的效果。用少于0.1%的人工標注,得到了非常好的準確率。目前這一方案已經用于云平臺中,達到了高效的準確度和召回率,且沒有大的遺漏。
微軟亞洲研究院首席研究員林慶維
在AIOps未來的研究方向上,微軟亞洲研究院希望其能夠更加自主化,幫助用戶做出最優的決策,而不需要人工干預;再比如希望其能夠更加主動化,不能等問題出現才想起來解決問題,應該在問題出現之前,就將其扼殺于萌芽狀態;第三則是希望其能夠更加通用,希望以后跨平臺的AIOps應用,不僅是服務于云平臺,而是服務于所有平臺。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。