自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

企業(yè)可觀測性的演進(jìn)之路

大數(shù)據(jù) 開發(fā)
本文通過介紹《可觀測性成熟度模型》,描述了企業(yè)可觀測性演進(jìn)的階段性參考。

作者 | 張旭海

運(yùn)維挑戰(zhàn)與可觀測性

近 10 年間,企業(yè)線上服務(wù)與 IT 基礎(chǔ)設(shè)施的規(guī)模不斷擴(kuò)大,各種與之匹配的研發(fā)實(shí)踐、生態(tài)如微服務(wù)、DevOps、云原生等等也不斷的發(fā)展。在 Canonical 發(fā)布的 Kubernetes and cloud native operations report 2022 中顯示:超過 40% 的受訪者所在的組織運(yùn)行了超過 100 臺機(jī)器(包括VM、Bare Metal 等),而超過 20% 的受訪者所在的組織,擁有超過 10 個 Kubernetes 生產(chǎn)集群。

企業(yè)運(yùn)維的挑戰(zhàn)

業(yè)務(wù)復(fù)雜度的提升以及規(guī)模的擴(kuò)大,讓運(yùn)維工作愈發(fā)關(guān)鍵且困難,而為了快速響應(yīng)業(yè)務(wù)變化,對 DevOps 的要求也越來越高。例如在 DORA Four Keys 中提到,對于發(fā)布頻率這一指標(biāo),精英級別要求能夠按需發(fā)布,實(shí)現(xiàn)每日變更多次。但發(fā)布變更常伴隨著故障。

76% 的 IT 系統(tǒng)故障是由變更引起的。

-- 18 Key Areas Shaping IT Performance Markets in 2020

多數(shù)故障都是由變更引起的,而對變更頻率的要求又越來越高,雖然可以通過提升軟件質(zhì)量來降低故障率,但故障是不可避免一定會發(fā)生的。為了降低故障對業(yè)務(wù)的影響,我們便期望修復(fù)故障的時間盡可能的短,但修復(fù)故障的前提是定位故障。

66% 的 MTTR 用于識別是什么變化導(dǎo)致了故障。

-- 2022 State of Managing IT Performance Study – Key Takeaways

日趨復(fù)雜的系統(tǒng)讓故障根因難以直觀地顯現(xiàn),畢竟規(guī)模越大的業(yè)務(wù),其所涉及到的各種應(yīng)用、服務(wù)、基礎(chǔ)設(shè)施等環(huán)節(jié)可能越復(fù)雜。因此系統(tǒng)復(fù)雜度的上升,導(dǎo)致處理故障的大部分時間都花費(fèi)在定位問題上。

對系統(tǒng)發(fā)生了什么了如指掌是定位問題的前提,因此如何監(jiān)控整個線上系統(tǒng),如何獲悉規(guī)模巨大的系統(tǒng)的運(yùn)行狀態(tài),成為了一大挑戰(zhàn)。這種挑戰(zhàn)反過來也促進(jìn)了可觀測性領(lǐng)域的發(fā)展。

可觀測性的目標(biāo)

對于數(shù)字化落地較早的企業(yè),為了應(yīng)對挑戰(zhàn),可能早已構(gòu)建了 APM、NPM 監(jiān)控系統(tǒng),以及開源的或是商用的追蹤系統(tǒng)等。而對于傳統(tǒng)企業(yè)可能數(shù)字化的步伐才剛剛開始,線上服務(wù)還停留在從無到有的階段。

那么企業(yè)處于自身特定的發(fā)展語境下,對可觀測性的要求有什么異同呢?

總體上看,可觀測性代表了對系統(tǒng)形成洞察的能力,可觀測性水平越高,對系統(tǒng)形成的洞察就越深。因此不論企業(yè)的數(shù)字化程度是低是高,其構(gòu)建可觀測性能力的目標(biāo)都是不會改變的。

這些目標(biāo)包括:

(1) 更全面的收集系統(tǒng)上下文 

系統(tǒng)可觀測的前提是收集數(shù)據(jù),各種遙測數(shù)據(jù)反映了系統(tǒng)當(dāng)時的上下文。因此數(shù)據(jù)越多越全,對系統(tǒng)運(yùn)行的還原度就越高。但由于采樣底噪以及數(shù)據(jù)管理等問題,既要獲得全面的上下文,又要限制收集的規(guī)模,權(quán)衡并不容易。

