為什么要從應(yīng)用程序監(jiān)控升級到可觀察性?

監(jiān)控只是觀察和記錄系統(tǒng)活動的過程。監(jiān)控工具收集有關(guān)應(yīng)用程序如何運(yùn)行的數(shù)據(jù)。然后,該軟件將數(shù)據(jù)發(fā)送到儀表板進(jìn)行分析,如果超過了之前設(shè)定的閾值,可能會觸發(fā)警報。

本文來自微信公眾號“開源云中文社區(qū)”。

云原生的成功是一個微妙的平衡。你必須不斷利用新的令人興奮的技術(shù),同時保持運(yùn)維的穩(wěn)定性和可靠性。

這并不容易。在基于容器的基礎(chǔ)設(shè)施上采用微服務(wù)架構(gòu)意味著你可以快速迭代更改并快速調(diào)整,以滿足客戶快速發(fā)展的需求。

但每次引入新工具、進(jìn)行流程調(diào)整或更改應(yīng)用程序或基礎(chǔ)設(shè)施組件時,都有可能在環(huán)境中造成問題。什么壞了?哪里出問題了?云原生中經(jīng)常有太多的復(fù)雜性和變量,無法快速分類。

此外,DevOps和系統(tǒng)可靠性工程(SRE)團(tuán)隊在新的云原生設(shè)置中還面臨其他熟悉但不同的風(fēng)險:

——人為錯誤比比皆是:在過去三年中,42%的企業(yè)因人為錯誤而停機(jī)。

——外部惡意行為者不斷嘗試:在過去12個月里,40%的全球企業(yè)遭受了基于云的數(shù)據(jù)泄露。

——檢測的平均時間和修復(fù)的平均時間較長會影響運(yùn)維:由于對復(fù)雜的云和混合環(huán)境的可見性很低,因此很難快速恢復(fù)在線。

——糟糕的應(yīng)用程序性能會失去客戶:在等待三秒后,50%的潛在客戶會放棄你的網(wǎng)站。

所有這些都會直接影響您的業(yè)務(wù)。ITIC最近的一項調(diào)查發(fā)現(xiàn),91%的企業(yè)每小時的停機(jī)成本超過30萬美元,近一半(44%)的企業(yè)表示,一小時的停機(jī)費(fèi)用可能超過100萬美元。

在內(nèi)部部署世界中,應(yīng)用程序監(jiān)控工具有助于跟蹤和緩解這些問題。在云原生環(huán)境中,就沒那么多了。

了解可觀察性和監(jiān)控之間的區(qū)別

監(jiān)控只是觀察和記錄系統(tǒng)活動的過程。監(jiān)控工具收集有關(guān)應(yīng)用程序如何運(yùn)行的數(shù)據(jù)。然后,該軟件將數(shù)據(jù)發(fā)送到儀表板進(jìn)行分析,如果超過了之前設(shè)定的閾值,可能會觸發(fā)警報。

監(jiān)控可以隨時掌握應(yīng)用程序的運(yùn)行狀況,幫助你對已知的故障點保持警惕。

作為監(jiān)控的超集,可觀察性包括所有這些功能以及更多功能。這是因為在對復(fù)雜的云原生分布式系統(tǒng)進(jìn)行故障排除時,你需要更多、更多樣化的工具。你遇到的失敗是不可預(yù)測的,甚至是不能提前知道的??捎^察性幫助團(tuán)隊在新的云原生世界中捕捉和補(bǔ)救所謂的“未知的未知”。

可觀察性并不是一個全新的概念或技術(shù)類別;其根源在于監(jiān)控。監(jiān)控和可觀察性都是控制理論的演變,控制理論是一個數(shù)學(xué)概念,利用復(fù)雜系統(tǒng)的反饋來改變其行為,使運(yùn)維人員能夠達(dá)到預(yù)期目標(biāo)。其基本原理是,系統(tǒng)的可見“輸出”可以幫助用戶推斷內(nèi)部發(fā)生了什么。

目標(biāo)上的主要差異

監(jiān)控和可觀察性之間最重要的區(qū)別是它們各自目標(biāo)之間的巨大差距。

監(jiān)控用于監(jiān)視和提高應(yīng)用程序性能。

可觀察性更多的是使用云原生系統(tǒng)的內(nèi)部測量來影響以業(yè)務(wù)為中心的結(jié)果或目標(biāo)。對用戶有什么影響?對客戶有什么影響?如何更靈活地迭代?如何更快地為整個企業(yè)帶來更多好處?可觀察性是指有一種更宏觀的方法來保持系統(tǒng)的運(yùn)行。

可觀測性的“三大支柱”

