2020年,IT運(yùn)維中的可觀測(cè)性概念得到了人們的認(rèn)同,IT領(lǐng)導(dǎo)者正在尋找新的方法來控制隨著云計(jì)算和快速數(shù)字化而有機(jī)增長的復(fù)雜性。
可觀測(cè)性與IT監(jiān)控的不同之處在于,它關(guān)注于應(yīng)用程序和豐富儀表的開發(fā),以便運(yùn)維人員可以就軟件在生產(chǎn)中如何工作提出有意義的問題。提出新問題的能力使IT部門能夠從不同角度了解應(yīng)用程序的行為,從而進(jìn)行優(yōu)化和改進(jìn)。
另一種思考可觀測(cè)性的方式是,它完全是關(guān)于用戶視角的,這需要以用戶為中心的思維方式和方法。雖然傳統(tǒng)的(黑匣子)監(jiān)控提供了指示系統(tǒng)是否已啟動(dòng)和運(yùn)行的指標(biāo),而可觀測(cè)性通過顯示系統(tǒng)是否真的能夠滿足業(yè)務(wù)和用戶需求,進(jìn)一步說明了這一點(diǎn)。
可觀測(cè)性的作用
可觀測(cè)性通過解決以下問題,與基礎(chǔ)設(shè)施監(jiān)控的業(yè)務(wù)價(jià)值建立更緊密的聯(lián)系
——服務(wù)器在線且可用,但其支持的應(yīng)用程序出現(xiàn)故障
——網(wǎng)絡(luò)已啟動(dòng),但用戶的交易可能無法進(jìn)行,或者網(wǎng)站行為異常
——你的站點(diǎn)在一個(gè)瀏覽器中運(yùn)行良好,但在另一個(gè)瀏覽器中運(yùn)行不正常
在用戶開始抱怨或離開你的網(wǎng)站/應(yīng)用程序以獲得更好的服務(wù)之前,IT組織需要立即了解這些問題。這對(duì)用戶留存和員工來說都是可怕的,它可能會(huì)導(dǎo)致成本高昂、不安全的影子IT。
無論哪種方式,缺乏可觀測(cè)性意味著你的組織很容易用戶滿意度低和支持成本高。可觀測(cè)性需要一種現(xiàn)代的監(jiān)控方法,當(dāng)開發(fā)人員接受并參與監(jiān)控活動(dòng)時(shí),它會(huì)更成功。
以下是一些加強(qiáng)可觀測(cè)性的建議:
擴(kuò)展數(shù)據(jù)
不限于傳統(tǒng)的資源監(jiān)控指標(biāo),如CPU利用率和網(wǎng)絡(luò)延遲。還包括來自每個(gè)基礎(chǔ)設(shè)施組件的日志、跟蹤、指標(biāo)和警報(bào),以便對(duì)應(yīng)用程序有新的了解。
團(tuán)隊(duì)?wèi)?yīng)該有適當(dāng)?shù)穆酚珊蜏贤ㄇ?,以便在事件發(fā)生時(shí),快速訪問能夠最佳補(bǔ)救的系統(tǒng),或者提供額外的上下文。
將可觀測(cè)性作為開發(fā)原則
這遲早會(huì)成為開發(fā)人員工作的一部分。應(yīng)用程序運(yùn)行狀況長期以來一直是IT運(yùn)維部門的事,但從邏輯上講,真正了解應(yīng)用程序運(yùn)行狀況的人是開發(fā)人員,因?yàn)樗麄儤?gòu)建了應(yīng)用程序運(yùn),并且知道代碼應(yīng)該如何在生產(chǎn)環(huán)境中工作。通常,在開發(fā)沖刺的后期,會(huì)有人提出這樣一個(gè)問題:“我們?nèi)绾卧谏a(chǎn)中監(jiān)控這個(gè)服務(wù)?”
開發(fā)團(tuán)隊(duì)爭(zhēng)先恐后地尋找一個(gè)可行的解決方案,最終有人在應(yīng)用服務(wù)器上運(yùn)行了一個(gè)開源監(jiān)控工具的實(shí)例。這種情況并不少見。通過將可觀測(cè)性作為CI/CD管道中的一個(gè)關(guān)鍵步驟,而不是事后考慮,可以避免這種情況。
采購用于可觀測(cè)性的監(jiān)控工具
APM工具或越來越多的開源監(jiān)控工具(如Prometheus)可以幫助度量運(yùn)維指標(biāo),如應(yīng)用程序、客戶端和服務(wù)器端錯(cuò)誤(應(yīng)用程序正常運(yùn)行期間可能發(fā)生的)。綜合或數(shù)字體驗(yàn)管理工具提供了另一種理解系統(tǒng)輸出的方法。這有助于回答以下問題:用戶是否可以訪問應(yīng)用程序,以及體驗(yàn)中是否存在任何事務(wù)性失???有一些功能強(qiáng)大的、小眾的可觀測(cè)性工具,但它們可能很難使用,并且需要許多開發(fā)人員不具備的監(jiān)控專業(yè)知識(shí)。請(qǐng)忽略供應(yīng)商的嗡嗡聲,采用在技能水平、資源等方面適合你的組織的工具。它應(yīng)該易于部署和管理。
簡(jiǎn)化工具
跨越ITOps和DevOps組織的一個(gè)常見陷阱是復(fù)制工具的泛濫。這些工具之間的數(shù)據(jù)通常不是聯(lián)合的,這使得簡(jiǎn)單而全面地實(shí)現(xiàn)可觀測(cè)性策略的工作成為一個(gè)大難題。
最常見的情況是,監(jiān)控和可觀測(cè)性工具受到追捧,并用于解決緊迫的問題(如準(zhǔn)備發(fā)布、排除特定客戶端錯(cuò)誤等)。隨著時(shí)間的推移,很容易會(huì)有20多個(gè)監(jiān)控工具來解決重疊的用例。該做的是,整合、集成,并考慮一個(gè)平臺(tái)解決方案來管理和統(tǒng)一所有數(shù)據(jù),為開發(fā)人員和運(yùn)維人員節(jié)省時(shí)間。
圍繞改善最終用戶體驗(yàn)而努力
可觀測(cè)性及其解決的問題不僅對(duì)開發(fā)人員、工程師和管理人員有意義。觀測(cè)工具產(chǎn)生的許多洞察可以為從事銷售、營銷、支持或?qū)I(yè)服務(wù)的同事提供豐富的背景。
一些例子包括:一年中哪一天或哪一時(shí)間網(wǎng)站流量最大?是否有某個(gè)用戶最常訪問的網(wǎng)頁?在啟動(dòng)或網(wǎng)頁更改之后,我們是否看到了交易的增加?網(wǎng)頁加載速度慢嗎?如果慢,是什么原因造成的?
回答這些問題通常會(huì)涉及非技術(shù)團(tuán)隊(duì)可以訪問的工具,并且需要對(duì)應(yīng)用程序本身有更深入的了解。DevOps和ITOps團(tuán)隊(duì)?wèi)?yīng)該與非技術(shù)性涉眾協(xié)作,以了解哪些業(yè)務(wù)問題可以通過可觀測(cè)性工具來解決,以及解決這些問題的最佳方法。