(2) 更有效的關(guān)聯(lián)各層級數(shù)據(jù) 

遙測數(shù)據(jù)是單一而孤立的,基礎(chǔ)設(shè)施層關(guān)心的數(shù)據(jù)與業(yè)務(wù)應(yīng)用關(guān)心的數(shù)據(jù)可能相去甚遠(yuǎn)。數(shù)據(jù)之間只有建立起關(guān)系,人腦才易于從中發(fā)現(xiàn)問題,抽絲剝繭。數(shù)據(jù)形成關(guān)聯(lián)的有效程度,與能從中獲得洞察的深度成正比。

(3) 更自動化的尋找問題根因 

數(shù)據(jù)規(guī)??赡軙笖?shù)增長,但人腦的產(chǎn)出只能隨著時間線性增長。因此如何通過自動化的手段,降低人腦的認(rèn)知成本,縮短人工時間,逐漸變得愈發(fā)重要。

不同企業(yè)之間可觀測性能力建設(shè)的差異,可能主要體現(xiàn)在對上述目標(biāo)的完成程度上。

企業(yè)可觀測性能力的建設(shè)是持續(xù)深入的過程,那么如何才能衡量現(xiàn)狀,發(fā)現(xiàn)不足進(jìn)而指導(dǎo)未來的方向呢?

可觀測性成熟度模型

StackState 作為一家提供可觀測性解決方案的咨詢公司,發(fā)布了一份 《可觀測性成熟度模型》,基于其對真實(shí)問題、客戶討論以及技術(shù)研究,旨在幫助企業(yè)在可觀測性能力建設(shè)上作為指導(dǎo)。

成熟度等級

《可觀測性成熟度模型》將可觀測性分為四個等級,從低到高,越高的等級代表越能深入的對系統(tǒng)進(jìn)行觀測洞察。

Level 1:監(jiān)控

監(jiān)控代表了相對古老而簡單的觀測手段:跟蹤數(shù)值。

跟蹤的數(shù)值通常專注于基本的組件、應(yīng)用層面的參數(shù)指標(biāo),如可用性、性能、容量指標(biāo)等等。每一次對指標(biāo)的采集將產(chǎn)生一個事件,事件結(jié)合某些閾值,則可能引發(fā)報警。

作為最初級的可觀測性,通過跟蹤數(shù)值和指標(biāo)報警的能力,企業(yè)能夠獲悉組件或應(yīng)用的健康狀態(tài),并在出現(xiàn)故障后得到通知。然而,跟蹤數(shù)值加報警的形式,的確能告訴運(yùn)維人員組件出了故障,但故障的原因是什么,需要聯(lián)系誰來解決該問題,都無法在這一級別得到很好的處理。

此外,隨著時間的推移,越來越多的指標(biāo)項(xiàng)被加入監(jiān)控系統(tǒng),結(jié)果一個問題可能會導(dǎo)致一連串的指標(biāo)報警,從而出現(xiàn) “到處亮紅燈,但不知道發(fā)生了什么” 的窘境。

Level 2:可觀測性

可觀測性是可觀測性成熟度模型的第二個等級(名字起得差強(qiáng)人意)。由于上一級別遺留的問題,即只知道出了故障但難以得知故障產(chǎn)生的具體原因。因此第二級的目標(biāo)就是能確定系統(tǒng)不工作的原因。

第二級可觀測性,通??梢圆捎?“指標(biāo)”、“日志”、“跟蹤” 這三種關(guān)鍵類型的遙測數(shù)據(jù)來提供系統(tǒng)洞察力?!爸笜?biāo)” 與上一級的跟蹤數(shù)值基本一致?!叭罩尽笔菍ο到y(tǒng)中發(fā)生事件的帶時間戳的記錄?!备櫋皠t能顯示數(shù)據(jù)是如何從頭至尾流經(jīng)系統(tǒng)的。

實(shí)際上,我們會發(fā)現(xiàn)這三種關(guān)鍵數(shù)據(jù)(某些文章稱之為三大支柱)已經(jīng)廣泛的應(yīng)用在了成熟的微服務(wù)系統(tǒng)中,圍繞著“三大支柱”的各種解決方案也層出不窮??傊?,通過合理的方案采集這些遙測數(shù)據(jù),并展示在儀表板上,就實(shí)現(xiàn)了第二級的可觀測能力。

