在如今的云計算時代,計算的云化和分布式應(yīng)用給運(yùn)維工作帶來了很大的挑戰(zhàn),讓人海戰(zhàn)術(shù)在運(yùn)維面前失靈,所以基于算法和機(jī)器學(xué)習(xí)的智能運(yùn)維(AIOps)必將是業(yè)務(wù)運(yùn)維場景下的大勢所趨。業(yè)界有個說法,公有云最后的競爭是基于運(yùn)維能力的綜合競爭。現(xiàn)在各大公有云服務(wù)商也都在積極探索AIOps,此次我們采訪了華為云應(yīng)用運(yùn)維域?qū)<遥瑸槲覀兘颐厝A為云的智能運(yùn)維實(shí)踐。
華為云的運(yùn)維技術(shù)演進(jìn)
華為云很早就在實(shí)踐智能運(yùn)維了,包括最早的IaaS運(yùn)維,以及近幾年的PaaS運(yùn)維、服務(wù)洞察。只是之前的叫法不是現(xiàn)在談?wù)摰?ldquo;智能運(yùn)維”,而是智能監(jiān)控、應(yīng)用分析、智能分析、自動診斷與調(diào)優(yōu)、自動化運(yùn)維等,華為云的AIOps在SRE和云服務(wù)中都有應(yīng)用和實(shí)踐。
前幾年,華為云主要聚焦在企業(yè)云、私有云、混合云等建設(shè),運(yùn)維能力建設(shè)圍繞數(shù)據(jù)中心,在統(tǒng)一運(yùn)維架構(gòu)、運(yùn)維研發(fā)化的基礎(chǔ)上,重點(diǎn)發(fā)展運(yùn)維的標(biāo)準(zhǔn)化、自動化和智能化。
2017年華為Cloud BU成立,正式進(jìn)入公有云市場。在這個階段,SRE在統(tǒng)一運(yùn)維架構(gòu)基礎(chǔ)上,整合了各種運(yùn)維工具,形成了公有云管理面的統(tǒng)一運(yùn)維。與此同時APM、AOM、CES等云服務(wù)直接面向云租戶提供應(yīng)用運(yùn)維能力。
華為云專家華為云專家認(rèn)為,傳統(tǒng)運(yùn)維和AIOps是緊密聯(lián)系的,在數(shù)據(jù)分析層面二者也有些重疊區(qū)域,并且AIOps也依賴傳統(tǒng)運(yùn)維的數(shù)據(jù)基礎(chǔ)、計算處理等。二者之間的區(qū)別主要體現(xiàn)在數(shù)據(jù)規(guī)模和實(shí)時性上。當(dāng)云實(shí)體的規(guī)模擴(kuò)大、應(yīng)用棧的多樣化、應(yīng)用架構(gòu)的容器化、微服務(wù)化后,運(yùn)維對用戶體驗(yàn)管理和業(yè)務(wù)高可用性越來越不可知性。而云服務(wù)對監(jiān)測的實(shí)時性、反饋控制的及時性、故障預(yù)測、故障自愈等要求也是AIOps所擅長的。
如何使用AI利器
在華為云專家看來,針對不同的產(chǎn)品或者項(xiàng)目,構(gòu)建AIOps所依賴的關(guān)鍵技術(shù)有所不同,比如企業(yè)資源故障預(yù)測項(xiàng)目與公有云上的應(yīng)用性能監(jiān)測服務(wù)就有比較大的區(qū)別。以廣義的APM為IT運(yùn)維的范圍,一般涉及到以下關(guān)鍵點(diǎn):
·監(jiān)測對象的完整建模:各層物理實(shí)體、虛擬實(shí)體與應(yīng)用服務(wù)的映射關(guān)系;
·監(jiān)測數(shù)據(jù)的采集與預(yù)處理:比如元數(shù)據(jù)是否完備,海量數(shù)據(jù)的高效訪問與擴(kuò)展等;
·子領(lǐng)域的算法選擇:合理劃分出問題域的邊界,結(jié)合領(lǐng)域知識篩選或設(shè)計出合適的算法,并予與驗(yàn)證。
在華為云的實(shí)踐中,AI技術(shù)主要應(yīng)用在以下幾個方面:
·預(yù)測的智能化
·診斷的智能化
·自愈的智能化
·Agent的智能化
上面幾個方面涵蓋了運(yùn)維閉環(huán)模型:監(jiān)測感知 – 分析洞察 – 優(yōu)化控制。
以傳統(tǒng)運(yùn)維中最常見的挑戰(zhàn)——告警風(fēng)暴——為例,靜態(tài)閾值、多段式組合閾值、基線化閾值等基于統(tǒng)計計算的方法都難以滿足應(yīng)用運(yùn)維的要求了。另一方面,云化后的應(yīng)用所涉及計算節(jié)點(diǎn),服務(wù)endpoint、指標(biāo)等更多,不可能完全依靠人工來設(shè)置。這時候基于動態(tài)閾值或時序數(shù)據(jù)行為模式分析的AI方法就派上用場了。
所以AI技術(shù)首先適合用于復(fù)雜的場景中,尤其是各種可能組合數(shù)量遠(yuǎn)遠(yuǎn)超越了人力所能企及的范圍,還比如復(fù)合因素下的趨勢預(yù)測(磁盤壽命、性能指標(biāo)、容量)、故障定界定位、根因分析等。
其次AI技術(shù)在一些時效性要求高的場景中得到應(yīng)用,比如基于指標(biāo)、日志、事件的告警。應(yīng)用或者系統(tǒng)出現(xiàn)異常后,是需要第一時間通知到運(yùn)維值守人員的。還比如云服務(wù)的彈性伸縮(auto-scaling),是需要根據(jù)一些監(jiān)測指標(biāo)、服務(wù)模型、規(guī)則以及算法智能地及時做出適當(dāng)調(diào)整動作。
除了中心化的AI技術(shù)應(yīng)用外,數(shù)據(jù)采集端側(cè)(Agent)的智能化也是一個重要發(fā)力領(lǐng)域,也包括IoT場景下的邊緣節(jié)點(diǎn)(edge node)。在萬物感知、萬物互聯(lián)、萬物智能的趨勢下,我們可以把訓(xùn)練好的模型發(fā)放到需要的Agent端。Agent智能化可以解決端側(cè)更高的響應(yīng)實(shí)時性要求,減少數(shù)據(jù)上傳的網(wǎng)絡(luò)帶寬消耗、存儲成本、計算成本等。
下圖是華為云面向租戶的立體運(yùn)維平臺,實(shí)際上是一個基于應(yīng)用運(yùn)維生態(tài)的大解決方案。這種統(tǒng)一、開放的云運(yùn)維平臺可以支撐華為云的底座運(yùn)維、上百種云服務(wù)的SLA保障和運(yùn)維,幫助客戶監(jiān)測管理部署在華為公有云上的業(yè)務(wù)應(yīng)用。
在運(yùn)維工具和平臺的構(gòu)建過程中,華為云大量采用了開源項(xiàng)目,比如ELK、調(diào)用鏈有關(guān)的PinPoint、Zipkin、OpenTracing等規(guī)范、StatsD和Prometheus等數(shù)據(jù)接口規(guī)范、Spark、TensorFlow、MXNet等。
數(shù)據(jù)的收集與處理
大數(shù)據(jù)是AI的黑土地,前提是數(shù)據(jù)量要足夠多。華為云針對運(yùn)維目的,主要收集下面這些性能數(shù)據(jù):
·指標(biāo)數(shù)據(jù)(metrics):既有IaaS層資源指標(biāo),也有PaaS層應(yīng)用資源指標(biāo),客戶所用云服務(wù)業(yè)務(wù)指標(biāo)、客戶業(yè)務(wù)自定義指標(biāo)(由客戶根據(jù)自身需求主動上報)。
·日志數(shù)據(jù)(logs):客戶指定的業(yè)務(wù)和各種中間件的運(yùn)行日志
·調(diào)用鏈數(shù)據(jù)(traces):客戶通過非侵入式方法獲得的調(diào)用鏈數(shù)據(jù),或者客戶開發(fā)應(yīng)用在代碼中引入SDK或者直接上報的調(diào)用鏈數(shù)據(jù)。
·事件及告警(events&alerts):客戶應(yīng)用主動上報的各種事件和直接告警信息,還有根據(jù)預(yù)定義規(guī)則產(chǎn)生的事件和告警。
·網(wǎng)絡(luò)包數(shù)據(jù)(packets):主要是虛擬網(wǎng)絡(luò)、容器網(wǎng)絡(luò)中面向應(yīng)用的網(wǎng)絡(luò)性能數(shù)據(jù)。
這些數(shù)據(jù)根據(jù)自身特點(diǎn),選擇不同的存儲方式,比如Cassandra、HDFS、ElasticSearch、GaussDB等。具體處理主要包括:
·流式計算:主要用于指標(biāo)、日志的告警,調(diào)用鏈分析;
·離線計算:特定時間周期內(nèi)的聚合計算、關(guān)聯(lián)分析、模型訓(xùn)練等;
·內(nèi)存計算:為部分實(shí)時性要求高的算法所用。
區(qū)別于以前的運(yùn)維,當(dāng)前把很多指標(biāo)數(shù)據(jù)中的一些維度屬性和IaaS、PaaS層的基礎(chǔ)信息結(jié)合起來形成面向應(yīng)用的元數(shù)據(jù)集,和傳統(tǒng)的CMDB有些類似,但粒度更細(xì)。其目的是為面向應(yīng)用的數(shù)據(jù)分析提供各種可能的“關(guān)系網(wǎng)”。
AIOps落地之難點(diǎn)
AIOps面臨的技術(shù)挑戰(zhàn)主要有大量數(shù)據(jù)的獲取、結(jié)合專業(yè)領(lǐng)域知識的算法驗(yàn)證、多種算法組合應(yīng)用、新方法的探索以及服務(wù)化的工程化難度。
有了數(shù)據(jù)后,針對特定問題域去驗(yàn)證或者創(chuàng)新算法就需要領(lǐng)域?qū)<液退惴▽<彝献鳎业胶线m的方法或者方法組合是很有挑戰(zhàn)性的。華為云在彈性伸縮算法、事務(wù)黑盒分析、基于異常檢測的智能告警和調(diào)用鏈洞察分析等方面采用機(jī)器學(xué)習(xí)進(jìn)行了探索。
·面向應(yīng)用SLA實(shí)現(xiàn)容器的彈性伸縮,除了支持指標(biāo)預(yù)定義條件的scaling外,還研究實(shí)現(xiàn)了基于強(qiáng)化機(jī)器學(xué)習(xí)算法的Auto-Scaling,為復(fù)雜的大規(guī)模應(yīng)用提供了更智能選擇。
·在利用網(wǎng)絡(luò)包分析推導(dǎo)應(yīng)用調(diào)用關(guān)系及性能的BlackBox分析領(lǐng)域,經(jīng)過理論分析和原型推導(dǎo)驗(yàn)證,華為云嘗試過很多創(chuàng)新,最后利用Hierarchical Clustering實(shí)現(xiàn)了服務(wù)間的因果路徑推導(dǎo),準(zhǔn)確率基本達(dá)到了90~95%以上。分析結(jié)果以傳統(tǒng)應(yīng)用拓?fù)鋽?shù)據(jù)格式輸出,展示效果近似于Whitebox方法得到的應(yīng)用拓?fù)洌梢愿兄麄€應(yīng)用的性能態(tài)勢和識別性能瓶頸,對一些擁有l(wèi)egacy IT資產(chǎn)的客戶監(jiān)測需求特別適用。
·調(diào)用鏈?zhǔn)窃粕蠎?yīng)用性能診斷的重要一環(huán)。從調(diào)用鏈中先解析feature,利用聚類方法發(fā)現(xiàn)模式,針對每類事務(wù)做分鐘級聚合,結(jié)合移位環(huán)算法實(shí)現(xiàn)10分鐘的統(tǒng)計聚合,最后實(shí)現(xiàn)對事務(wù)的“好”與“壞”的智能判斷。Dashboard上采用heat map和histogram形式予以展示和引導(dǎo),提供與人友好的應(yīng)用性能直觀洞察能力。
AIOps:讓AI成為得力的助手
盡管在一些子領(lǐng)域或者單點(diǎn)技術(shù)上AIOps獲得了一些進(jìn)展,運(yùn)維域AIOps還有很大的空間有待發(fā)展,離真正做到無人值守、NoOps還有很大的現(xiàn)實(shí)差距。比如復(fù)雜大系統(tǒng)中智能RCA分析、可信自愈能力、面向機(jī)器理解的無監(jiān)督學(xué)習(xí)、智能化下沉到端側(cè)等都有待業(yè)界共同努力。
華為云專家認(rèn)為,IT運(yùn)維是個很大的范疇,完全不用人工運(yùn)維,即無人值守只會存在某些特定的小場景下。而從整個系統(tǒng)來看,一定需要人來做更高階的工作,參與者也不會只限于操作者或者管理員,還會涉及DevOps、業(yè)務(wù)主管等。
這是一個融合的世界,真正的有機(jī)系統(tǒng),非黑即白的界線會越來越模糊,未來世界也一定是人主導(dǎo),而不會是機(jī)器主宰的。在應(yīng)用運(yùn)維領(lǐng)域,人不會被AI簡單取代,而是利用AI輔助人類做那些自己不擅長或者不愿意做的事情。
據(jù)了解,2018華為全聯(lián)接大會將于10月份在上海召開,屆時將首發(fā)華為AI戰(zhàn)略和全棧全場景的解決方案,并攜合作伙伴帶來更多諸如“秦渲云”這樣AI、云、大數(shù)據(jù)、5G、IoT、視頻等在各行業(yè)的創(chuàng)新與實(shí)踐,惠及更多開發(fā)者人群,“+智能,見未來”我們拭目以待。