作為全球領(lǐng)先的云計算服務(wù)商,華為云提供兩大運(yùn)維服務(wù)——應(yīng)用運(yùn)維管理(AOM)和應(yīng)用性能管理(APM)服務(wù),實(shí)現(xiàn)復(fù)雜云應(yīng)用的端到端性能洞察。華為云應(yīng)用運(yùn)維投入持續(xù)研發(fā),在智能AutoScaling、Serverless的調(diào)用跟蹤、基于AI的異常檢測和RCA分析、基于Clustering的Blackbox分析等方面進(jìn)行了創(chuàng)新性探索并取得長足的進(jìn)展,增強(qiáng)了大規(guī)模云應(yīng)用的智能運(yùn)維(AIOps)能力。
華為云應(yīng)用運(yùn)維域首席架構(gòu)師現(xiàn)場分享
關(guān)于“華為三位一體探索AIOps關(guān)鍵技術(shù)的實(shí)踐”的演講
大規(guī)模K8S容器集群的管控
華為已經(jīng)在試驗(yàn)環(huán)境中成功驗(yàn)證了百萬容器級別的管控。由于容器集群的計算資源異構(gòu)、網(wǎng)絡(luò)虛擬化、集群類型多樣、秒級擴(kuò)縮容等導(dǎo)致的復(fù)雜性,以及客戶應(yīng)用技術(shù)棧的多樣性(比如微服務(wù)化、Serverless化、基礎(chǔ)組件服務(wù)化)導(dǎo)致的復(fù)雜性,對管控提出了兩方面的要求:一是滿足平臺自身的OM運(yùn)維;另外一方面要滿足部署在平臺上的客戶應(yīng)用系統(tǒng)的運(yùn)維訴求。華為云應(yīng)用運(yùn)維域針對性設(shè)計實(shí)現(xiàn)了應(yīng)用及資源模型化---Inventory建模,實(shí)現(xiàn)了傳統(tǒng)意義上的CMDB和OSLC的能力,把基礎(chǔ)設(shè)施和應(yīng)用映射起來,為跨資源、跨層面的關(guān)聯(lián)提供了現(xiàn)實(shí)可能。
容器彈性伸縮Auto-Scaling的決策來自華為云運(yùn)維服務(wù),除了預(yù)定義的scaling外,還實(shí)現(xiàn)了機(jī)器學(xué)習(xí)算法的Auto-Scaling,為復(fù)雜的大規(guī)模應(yīng)用提供更智能的選擇,最大化節(jié)省客戶資源成本開銷。
除了上述兩點(diǎn),華為云應(yīng)用性能管理(APM)和應(yīng)用運(yùn)維管理(AOM)還實(shí)現(xiàn)了開箱即用的性能數(shù)據(jù)采集、在線感知和計算、異常告警、應(yīng)用拓?fù)、調(diào)用鏈分析等功能,結(jié)合華為云性能測試服務(wù)(CPTS)、大數(shù)據(jù)智能分析等生態(tài)服務(wù),實(shí)現(xiàn)對應(yīng)用運(yùn)維的端到端性能洞察。良好的云原生分布式架構(gòu)成功解決了海量數(shù)據(jù)、大規(guī)模應(yīng)用部署帶來性能下降的挑戰(zhàn)。
大規(guī)模容器應(yīng)用管控 — 支撐工具及生態(tài)環(huán)境
Serverless環(huán)境中因果序列追蹤
Serverless使得開發(fā)者無需關(guān)注基礎(chǔ)設(shè)施,只用聚焦業(yè)務(wù)邏輯并進(jìn)行簡單部署就可以完成,提供了快捷的開發(fā)方式。這也意味著APM for Serverless是一個全新的子領(lǐng)域,需要一種針對性的應(yīng)用性能跟蹤、評估的機(jī)制。華為云聯(lián)合美國加州大學(xué)教授,對Serverless場景進(jìn)行深入研究,采用Go語言,對分布式日志記錄系統(tǒng)Chariots的理論進(jìn)行了實(shí)現(xiàn)和擴(kuò)展:GoChariots。它本質(zhì)上是在logging之前通過隊(duì)列排序,按照因果順序(Causal Order)依次追加日志記錄。
通過為Serverless和微服務(wù)云應(yīng)用程序提供因果順序跟蹤,并且可以跨云(不與特定云服務(wù)商綁定)。它可以以復(fù)制模式運(yùn)行,因此跨數(shù)據(jù)中心應(yīng)用程序可以與最近的副本進(jìn)行通信,大大降低了通信開銷,提高了可用性和進(jìn)度。由于SDK使用HTTP POST將事件發(fā)送到后端,因此對function的開發(fā)語言沒有約束。
另外,結(jié)合AWS Lambda環(huán)境,華為云開發(fā)了GammaRay,基于第三方開源AWS Instrument SDK for Python(Fleece)庫埋點(diǎn),驗(yàn)證了Causal Order Tracking(COT)理論。GammaRay是對X-Ray的擴(kuò)展,只適用于AWS Lambda調(diào)用關(guān)系分析。
(具體細(xì)節(jié)參考華為在IC2E的full paper: Tracking Causal Order in AWS Lambda Applications。)
多源數(shù)據(jù)的RCA分析探索
根因分析RCA已經(jīng)是個老話題了,單點(diǎn)技術(shù)不斷進(jìn)步完善、積累和突破,但仍然是森林中的“樹”,為了避免盲人摸象的問題,必須進(jìn)行全面的分析。
一個復(fù)雜系統(tǒng)中,一旦故障的發(fā)生會引起連鎖反應(yīng),直接體現(xiàn)就是故障的傳導(dǎo)鏈。在此場景中,首先要解決異常檢測(anomaly detection);其次要解決問題的定界定位(RCA:root cause analysis)。針對異常檢測,除了傳統(tǒng)靜態(tài)閾值比較,華為云還開發(fā)了基于時序數(shù)據(jù)分析的動態(tài)閾值,典型的有ARIMA算法等。大部分情況下,利用APM的應(yīng)用拓?fù)、事?wù)分析就能發(fā)現(xiàn)性能瓶頸或者問題。為了更全面的分析,華為云聯(lián)合歐美大學(xué)教授和華為海外專家一起利用ML對調(diào)用鏈數(shù)據(jù)做了深層次的數(shù)據(jù)分析。如在多個時序變量預(yù)測的單一事件場景中,采用了隱馬爾科夫模型(HMM:Hidden Markov Model),在工程實(shí)現(xiàn)中結(jié)合APM中的Inventory數(shù)據(jù)、拓?fù)鋽?shù)據(jù)和調(diào)用鏈數(shù)據(jù)來確定事件依賴關(guān)系,從而發(fā)現(xiàn)故障傳導(dǎo)鏈。當(dāng)前我們還在合作研究驗(yàn)證無監(jiān)督機(jī)器學(xué)習(xí)應(yīng)用在日志、指標(biāo)的實(shí)時Stream關(guān)聯(lián)分析與預(yù)警。
聚類算法實(shí)現(xiàn)網(wǎng)絡(luò)包的Blackbox分析
在業(yè)務(wù)通用的兩種主流分布式追蹤技術(shù)采集方案代碼侵入式埋點(diǎn)和非侵入式探針外,華為云開發(fā)一種全新的用非侵入式方法來實(shí)現(xiàn)調(diào)用拓?fù)浼墑e的分析。數(shù)據(jù)采集工具vProbe支持識主流的應(yīng)用協(xié)議,通過旁路監(jiān)聽網(wǎng)絡(luò)獲得數(shù)據(jù)。數(shù)據(jù)只涉及基礎(chǔ)的性能數(shù)據(jù),不涉及業(yè)務(wù)或者隱私方面的數(shù)據(jù)(必要時采取數(shù)據(jù)脫敏措施)。
在BlackBox分析研究中,學(xué)術(shù)界有很多研究,但是其工程實(shí)現(xiàn)遠(yuǎn)遠(yuǎn)滿足不了產(chǎn)品級別要求。華為云不斷嘗試創(chuàng)新方法,經(jīng)過理論分析和原型推導(dǎo)驗(yàn)證,最后利用Hierarchical Clustering實(shí)現(xiàn)了服務(wù)之間的因果路徑推導(dǎo),準(zhǔn)確率基本達(dá)到了90~95%以上,與基于Whitebox方法得到的應(yīng)用拓?fù)浠疽恢,區(qū)別在于不能做到單一transaction的性能追蹤,但對整個應(yīng)用的性能態(tài)勢感知和瓶頸識別已經(jīng)完全可以滿足問題的及時告警和定界定位。
我們相信云計算及其應(yīng)用運(yùn)維,單純的人海戰(zhàn)術(shù)已經(jīng)失靈,而DevOps、AIOps和NoOps是必然選擇。此路漫漫其修遠(yuǎn)兮,同道攜手上下求索……
長按二維碼即可免費(fèi)體驗(yàn)
華為云應(yīng)用運(yùn)維APM服務(wù)~