我們處在這個數字化時代,數據中心規模和容量都在成倍增長,隨之而來的運維管理復雜度和難度也越來越大,從腳本運維、工具運維到平臺運維演進至今,人力已接近極限,AIOps應運而生。AIOps (Artificial Intelligence for IT Operations),即智能運維,是將人工智能與運維結合,基于已有運維數據(日志、監控信息、應用信息等),通過機器學習的方法來提升運維效率,從而逐步取代人工的運維。早些時候,關于機器人是否能代替人類的話題引起熱議,很多人還擔心人類引入AI的后果可能是最終被機器人所擊敗,世界變成是機器人的。別的領域不說,單說運維,那巴不得AI能將人替代,這樣可以節省很大的人力開支,人工運維效率低不說,還容易出錯,將運維交給AI是不錯的出路,這就是AIOps火起來的原因。
AIOps并不是憑空而起的技術,實際上,運維一直是數據中心重要的工作之一,在數據中心漫長的生命周期內,幾乎大部分時間都是運維的工作。在運維發展的過程中,從最開始的人工運維,到工具運維,再到Devops,Devops可以理解為自動化運維,現在到了AIOps的時代。人工運維顧名思義,是利用單獨的腳本或者一些簡單的工具,沒有較為完善的系統和運維理念,絕大部分運維的工作靠人工完成;工具運維則依賴較為完善的工具,并經過不斷改進,工具越來越成熟,工具可以替代一些重復性的操作類人工工作;Devops則完全依賴自動化,通過SRE、Chatops等高級形式工具,將運維流程和操作實現完全自動化,Devops可以代替大部分的人力工作;AIOps則將AI技術引入到運維當中,通過機器的自我學習、自行分析決策,自動去執行腳本。顯然,隨著運維技能的提升,數據中心越來越多運維的工作都可以交由機器來自動完成,至少最終數據中心完全可以自動運行,鮮有人工參與,這樣能極大降低數據中心的人力成本,提升數據中心的競爭力。
AIOps可并不是拿來就可以用的,它要對海量的數據進行學習,學習完后有了經驗,才能夠根據學習的經驗來工作。所以AIOps需要大量的監測日志、設備運行狀態信息、已發生過的故障、歷史經驗、自動化腳本等等,數據越豐富,AIOps的能力就越強,試想如果靠人去記憶查找,人的大腦是記不住太多東西的,而機器不同,它可以清楚記得數十G文件中的任何位置的標點符號,相對于人類的智慧——雖然是無限的,但不如機器來得高效。所以當遇到問題時,AIOps依賴的歷史數據要比人腦積攢的多得多,如此才能給出最佳的問題處理方式,這也是AI在任何一個領域中應用時所用的相同方式。AIOps就是將人工決策分析交給了機器,用機器學習方法做決策分析。從技術上說,AIOps需要大量的實踐和沉淀,任何歷史的經驗數據對AIOps都有益。如果說AIOps學習的數據樣本很少,那么再好的算法,也會經常給不出決策結果,最終還是要人工干預,要是事事還要人去參與,那AIOps就失去存在的意義了。在AIOps學習階段,要給AIOps輸入大量的學習樣本,學的越多,AIOps能夠代替人處理的工作就會越多,隨著時間的積累,你會發現AIOps能干的事情越來越多,只要讓AIOps學習一次,類似的工作AIOps都可以做起來,比人工高效多了。數據中心出現故障是無法完全避免,重點是快速應對,不以發生故障為恥,以快速修復為榮,AIOps幾乎可以數秒之間就可以完成故障排查和解除,在這么短的時間完成,人工是無法做到的,這么快就恢復,業務層面也基本不會有感知,真正做到即便出故障了,也能保持業務無中斷。
AIOps既然是這么棒的技術,一定在數據中心大受歡迎吧,實際卻不是這樣。AIOps概念炒得挺火,真正落地實現的案例并不多。一方面是AIOps采用的機器算法很重要,算法要適應數據中心的環境,根據數據可以得出接近人判斷的結果,AI技術本身也在不斷發展過程中,這方面也還不成熟,技術雖夠先進,可與實際應用還有距離。另一方面是每個行業的數據都有自己的特點,數據中心也不例外,而且數據中心的數據量和特征都特別多,這對AI是個挑戰,數據中心里有太多新的IT技術,產生很多新的數據,這些都需要AIOps不斷調整算法,不斷去適應和學習,如果學的不好,容易給出錯誤的決策,導致系統失控和癱瘓,這時就需要人工多介入,及時調整AIOps的算法和數據錄入的準確性,將一個數據中心的AIOps真正建起來,這不亞于數據中心運維工作幾年的工作量。所以AIOps需要一個專業的團隊來做,大型的企業都有自己的AIOps團隊,而中小企業則從外部聘請IBM、Oracle等AI技術公司來做,這種投入目前看也是蠻大的,往往讓那些想引入AIOps的數據中心暫時擱置起來。所以,當前AIOps落地成了最大的難題,已有部署AIOps的數據中心,AIOps發展差異都很大。
運維未來的方向肯定是AIOps,這一點毋庸置疑,只不過AIOps仍處于偏理論階段,還需要時間進行不斷完善。AIOps 可以貫徹整個運維領域,從硬件資源規劃、管理、實施,操作系統安裝配置,到中間件及應用軟件的上線、變更,以及后續的監控、報警、維護、優化等各方面都能夠支持,AIOps幾乎無所不能,只要人能做的工作,AIOps都能做,人不能做的工作,AIOps也都能做。隨著AIOps的成熟,后面也許會進入AIDevops時代,它比AIOps多了一個Dev,比Devops多了一個AI。這是智能化開發和運維、智能化生命周期管理時代,這要比AIOps還要智能,將具有度量、分析、學習、預測、指導,行動的能力,AIDevops才是智能運維的未來。