Gartner在對2018年的技術預測報告《Predicts 2018: IT Operations》中提到,未來五年,隨著數字化程度的提高,75%的企業可能會遭遇IT故障造成的業務中斷,越來越多的大型企業將使用人工智慧進行IT運營(AIOps),以支援和部分取代傳統的ITOM。其中,到2019年,四分之一的全球企業將策略性地實施AIOps支援兩個或更多主要IT運營功能;到2022年,40%的大型企業將結合大資料和機器學習功能,支援和部分替代監測、服務檯和自動化流程和任務。Gartner在報告中指出,現在是開始戰略性地利用 AlOps平臺進行IT運營的時候了。
雲就可靠嗎?在技術變革和迭代的過程中,一切都不能保證100%的安全,只能更安全,卻不能完全安全,否則,就沒有技術人員什麼事兒了。上海藍盟統計了一下,近些年,因為IT系統出現故障導致對外服務降級和終止,從而造成極大影響的案例屢見不鮮,AWS、Azure和國內的一些雲服務商等曾被報道出過此類事故。背後的原因在於:一方面,隨著IT系統與業務日益密切,特別是不少企業IT即業務,IT與業務已經分不開,IT的重要性不言而喻;另一方面,IT系統越來越複雜,其管理難度越來越高。如果高效運維成為IT部門乃至CIO必須面對的問題,特別是那些大型資料中心這一問題尤為突出。在這一背景之下,自動化運維以及AIOps等概念一經提出就受到業界關注,特別是AIOps,在AI熱的加持下,這一概念很快就成為運維領域最熱門的詞彙之一。那麼,AIOps到底是什麼?有啥魅力?
AIOps為何被認可
我們在談AIOps之前,還是先看看IT運維的現狀。如前所說,近些年來,隨著IT應用的日益普及,IT應用越來越複雜,涉及面越來越廣,一旦出現故障,診斷越來越困難,導致人才緊缺。比如,硬體方面會涉及使用者終端、伺服器、儲存、網路等,在軟體方面則有作業系統、中介軟體、資料庫等,另外還涉及運營商的網路、雲服務商、CDN服務商等,其中任何一個環節出現問題都會導致使用者體驗欠佳。而讓這個問題更為複雜的是,當今網際網路環境下越來越多的應用之間通過API或者Web服務進行通訊時,這一切就更為困難。
為了高效運維,此前人們提出自動化運維的理念,希望通過各種軟體工具,特別是一些開源產品(如Ansible、Chef)來自動化流程,通過減少人力來提高效率。但這只是解決執行問題,沒有解決診斷和歸因的問題。實際上,在故障發生和麵對各個各樣報警資訊時如何快速準確找到問題所在,這是解決故障的關鍵。而AI和大資料技術的出現,讓我們看到了解決這個問題的希望。實際也正如我們看到的,AI和大資料等資料分析和處理技術在改變傳統行業的同時,也IT行業自己帶來新的發展,IT運維就是其中之一。
上海藍盟認為“IT運維正在從大資料和AI技術中受益,從而使得IT運維開始轉向IT運營,IT運維也從被動防護轉向主動感知。”
這種受益首先體現在,大資料的出現讓IT運維有了能力來收集和處理海量的資訊,而且是幾乎實時地完成整個過程。其次,AI技術的引入讓系統有了“火眼金星”,可以及時發現問題、預測問題,並自動解決問題,大大減少了人工參與。
從自動化到智慧運維
注意到IT運維行業上述變化,善於製造概念的Gartner於2016年提出AIOps(智慧運維),稱其為應用了AI技術的新一代IT運維,將代表IT運維的新趨勢。
Gartner在對2018年的技術預測報告《Predicts 2018: IT Operations》中提到,未來五年,隨著數字化程度的提高,75%的企業可能會遭遇IT故障造成的業務中斷,越來越多的大型企業將使用人工智慧進行IT運營(AIOps),以支援和部分取代傳統的ITOM。其中,到2019年,四分之一的全球企業將策略性地實施AIOps支援兩個或更多主要IT運營功能;到2022年,40%的大型企業將結合大資料和機器學習功能,支援和部分替代監測、服務檯和自動化流程和任務。Gartner在報告中指出,現在是開始戰略性地利用 AlOps平臺進行IT運營的時候了。
很顯然,AIOps被Gartner的一經提出很快就被廣泛接受,也引發了眾多從事IT運維業務的廠商們積極跟進。實際上,今天我們看到幾乎所有從事IT運維行業的廠商都宣稱在其產品中集成了AI和大資料功能。
AIOps能幹什麼?
根據Gartner的定義,AIOps的主要目標包括:通過採集當前環境中的運維資料,整合現有IT運維管理工具,利用演算法等高階資料分析技術對IT系統中各個環節的問題進行快速定位、故障排除和預測;對來自業務環節中各個分散式系統的資料進行聚合分析,合理優化IT服務,挖掘關鍵業務的KPI指標,反哺業務端,幫助其做出明智決策;通過大資料和人工智慧技術分析使用者的行為日誌和運維資料,發掘潛在的系統安全和合規問題,為企業的資訊保安保駕護航。
功能看起來很多,但在筆者看來最為核心的功能有:發現異常、定位故障、基線預測等,這些都屬於智慧運維範疇,在此之上還有提供對業務支撐和運營,也就是現在一些廠商提的“IT運營”。與前面的核心功能相比,業務支撐和運營各家都有自己的解讀。相比較而言,前面的幾個功能更容易理解,也更為普遍。
以發現異常為例,傳統IT運維工具中都會採用基於經驗值來定義異常閾值,這種方法主要基於人的主觀判斷。而基於機器學習的方法,通過積累歷史運維資料,根據日常運維的需求在資料特徵的基礎上建立演算法模型,對模型進行週期性地訓練學習,從而能為IT系統提供更為及時、準確、高覆蓋的檢測結果。比如,傳統異常發現的流程是運維人員在系統中建立了業務路徑,並對路徑中關注的節點或連線進行告警設定。如資料中心網銀交易伺服器響應時間告警的設定為>300ms,如果運維軟體監測到響應時間超過300ms,系統告警。而採用AI方法進行異常檢測時,運維人員不用對業務路徑做任何告警設定,當機器學習演算法檢測到某個業務路徑的某個節點或連線上產生了異常值,就會自動丟擲異常事件。
抑制告警風暴也是AIops的非常實用的功能。所謂告警風暴是指在短時間內系統產生大量告警訊息,這些訊息有的是由某種共同因素引發,互相之間存在一定關聯。大型企業的IT應用系統龐大而複雜,裝置數量動輒成千上萬,任何一個小小的IT問題都有可能引發“告警風暴”。大量同一事故源引發的告警資訊會極大地干擾運維人員的工作,導致運維人員疲於應付大量的告警訊息,需要耗費更多時間排查和處理問題,大大降低了運維效率,更為嚴重的是會讓真正關鍵的告警資訊淹沒其中,由於無法第一時間發現根源問題,延誤了故障處理時間。而AIops通過演算法模型結合固定規則的方式對告警訊息進行告警壓縮和告警合併,在保證核心告警內容(即不壓縮核心告警內容)的前提下合併告警訊息數量,為運維人員提供有效的告警資訊。
就藍盟在IT外包的過程中了解到,有很多廠商提出“IT運營”,不只是讓AIOps用於運維,還希望讓AIOps為業務運營提供更多直接支援,比如對IT系統進行預警和預測,輔助決策,從而為企業的IT管理從IT運維向IT運營轉型提供幫助。應該說,這應該是IT運維的發展方向,畢竟運營才能產生效益,Gartner也提出了這個觀點。但與IT運維相比,IT運營還是一個更高階的階段,如何支援還需要更多探索。