AI將重新定義應(yīng)用程序及支持應(yīng)用程序/基礎(chǔ)結(jié)構(gòu)的管理模式
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)
智能運維(ArtificialIntelligence-based Operations, AIOps)是AI與傳統(tǒng)即時通信(Active Messenger, AM, or Instant Messenger, IM)技術(shù)的集合。就如同AI引發(fā)了其他所有領(lǐng)域的革命,AI也將深刻影響運營管理。當AI的力量應(yīng)用于運營,它將重新定義應(yīng)用程序及支持應(yīng)用程序/基礎(chǔ)結(jié)構(gòu)的管理模式。
多個應(yīng)用程序同時運行會產(chǎn)生大量的數(shù)據(jù)。數(shù)據(jù)在網(wǎng)絡(luò)層生成,經(jīng)隱藏的API接口到達終端用戶。用戶都期待擁有完美的應(yīng)用體驗,容不得一點故障。
從完全不同的層中收集數(shù)據(jù),使其成為蘊含豐富洞見的資源庫,這樣的做法是可行的。由于操作復(fù)雜,智能運維平臺應(yīng)運而生。智能運維平臺運用AI及ML技術(shù),從監(jiān)測數(shù)據(jù)中獲取洞見,通過強化人工決策推進自動化解決方案。
重要應(yīng)用案例及解決方案
1. 定位故障
在軟件開發(fā)周期中,管理軟件質(zhì)量是一個重要的關(guān)注點。幾乎所有的軟件在發(fā)布后都或多或少出現(xiàn)了一些小故障。在進入生產(chǎn)環(huán)境之前發(fā)現(xiàn)并修復(fù)故障是很重要的。生產(chǎn)中出現(xiàn)的任何故障都會大幅增加成本。當可用資源有限時,定位故障被視為最耗時間的艱巨工作。因此,軟件工程師需要半自動/全自動技術(shù)來改善人工調(diào)試過程。如果開發(fā)人員能夠獲得提示,知道故障可能在哪,調(diào)試將變得更為高效。
解決方案
許多圖挖掘算法/技術(shù)能幫助開發(fā)人員定位軟件故障。這些技術(shù)依賴于檢測失敗記錄及通過記錄之間的判別圖。當故障不在罕見的代碼模式中時,這些方法可能不合適。另一方面,很多方法主要篩選可能有錯誤的程序組件(如statements接口和predicates接口),然后根據(jù)懷疑程度給這些組件排序,根據(jù)控制流圖排列執(zhí)行跟蹤的上下文。
2. 達到基準
性能基準決定了在不同負載情況下應(yīng)用組件和基礎(chǔ)結(jié)構(gòu)的運行方式。負載情況包括正常負載、工作負載、準負載、尖峰負載、斷點負載等等。基準則是一整套各參數(shù)的規(guī)則和閾值,這些參數(shù)將在一定范圍內(nèi)波動。傳統(tǒng)的做法是,收集了一定時間的性能數(shù)據(jù)后,通過機器學(xué)習(xí)算法構(gòu)建以上關(guān)系的模型并即時部署,以便性能出現(xiàn)偏差時通報。這一方法適用于發(fā)展緩慢的組件,卻讓快速的現(xiàn)代發(fā)展方式“失去了意義”。
解決方案
超融合基礎(chǔ)架構(gòu)管理、領(lǐng)域驅(qū)動的應(yīng)用程序開發(fā)、分布式計算的興起和多語言編程及維護改變了軟件組件開發(fā)和部署的方式。不斷更新?lián)Q代的軟件組件需要持續(xù)地部署在動態(tài)縮放的底層基礎(chǔ)架構(gòu)之上。這一模式的轉(zhuǎn)變要求模型構(gòu)筑使用近實時數(shù)據(jù),與應(yīng)用程序及基礎(chǔ)架構(gòu)組件的最新變化保持同步。這些模型需要實時輸入數(shù)據(jù),從而學(xué)習(xí)新規(guī)則,實現(xiàn)持續(xù)發(fā)展。
3. 應(yīng)用監(jiān)控
應(yīng)用指標追蹤不同時段的響應(yīng)時間、每分鐘請求數(shù)量、錯誤率并識別變化趨勢。另外,CPU利用率、內(nèi)存利用率、負載等基礎(chǔ)結(jié)構(gòu)參數(shù)能幫助我們理解基礎(chǔ)結(jié)構(gòu)層是如何適應(yīng)應(yīng)用的不同負荷情況的。隨著應(yīng)用復(fù)雜性提升,從預(yù)期模式中檢測到異常并非易事。如果無法檢測出異常,可能產(chǎn)生潛在的程序中斷風(fēng)險。
解決方案
我們能在不同的層發(fā)現(xiàn)并分析變化模式,包括應(yīng)用層、服務(wù)層、事務(wù)層和外部依賴。首先,確定正常系統(tǒng)行為的構(gòu)成,然后識別偏離正常的系統(tǒng)行為。智能運維能夠通過精確搜索資源,準確標識出異常值,這有助于更好地開展實時根因分析 (Root Cause Analysis,RCA) ,還能避免潛在中斷及基礎(chǔ)結(jié)構(gòu)故障。
4. 預(yù)警問題
應(yīng)用性能監(jiān)測軟件(ApplicationPerformance Monitor, APM) 中的智能警報能夠動態(tài)檢測異常。要實現(xiàn)警報智能化,檢測軟件必須是可配置的,這樣它才能理解應(yīng)用程序的特性及行為并檢測異常。設(shè)置靜態(tài)閾值是很常見的做法,比如設(shè)置在服務(wù)請求的響應(yīng)時間超過三秒時發(fā)出警報。然而,對于不同的應(yīng)用使用模式,識別需要監(jiān)控的重要參數(shù)及其閾值是非常繁重的工作。因此,需要通過智能的方式來設(shè)定應(yīng)用程序正常狀態(tài)的基準,在出現(xiàn)反常行為時通報。
解決方案
隨著算法技術(shù)的進步,警報也變得非常智能。它可以進行初步的數(shù)據(jù)分析,能夠在標準差、百分比、預(yù)測分析等預(yù)測手段的基礎(chǔ)上發(fā)出警報。今天,檢測軟件已經(jīng)足夠智能,它可以理解應(yīng)用的行為并設(shè)定基準,在分析請求與開發(fā)人員的基準有出入時,允許開發(fā)人員自行定義分析策略,在真正出現(xiàn)了需要開發(fā)人員關(guān)注的問題時發(fā)出智能警報。
來源:Pexels
5. 事務(wù)跟蹤
從簡單的應(yīng)用連接間點對點的信息同步交換到更為復(fù)雜的異步通訊,都屬于商業(yè)事務(wù)的范疇。事務(wù)跟蹤要求精密的跟蹤監(jiān)控方案。長期的多步驟異步事務(wù)會傳輸IT基礎(chǔ)結(jié)構(gòu),要求跨越多種技術(shù)和層級,等等。
解決方案
復(fù)雜事務(wù)往往多變且分散,其標簽和統(tǒng)計取樣技術(shù)使得標準跟蹤和分析失去了用武之地。智能運維通過檢驗方法調(diào)用及單個信息負載內(nèi)容,將事務(wù)關(guān)聯(lián)在一起,直觀地視覺化展示預(yù)期行為和性能中即將出現(xiàn)或已經(jīng)存在的漏洞。