以下是三種類型遙測的概述:

——度量:對系統(tǒng)進(jìn)行的測量,通常在一段時間內(nèi)或超過一段時間。衡量標(biāo)準(zhǔn)有助于企業(yè)發(fā)現(xiàn)可能存在問題的地方。

——日志:一個或多個事件的帶時間戳的記錄。日志描述了問題的性質(zhì),以及為什么會發(fā)生這種情況。

——分布式跟蹤:沿請求路徑發(fā)生的事件的記錄。分布式跟蹤指示問題所在的位置,以幫助解決問題。

盡管這三種類型的遙測對實現(xiàn)可觀察性至關(guān)重要,但越來越多的聲音表示,可觀察性不僅僅是數(shù)據(jù)收集和分析。

思考可觀察性的一種方法是關(guān)注結(jié)果。這種方法定義了可觀察性的三個階段:知道、分類和理解。與傳統(tǒng)定義的關(guān)鍵區(qū)別在于,在每個階段,重點是盡快減輕對用戶和客戶的影響。

以下是三個階段的工作原理:

——知道:首先你必須知道有一個問題。如果房子里著火了,第一個跡象通常是煙味。在云原生環(huán)境中,獲得警報或調(diào)用頁面以啟動修復(fù)過程是至關(guān)重要的。

——分類:然后收集你的資源來解決問題。把火撲滅。確保你的用戶和客戶恢復(fù)正常工作。只有這樣,你才能關(guān)心問題發(fā)生的原因和方式。

——理解:最后,在你解決問題后,試著找出“為什么”。然后將你學(xué)到的東西應(yīng)用到系統(tǒng)中,以確保它不會再次發(fā)生。

可觀察性的四個要素

領(lǐng)先的可觀察性工具往往具有某些共同的特征。以下是評估可觀察性平臺時需要注意的四個關(guān)鍵問題。

1.擁抱互操作性

提供給可觀察性工具的數(shù)據(jù)(度量、日志和跟蹤)來自廣泛的來源或工具。這些數(shù)據(jù)提供了對應(yīng)用程序和基礎(chǔ)設(shè)施的可見性,可以來自應(yīng)用程序、服務(wù)、云、移動應(yīng)用程序或容器中的工具。數(shù)據(jù)也有多種格式:開源、行業(yè)標(biāo)準(zhǔn)或?qū)S小?/p>

越來越多的源代碼,包括專有和開源,意味著可觀察性工具必須從所有類型的儀器中收集所有數(shù)據(jù),才能全面了解你的環(huán)境。

因此,DevOps和SRE需要一個可觀察性平臺,該平臺通過開放工具對所有數(shù)據(jù)具有全面的互操作性,無論數(shù)據(jù)來自哪里或什么。

2.豐富的上下文

IT系統(tǒng)中的上下文與現(xiàn)實生活中的上下文相同。如果沒有上下文,很難解釋我們?nèi)祟惷刻飓@取的“數(shù)據(jù)”。對于可觀察性,同樣適用。遙測數(shù)據(jù)非常重要,因為它可以深入了解應(yīng)用程序和基礎(chǔ)設(shè)施的內(nèi)部狀態(tài)。但上下文智能也很重要。

你可能想知道一個系統(tǒng)上周或昨天是如何運(yùn)行的。系統(tǒng)運(yùn)行的服務(wù)器的配置是什么?出現(xiàn)問題時,工作負(fù)載有什么異常嗎?

領(lǐng)先的可觀察性平臺使你能夠用上下文豐富數(shù)據(jù),以消除噪聲,識別真正的問題,并輕松找出如何解決問題。

3.用于可定制搜索和分析的可編程工具

你還希望能夠定制可觀察性工具,以便它們滿足特定業(yè)務(wù)需求。

首先,后退一步。重要的是要理解,任何可觀察性策略的關(guān)鍵都是設(shè)置適當(dāng)?shù)某晒χ笜?biāo),并建立關(guān)鍵績效指標(biāo)(KPI),告訴團(tuán)隊何時達(dá)到這些成功指標(biāo)。

盡管如此,傳統(tǒng)的KPI雖然對監(jiān)控和衡量應(yīng)用程序性能很有用,但并不能表明問題如何影響依賴云原生環(huán)境的用戶、客戶和企業(yè)。沒有人將這些點聯(lián)系起來。

傳統(tǒng)的答案是在儀表板中可視化KPI。DevOps和SRE專業(yè)人員必須超越儀表盤,將可觀察性與業(yè)務(wù)成果完全聯(lián)系起來。他們必須創(chuàng)建能夠提供與KPI交互體驗的應(yīng)用程序,這些應(yīng)用程序使用自動化的工作流程,并將外部數(shù)據(jù)與內(nèi)部指標(biāo)實時集成。

