筆者根據自身的技術和行業理解,探索分析AIOps在企業落地的前提條件。算法
涉及關鍵字:自動化運維、AIOps、技術運營PaaS、藍鯨等。數據庫
做者:張敏後端
Gartner在2016年時便提出了AIOps的概念,AIOps即人工智能與運維的結合,並預測到2020年,AIOps 的採用率將會達到 50%。服務器
簡單來講,AIOps 就是基於已有的運維數據(日誌、監控信息、應用信息等)並經過機器學習的方式來進一步解決自動化運維沒辦法解決的問題。網絡
軟件的一些「算法邏輯」不表明真正的AIOps,判斷是不是真正AIOps的關鍵點在於:是否能自動從數據學習中總結規律,並利用規律對當前的環境給予決策建議。 架構
Gartner定義AIOps概念圖框架
AIOps的概念:運維
AIOps的應用:dom
經過對運維數據的計算和分析支持智能監控、智能的故障分析和處理,智能IT知識圖譜等。機器學習
AIOps的價值:
傳統運維面對海量的運維數據,要快速止損和進行決策,人工專家的分析判斷每每須要花費數小時或更大。
而AIOps在於經過機器學習來進行運維數據的挖掘,能幫助人甚至代替人進行更有效和快速的決策。
智能運維在企業的落地,可以提高業務系統的SLA,提高用戶的體驗,減少故障處理的時間等,帶來業務的價值;並最終實現真正意義上的無人值守運維。
目前各大傳統客戶圍繞AIOps的探討和建設主要是以下內容:
發現問題:基於機器學習的異常檢測;
例如,目前監控數據的異常閾值每每是靜態的,沒法有效規避變動時間、特殊節假日、業務正常的高低峯等,簡單閾值、同環比算法的覆蓋面有限,很容易漏警和誤警。
基於歷史數據或進行樣本標記的KPI異常檢測,能第一時間發現問題,檢測模型能覆蓋大多數曲線類型,能較好適應業務生命週期中的變化。
根因分析:基於機器學習的故障樹挖掘,定位故障發生的根源以及其緣由;
例如,首先實現故障精準定位,在多指標狀況下的業務異常(多指標檢測的異常),出現異常的緣由具體是哪一個指標緻使的;而後根據故障樹挖掘和知識圖譜,實現故障的精準根因分析與定位。
預測將來:基於機器學習模型的指標預測;
例如,基於多種迴歸和統計方法,實現對不一樣級別粒度的業務數據的預測,包括業務指標預測、容量預測等,如雙11業務對組件容量和資源容量的容量預測等。
IT輔助決策支持:深刻運營場景,實現業務運營的IT輔助決策應用;
如營收預測、輿情分析與預測等場景。
算法層面則能夠跟學術界進行合做或在社區中獲取,在早期訓練數據集和反饋數據量比較少的狀況下,採用無監督學習,具體實現是用模式識別(pattern recognition)的技術來判斷指標是否關聯。關聯性是經過時間序列曲線類似度(similarity distance)來衡量的。
機器學習算法庫提供計算時間序列曲線類似度的各類算法,好比:歐幾里德距離(Euclidean Distance)、曼哈頓距離(Manhattan Distance)、明科斯基距離(Minkowski Distance)等。
在有足夠數據集之後,算法演化成有:監督學習、隨機森林(Random Forrest)、GBDT(Gradient Boosted Decision Tree) 、神經網絡(Neutal Network)等。
AIOps從技術層面來說,須要數據、算法模型兩個最爲核心的要素,數據的支撐須要一套總體的運維大數據體系,而算法模型的支撐則須要一套總體的挖掘框架體系,以及執行決策的自動化系統。
運維大數據:
須要有集成多類數據源、一站式低門檻的數據開發、統一的多樣化數據存儲和查詢等功能。
數據挖掘:
全流程、可視化數據建模,支持多種機器學習框架、交互式建模IDE、可視化樣本標記等功能。
自動化系統:
須要集成企業CMDB、做業執行、編排引擎、自定義場景等功能。
更爲核心的是這些功能模塊之間應該有效交互,不能僅僅是獨立的各個模塊,須要有一套平臺架構來去支撐各個個性化的場景,尤爲是打破數據煙囪、功能煙囪,這樣才能實現有效的智能運維生命週期落地:
數據採集→數據建模→機器學習挖掘→自動化執行→反饋
而騰訊藍鯨,騰訊IEG自用的一套用於構建企業研發運營一體化體系的PaaS開發框架,則經過解耦原子能力與場景,能徹底支撐AIOps的生命週期落地。
藍鯨PaaS支撐AIOps落地
一、管控模塊負責經過Agent、通用協議和API接口等方式將公有云、私有云或者混合雲中的服務器、存儲、網絡、虛擬化平臺、數據庫、中間件、基礎應用、業務應用、雲管平臺、容器等企業全部須要統一運維的IT資源進行納管;有統一的管道進行接入數據、有統一的管道執行命令。
二、平臺層中的每一個原子平臺都是一個或者多個相關功能的集中實現:
配置模塊(CMDB):
企業全部IT對象配置信息的集中存儲和消費中心。
做業模塊:
針對IT對象進行腳本執行和文件分發層面的自動化編排的做業中心。
編排模塊:
跨系統編排及調度引擎,實現覆蓋全生命週期場景的運維工做。
數據接入、開發與存儲:
運維大數據平臺,針對運維和運營數據進行大數據接入、清洗、存儲、實時和離線計算、展現以及數據消費的中心,是實現數據運維和輔助運營的關鍵。
AI挖掘:
通全流程、可視化數據建模,支持多種機器學習框架、交互式建模IDE、可視化樣本標記,並支持本身寫入算法。
iPaaS層:
API GateWay(統一接入模塊),將配置管理(CMDB)平臺、做業平臺、數據平臺、挖掘平臺等原子平臺統一接入、集成、驅動和調度,供上層運維場景SaaS驅動和調用。
aPaaS開發者中心:
開發者中心提供完整的先後端開發框架,當企業在將來出現新的運維需求的時候,企業能夠快速利用開發者中心完成相應的運維繫統開發,並一鍵部署。
平臺全部的運維場景的實現運行在這個層次,包含配置管理與消費、IT監控與故障自愈、運維自動化、運維流程管理、數據分析和智能運維場景。
騰訊藍鯨原子平臺數據平臺架構
騰訊藍鯨原子平臺挖掘模塊示例
從總體上來說,AIOps的引入和使用須要具有必定的條件,但並不須要企業把全部東西準備好才能動工。
例如不少企業以爲應該準備好數據完整性和人才才能開始應用AIOps,可是,數據的完整性取決於探索以後才知道怎樣的數據纔是完整的;AIOps人才更爲關鍵的在於瞭解智能運維場景;算法也只有根據實際狀況不斷調優纔能有更好的應用效果。
只要有痛點,和經過智能運維帶來價值,AIOps就能夠先引入,並逐步帶動企業智能化運維的發展。
總結來說,AIOps落地的前提條件應該分爲三個方面:
可是三個條件都不是指必須徹底準備好才能開始實踐:
基礎設施平臺:
能夠從自動化能力,以及數據一體化能力進行起步建設,而不是一開始就建設一套於運維人員簡單易用的模型設計框架;
算法:
目前已經有不少運維領域通用的算法,能夠採用跟學術界、社區以及騰訊這些有實際落地經驗的算法提供方進行合做,算法引入後須要不斷調試優化纔能有一個更爲準確的百分比;企業也能夠自建算法人才,可是算法自己屬於科學領域,於企業而言,能夠從性價比上綜合來考慮;
人員組織:
人員組織的準備,更爲關注的應該是跨技術領域的綜合性運維人才,他們更懂運維場景,以及智能運維能實際解決哪些問題點,不能爲了智能而智能。
以上,是筆者參考和研究一些資料後,以及結合企業經驗的一些我的感覺和理解,歡迎留言探討。