誠然,借助”三大支柱“的有力支持,第二級可觀測能力能夠更廣泛而全面的了解整個系統(tǒng)的運(yùn)行狀態(tài)。但隨著系統(tǒng)規(guī)模的擴(kuò)大,遙測數(shù)據(jù)會越來越多,不同的遙測數(shù)據(jù)也可能會存在于不同的系統(tǒng)中(數(shù)據(jù)孤島)。那么當(dāng)出現(xiàn)問題時就需要通過人工從大量遙測數(shù)據(jù)中抽絲剝繭,關(guān)聯(lián)因果關(guān)系。隨著規(guī)模的擴(kuò)大,受限于人力排查,MTTR 的時間也會不斷延長。

Level 3:因果可觀測性

通過人工建立數(shù)據(jù)相關(guān)性,低效且不直觀。因果可觀測性,作為第三個級別,能夠通過某些手段揭示這種相關(guān)性,從而達(dá)到找到事件發(fā)生的原因且確定其對整個系統(tǒng)影響的目的。

具體通過何種手段建立相關(guān)性,將在下一節(jié)描述。那么假如已經(jīng)實(shí)現(xiàn)了因果可觀測性能力,可能會遇到的新的挑戰(zhàn)可能是什么?

如何對數(shù)據(jù)規(guī)范化,如何長期存儲并高效使用這些數(shù)據(jù)可能會是下一階段的挑戰(zhàn)。另外,巨大的數(shù)據(jù)量也會導(dǎo)致即使揭示了數(shù)據(jù)的相關(guān)性,但仍然需要耗費(fèi)大量時間來從噪音中分離出有用的信號。

Level 4:使用 AIOps 的主動式可觀測性

通過 AI 和 ML 的方式從堆積如山的數(shù)據(jù)中尋找模式,從而能幫助團(tuán)隊更快的發(fā)現(xiàn)問題。在指標(biāo)報警和警告中找到模式的變化,可以幫助團(tuán)隊提前預(yù)知可能發(fā)生的故障,進(jìn)而實(shí)現(xiàn)預(yù)防性的、無事故的運(yùn)維目標(biāo)。

AIOps 能夠提升效率,提高根因分析的準(zhǔn)確率,甚至預(yù)測異常和實(shí)現(xiàn)系統(tǒng)自愈。

因果可觀測性

從前面可觀測性的四個成熟度等級可以發(fā)現(xiàn),可觀測性成熟度第二級別,得益于開源技術(shù)的成熟,是目前多數(shù)系統(tǒng)能夠達(dá)到或是已經(jīng)處于的位置。而更進(jìn)一步,達(dá)到因果可觀測性,則是相對清晰的發(fā)展方向。那么,如何實(shí)現(xiàn)因果可觀測性的目標(biāo),建立數(shù)據(jù)之間的相關(guān)性呢?

《可觀測性成熟度模型》中給出的方法,是建立時間序列下的拓?fù)浣Y(jié)構(gòu)變化視圖。

對系統(tǒng)進(jìn)行故障根因調(diào)查時,先看看系統(tǒng) “發(fā)生了哪些變化”,是一個合理的切入點(diǎn)。畢竟大多數(shù)故障都是因系統(tǒng)發(fā)生了變更而引起的,比如新的代碼部署、配置變更、自動擴(kuò)縮容等等。

但復(fù)雜的系統(tǒng)可能會發(fā)生不止一處變化,如果能對比故障發(fā)生前后,整個系統(tǒng)棧的拓?fù)浣Y(jié)構(gòu)變化以及組件之間的關(guān)系變化,就能清晰的辨別出變化點(diǎn)及其之間的關(guān)系。

拓?fù)浣Y(jié)構(gòu)是系統(tǒng)內(nèi)所有組件的地圖,它跨越了所有層次,是離散組件之間關(guān)系和依賴的集合。

