可觀察性可以通過(guò)幫助開發(fā)人員改進(jìn)規(guī)劃周期時(shí)間、降低變更失敗率、加快發(fā)布頻率和縮短平均解決時(shí)間,對(duì)開發(fā)人員工作流產(chǎn)生強(qiáng)大的積極影響。這反過(guò)來(lái)又提高了正常運(yùn)行時(shí)間和可靠性,提高了運(yùn)維效率,并為IT團(tuán)隊(duì)提供了卓越的客戶體驗(yàn)。
應(yīng)用程序和基礎(chǔ)設(shè)施的復(fù)雜性和分布性繼續(xù)增長(zhǎng),同時(shí)越來(lái)越多的開發(fā)人員將可觀察性作為一種關(guān)鍵的數(shù)據(jù)驅(qū)動(dòng)實(shí)踐。這讓筆者不禁要問(wèn):可觀察性的實(shí)踐是如何演變的?
在這篇文章中,筆者將根據(jù)New Relic的新可觀察性趨勢(shì)報(bào)告,深入探討將影響2022年及以后可觀察性實(shí)踐的趨勢(shì)。
1.可觀察性貫穿整個(gè)軟件生命周期
到目前為止,主要用傳統(tǒng)的監(jiān)控工具對(duì)生產(chǎn)環(huán)境中的錯(cuò)誤進(jìn)行故障排除和解決。然而,IT領(lǐng)導(dǎo)者、開發(fā)人員和工程師正在意識(shí)到,在規(guī)劃、構(gòu)建和部署軟件時(shí),他們可以應(yīng)用與運(yùn)行軟件時(shí)相同的可觀察性優(yōu)勢(shì)。
事實(shí)上,當(dāng)在整個(gè)軟件生命周期中使用時(shí),可觀察性有助于運(yùn)維這些生產(chǎn)環(huán)境時(shí)的挑戰(zhàn)。它使開發(fā)人員能夠在集成開發(fā)環(huán)境(IDE)中就代碼進(jìn)行協(xié)作,以提高運(yùn)維效率,并提供豐富的分析工具,以快速發(fā)現(xiàn)根本原因并解決問(wèn)題,從而提高正常運(yùn)行時(shí)間和可靠性。
來(lái)自2021個(gè)可觀察性預(yù)測(cè)的數(shù)據(jù)表明,全球IT決策者都看好現(xiàn)代可觀察性。事實(shí)上,91%的人認(rèn)為可觀察性對(duì)于軟件生命周期的每個(gè)階段都至關(guān)重要。它們對(duì)規(guī)劃和運(yùn)維(考慮到應(yīng)用程序性能監(jiān)控(APM)的根源)特別重要。這些IT領(lǐng)導(dǎo)者看到了廣泛的可觀察性優(yōu)勢(shì),從提高開發(fā)速度、質(zhì)量和靈活性,到成本效益、改善用戶體驗(yàn)和提高工程師士氣。
2.數(shù)據(jù)民主化為所有人帶來(lái)可觀察性
大數(shù)據(jù)的爆炸性增長(zhǎng)改變了工程師和開發(fā)人員的需求,以及他們對(duì)工具的期望。然而,隨著整個(gè)組織中需要數(shù)據(jù)的人數(shù)不斷增加,企業(yè)正面臨一系列全新的挑戰(zhàn),如何讓正確的人獲得正確的數(shù)據(jù)。例如,工程師和開發(fā)人員優(yōu)化應(yīng)用程序行為或排除“大海撈針”未知故障的唯一方法是以完全逼真的方式檢測(cè)和收集有關(guān)環(huán)境的所有數(shù)據(jù),而不進(jìn)行采樣。但現(xiàn)在這幾乎是不可能的,因?yàn)樘闊┖?或太昂貴。
3.基于使用情況的定價(jià)對(duì)客戶有利
許多監(jiān)控工具的定價(jià)結(jié)構(gòu)實(shí)際上不鼓勵(lì)I(lǐng)T領(lǐng)導(dǎo)、工程師和開發(fā)人員吸收所有數(shù)據(jù),因?yàn)槎▋r(jià)令人困惑,難以預(yù)測(cè)和擴(kuò)展,而且通常過(guò)于昂貴。結(jié)果,組織在可觀察性上妥協(xié)了。事實(shí)上,根據(jù)可觀察性預(yù)測(cè),60%的全球受訪者仍然只在應(yīng)用程序級(jí)別監(jiān)控遙測(cè)數(shù)據(jù),大量數(shù)據(jù)在他們的軟件堆棧中不受監(jiān)控。
向現(xiàn)代可觀察性的轉(zhuǎn)變和其采用率的提高包括從傳統(tǒng)訂閱轉(zhuǎn)向基于使用情況的消費(fèi)和定價(jià)模式。通過(guò)基于使用的定價(jià),企業(yè)可以全面了解其所有遙測(cè)數(shù)據(jù),并且只為其使用的數(shù)據(jù)付費(fèi)。
隨著數(shù)字企業(yè)對(duì)越來(lái)越復(fù)雜的軟件系統(tǒng)的依賴,IT領(lǐng)導(dǎo)者將開始要求其可觀察性供應(yīng)商提供這種定價(jià)模型,因?yàn)樗子诶斫?、預(yù)測(cè)和擴(kuò)展。此外,基于使用的定價(jià)將得到優(yōu)先考慮,因?yàn)樗兄Z消除對(duì)使用量的預(yù)先猜測(cè),以及隨之而來(lái)的挫折和超用懲罰。
4.Kubernetes和容器促進(jìn)可觀察性
可觀察性預(yù)測(cè)表明,88%的IT決策者正在探索Kubernetes(25%的受訪者進(jìn)行研究,25%進(jìn)行評(píng)估,29%在開發(fā)中,10%在生產(chǎn)中),Kubernetes的受歡迎程度繼續(xù)激增。這種增長(zhǎng)也帶來(lái)了挑戰(zhàn)和差距,從必要的文化轉(zhuǎn)變到技術(shù)趨勢(shì)和進(jìn)步。
隨著下一波微服務(wù)和更多有狀態(tài)應(yīng)用程序部署在Kubernetes和基于容器的平臺(tái)上,需要更多地了解運(yùn)維,以及針對(duì)惡意應(yīng)用程序(無(wú)論是有意還是無(wú)意)進(jìn)行自衛(wèi)和自我修復(fù)的工具。
展望未來(lái),隨著團(tuán)隊(duì)使用更多的微服務(wù)和無(wú)服務(wù)器架構(gòu),他們將減少與底層基礎(chǔ)設(shè)施的交互。這使我們能夠更加關(guān)注應(yīng)用程序和其他業(yè)務(wù)需求,并改善開發(fā)人員體驗(yàn)。
5.可觀察性培養(yǎng)工程團(tuán)隊(duì)之間的協(xié)作
可觀察性正迅速成為行業(yè)黃金標(biāo)準(zhǔn),幫助軟件工程團(tuán)隊(duì)和開發(fā)人員度過(guò)持續(xù)集成/持續(xù)部署(CI/CD)過(guò)程中出現(xiàn)問(wèn)題的時(shí)期。原因很清楚:當(dāng)CI/CD管道可見時(shí),工程團(tuán)隊(duì)對(duì)代碼更有信心,可以在需要時(shí)更快地實(shí)施修復(fù)。
當(dāng)可觀察性平臺(tái)能夠直接在開發(fā)人員環(huán)境(IDE)中進(jìn)行代碼協(xié)作時(shí),提問(wèn)以獲得更好的理解、突出潛在錯(cuò)誤和在代碼上進(jìn)行合作成為第二天性——作為工程實(shí)踐,提供更好的結(jié)果也是如此。
展望未來(lái),通過(guò)允許團(tuán)隊(duì)更好地協(xié)作,現(xiàn)代可觀察性將促成并培養(yǎng)跨軟件工程和開發(fā)學(xué)科的協(xié)作文化。其結(jié)果將是更強(qiáng)大的團(tuán)隊(duì)、程序和警報(bào)系統(tǒng),從而改進(jìn)工程師在整個(gè)軟件生命周期中處理監(jiān)控和事件檢測(cè)的方式。