這使企業(yè)能夠同時深入了解技術(shù)、業(yè)務(wù)和用戶。團(tuán)隊可以針對特定的改進(jìn)KPI做出數(shù)據(jù)驅(qū)動的決策,并且可以優(yōu)化新軟件投資的投資回報率(ROI)和有效性。可編程可觀察性平臺可幫助團(tuán)隊了解數(shù)據(jù)、系統(tǒng)和客戶。這有助于你將正確的數(shù)據(jù)提供給正確的人員,以確保任何支持基礎(chǔ)設(shè)施的業(yè)務(wù)都能順利運(yùn)行。

4.真相的準(zhǔn)確來源

因為有這么多數(shù)據(jù)來自這么多地方,所以在不同的可觀察性工具之間切換是令人眼花繚亂的(也是不可能的)。你希望從任何地方實時查看所有內(nèi)容,從而完全了解整個系統(tǒng)。

可觀察性如何提供幫助?

可觀察性在許多方面幫助云原生業(yè)務(wù)。以下是將可觀察性與基本監(jiān)控區(qū)分開來的四個方面:

培育創(chuàng)新文化

可觀察性能很快告訴你什么有效,什么無效,所以你可以不斷提高性能、可靠性和效率,從而為業(yè)務(wù)帶來好處。隨著對技術(shù)如何支持業(yè)務(wù)的理解不斷加深,可以不斷優(yōu)化基礎(chǔ)設(shè)施和服務(wù),以符合客戶的期望,避免停機(jī)或服務(wù)中斷。

明智地投資新的云和領(lǐng)先的工具

工程團(tuán)隊不再只監(jiān)督物理計算硬件;現(xiàn)在,他們一直在爭論數(shù)據(jù)和云基礎(chǔ)設(shè)施。通過跟蹤業(yè)務(wù)性能數(shù)據(jù)、內(nèi)部流程和面向客戶的服務(wù)(而不僅僅是系統(tǒng)可用性),IT可以更好地優(yōu)先考慮任何呼叫頁面或特定停機(jī)。這意味著IT可以為管理層提供必要的數(shù)據(jù),以便為未來的軟件、數(shù)據(jù)收集和云服務(wù)做出關(guān)鍵的投資決策。

實時了解數(shù)字業(yè)務(wù)表現(xiàn)

當(dāng)將許多不同級別和類型的事實匯總到儀表板中時,你就可以準(zhǔn)確地知道環(huán)境中發(fā)生了什么,以及它如何影響業(yè)務(wù)。

信息可以包括標(biāo)準(zhǔn)遙測數(shù)據(jù)、資源優(yōu)化反饋、面向業(yè)務(wù)的KPI和用戶體驗指標(biāo)。實時收集使你能夠在客戶注意到之前對任何事件做出響應(yīng)。

加快云原生應(yīng)用程序的上市時間

敏捷工作流程使開發(fā)人員能夠快速創(chuàng)建、測試、迭代和重復(fù),以更快、更少的錯誤將云原生應(yīng)用程序投入生產(chǎn)。

但是,在任何系統(tǒng)中頻繁的迭代都可能引入潛在的問題,并增加部署的風(fēng)險。DevOps團(tuán)隊可以從可觀察性中獲得反饋,并通過持續(xù)交付和持續(xù)集成(CI/CD)更快、更有效地診斷和調(diào)試系統(tǒng),以減少功能測試和部署之間的時間。

進(jìn)化

管理云原生環(huán)境的DevOps工程師和SRE每天都面臨挑戰(zhàn)。他們必須不斷了解分布式系統(tǒng)的復(fù)雜性,檢測難以隔離的問題,并加快故障排除,這樣業(yè)務(wù)就不會受到數(shù)字?jǐn)嚅_甚至故障的影響。

監(jiān)控工具有自己的位置,但它們本身還不夠。今天的企業(yè)必須了解他們正在部署的技術(shù)與企業(yè)成功之間的直接聯(lián)系。他們必須用相關(guān)數(shù)據(jù)來支持業(yè)務(wù)需求。

同樣重要的是,要持續(xù)掌握數(shù)據(jù)收集,以確保開發(fā)人員的生產(chǎn)力,滿足快速上市的需求,并提供優(yōu)秀的客戶體驗。

可觀察性是監(jiān)控軟件向前邁出的自然一步。它通過數(shù)據(jù)成本控制、更快的修復(fù)時間和減少的停機(jī)時間,提供了在當(dāng)今云原生市場保持相關(guān)性的競爭優(yōu)勢。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論