現(xiàn)代環(huán)境由許多動態(tài)層、微服務(wù)、無服務(wù)器應(yīng)用和網(wǎng)絡(luò)技術(shù)組成,因此在你的可觀測性組合中加入最新的拓?fù)浣Y(jié)構(gòu),對于區(qū)分因果關(guān)系至關(guān)重要。拓?fù)浣Y(jié)構(gòu)為數(shù)以千計的未連接的數(shù)據(jù)流提供了錨點(diǎn),使它們具有結(jié)構(gòu)性,使以前看不見的連接變得可見。拓?fù)淇梢暬屇阍谌珬;顒拥谋尘跋虏榭磥碜跃W(wǎng)絡(luò)、基礎(chǔ)設(shè)施、應(yīng)用程序和其他領(lǐng)域的遙測數(shù)據(jù);它還為你提供了重要的背景,讓你知道當(dāng)某些事情發(fā)生時,你的業(yè)務(wù)是如何受到影響的。

--《可觀測性成熟度模型》

圖片

來源:《可觀測性成熟度模型》

如上圖所示,將原本孤立的數(shù)據(jù)比如服務(wù)的注冊發(fā)現(xiàn)、自動化部署、請求追蹤等等數(shù)據(jù)匯聚,形成完整的拓?fù)浣Y(jié)構(gòu),那么第一級與第二級已經(jīng)實(shí)現(xiàn)收集的各種遙測數(shù)據(jù)就都可以掛載在拓?fù)鋱D上。

此外,單有拓?fù)鋱D還不夠。對實(shí)施自動化運(yùn)維的現(xiàn)代系統(tǒng)環(huán)境中,頻繁的發(fā)布、不斷變化的基礎(chǔ)設(shè)施以及動態(tài)擴(kuò)縮容使得拓?fù)浣Y(jié)構(gòu)變化的很快,處理問題時刻的系統(tǒng)拓?fù)?,可能已?jīng)與發(fā)生問題時刻完全不同了。

因此,除了構(gòu)建拓?fù)浣Y(jié)構(gòu)來關(guān)聯(lián)數(shù)據(jù),留存基于時間的快照也非常關(guān)鍵。一旦擁有了隨時間變化的拓?fù)浣Y(jié)構(gòu)快照,就可以在時間線上自由的對比拓?fù)涞淖兓⒉榭磳?yīng)的遙測數(shù)據(jù)。

圖片

來源:《可觀測性成熟度模型》

透過時間序列下的拓?fù)浣Y(jié)構(gòu)視圖,數(shù)據(jù)孤島被彌合起來,大大加快了根因分析的速度。關(guān)聯(lián)起來的數(shù)據(jù)也易于建立模式,為自動化分析奠定基礎(chǔ)。當(dāng)然,建立這樣的數(shù)據(jù)模型并不容易,除了技術(shù)上的挑戰(zhàn),可能還涉及組織上的變革。目前已經(jīng)有例如 OpenTelemetry 這類開放標(biāo)準(zhǔn),嘗試先從遙測數(shù)據(jù)收集的角度建立初步的關(guān)聯(lián),雖然遙測數(shù)據(jù)只是第一步,但也是一個良好的開始。

可觀測性的發(fā)展方向

成熟度模型為企業(yè)可觀測性演進(jìn)的方向提供了階段性的參考,那么在建立系統(tǒng)可觀測性過程中,為了覆蓋企業(yè)需求,具體需要關(guān)注什么樣的能力呢?有哪些技術(shù)可以引領(lǐng)可觀測性向著更高的成熟度而演進(jìn)呢?

Gartner 在 2022 年年中發(fā)布的 Critical Capabilities for Application Performance Monitoring and Observability 梳理了APM 和可觀測性的六項(xiàng)關(guān)鍵能力:

  • 應(yīng)用程序調(diào)試及分布式剖析(ADDP):識別代碼內(nèi)的缺陷及錯誤的根源,來緩解性能下降問題
  • 行為分析:支撐對用戶及應(yīng)用行為的探索和分類
  • 業(yè)務(wù)分析:通過統(tǒng)計各項(xiàng)業(yè)務(wù) KPI (如轉(zhuǎn)化率、棄購率、業(yè)務(wù)健康度)來為營銷人員和應(yīng)用開發(fā)者提供對整個業(yè)務(wù)條線的洞察力
  • IT 服務(wù)和基礎(chǔ)設(shè)施監(jiān)控:以類似 SLA、OLA、SLO 的形式為開發(fā)者、DevOps、運(yùn)維團(tuán)隊等提供基礎(chǔ)設(shè)施、關(guān)鍵服務(wù)的健康度
  • 根因分析:通過 APM 等技術(shù)建立問題、原因、影響的關(guān)系鏈條,支撐故障修復(fù)
  • 運(yùn)行時應(yīng)用程序自我保護(hù)(RASP):在運(yùn)行時識別易受攻擊的組件并在一定程度上阻止風(fēng)險請求

以上六大關(guān)鍵能力,從包括開發(fā)者、運(yùn)營者、管理者等多個視角覆蓋了不同角色對可觀測性的要求,在通往因果可觀測性,甚至是 AIOps 的主動式可觀測性的道路上,對上述能力的演進(jìn)要求,可能會聚焦在以下兩個方面:

(1) 如何更全面的收集數(shù)據(jù),更好的聚合、關(guān)聯(lián)數(shù)據(jù),避免數(shù)據(jù)孤島

在鏈路追蹤和性能優(yōu)化等場景下,傳統(tǒng)可觀測系統(tǒng)能提供的數(shù)據(jù)更多在應(yīng)用層面,而系統(tǒng)、內(nèi)核以及硬件層面的數(shù)據(jù),通常不易獲取,且難以關(guān)聯(lián)。通過 eBPF 技術(shù)獲取底層棧的信息并與上層棧數(shù)據(jù)進(jìn)行關(guān)聯(lián),這種解決方案逐步貼近了“全棧、全鏈路”的追蹤目標(biāo),很可能會成為今后鏈路追蹤的標(biāo)配。

(2) 如何主動的基于數(shù)據(jù)洞察形成建議,引導(dǎo)人類做出管理決策

收集的數(shù)據(jù)越全面,關(guān)聯(lián)越多,數(shù)據(jù)規(guī)模勢必越來越大,目前很多大規(guī)模企業(yè)的觀測數(shù)據(jù)規(guī)模早已超出了人力所能處理甚至理解的程度。今后通過 AI 來幫助人類處理和分析數(shù)據(jù)也許是必然的結(jié)果,在以 ChatGPT 為代表的大語言模型日趨成熟的今天,結(jié)合企業(yè)自身垂直領(lǐng)域的觀測數(shù)據(jù)進(jìn)行深度訓(xùn)練而得到的增強(qiáng) AI,預(yù)計能夠?yàn)槿祟愄峁└鼫?zhǔn)確和理性的決策。

結(jié)語

本文通過介紹《可觀測性成熟度模型》,描述了企業(yè)可觀測性演進(jìn)的階段性參考。在成熟度模型中,因果可觀測性是指通過建立數(shù)據(jù)之間的相關(guān)性來打破數(shù)據(jù)孤島從而建立對數(shù)據(jù)更深層次的認(rèn)知??梢曰跁r間序列下的拓?fù)浣Y(jié)構(gòu)變化視圖的方法來實(shí)現(xiàn)因果可觀測性。

可以預(yù)見,企業(yè)對可觀測性的重視程度會越來越高,未來通過更加成熟的可觀測性能力,企業(yè)不僅能洞察在線服務(wù)的運(yùn)行狀況,還可以支撐商業(yè)分析、精細(xì)化成本管理、自動化運(yùn)維等多種場景的需要。

責(zé)任編輯:趙寧寧 來源: Thoughtworks洞見
相關(guān)推薦

2023-08-28 10:51:01

Raptor可觀測性平臺WOT

2023-10-26 08:47:30

云原生數(shù)據(jù)采集

2023-10-13 13:40:29

2023-08-21 09:37:57

MySQL工具MariaDB

2023-09-20 16:11:32

云原生分布式系統(tǒng)

2024-05-28 09:37:48

2023-03-09 08:00:22

2021-11-19 09:40:50

數(shù)據(jù)技術(shù)實(shí)踐

2022-05-16 13:31:22

微服務(wù)架構(gòu)云原生微服務(wù)

2023-07-11 16:47:58

2023-11-01 06:55:05

人工智能可觀測性IT

2023-03-30 16:30:08

可觀測云原生

2022-09-27 21:32:14

Dapr指標(biāo)與日志

2024-01-15 05:55:33

2023-12-27 06:51:21

可觀測性系統(tǒng)數(shù)字體驗(yàn)

2023-02-14 08:01:42

2023-11-27 10:18:05

工業(yè)4.0物聯(lián)網(wǎng)

2015-07-17 08:23:06

品高云計算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號