適讀人群 :??軟件工程師、產(chǎn)品經(jīng)理、軟件交付和運維人員。 ??SRE和DevOps。 ??所有從事軟件開發(fā)、運維、測試等領(lǐng)域的專業(yè)人士,以及對系統(tǒng)可觀測性感興趣的人士。 可觀測性對于構(gòu)建、更改和理解驅(qū)動復(fù)雜現(xiàn)代系統(tǒng)的軟件至關(guān)重要。應(yīng)用可觀測性的團隊能夠快速、從容地發(fā)布代碼,識別異常值和異常行為,并了解每個用戶的體驗。本書基于最新的可觀測性理論和實踐,全面介紹了可觀測性的概念、原理和技術(shù)方法。同時,本書還深入探討了可觀測性工程的設(shè)計、實施和優(yōu)化過程,包括監(jiān)控、日志管理、故障排查等方面。本書的內(nèi)容權(quán)威性強,具有很高的參考價值和實用性。
來自Honeycomb公司的三位作者解釋了良好的可觀測性由哪些要素構(gòu)成,展示了如何利用可觀測性改進現(xiàn)有的工作,并結(jié)合具體案例闡釋了實施可觀測性面臨的常見挑戰(zhàn)及有效解決方案,提供了從傳統(tǒng)工具(如度量工具、監(jiān)控工具和日志管理工具)遷移的實際注意事項,還解釋了可觀測性與組織文化的相互影響。
學完本書,你將了解:
*可觀測性概念如何應(yīng)用于大規(guī)模軟件管理。
* 在交付復(fù)雜的云原生應(yīng)用和系統(tǒng)時實踐可觀測性的價值。
*可觀測性對整個軟件開發(fā)生命周期的影響。
* 不同職能團隊如何以及為什么在SLO(服務(wù)水平目標)中使用可觀測性。
*如何測試代碼以幫助未來的工程師理解你今天編寫的代碼。
*如何為上下文感知的系統(tǒng)調(diào)試和系統(tǒng)維護生成高質(zhì)量的代碼。
*數(shù)據(jù)豐富的分析如何幫助你調(diào)試難以捉摸的問題。
【前言】
感謝你閱讀我們就現(xiàn)代軟件系統(tǒng)可觀測性工程所寫的這本書。我們的目標是幫助你在工程團隊內(nèi)開展可觀測性實踐。本書融合了我們在可觀測性實踐和工具(這些工具可以提升用戶的可觀測性實踐)開發(fā)方面的經(jīng)驗。
作為在軟件工程中推動可觀測性實踐的倡導(dǎo)者,我們希望本書能夠清晰地闡明可觀測性在現(xiàn)代軟件系統(tǒng)背景下的含義—“可觀測性”一詞最近在軟件開發(fā)生態(tài)系統(tǒng)中得到了廣泛應(yīng)用。本書旨在通過對以下內(nèi)容進行深入分析,幫助你將事實與炒作區(qū)分開來:
?? 在軟件交付和運營的背景下,可觀測性的含義。
?? 構(gòu)建基礎(chǔ)組件來實現(xiàn)可觀測性。
?? 可觀測性對團隊動力的影響。
?? 可觀測性規(guī);目紤]因素。
?? 在組織中建立可觀測性文化的實用方法。
【目標讀者】
可觀測性主要關(guān)注如何更好地理解現(xiàn)實世界軟件的運行方式。因此,本書對負責開發(fā)生產(chǎn)應(yīng)用程序的軟件工程師非常有用。當然,任何支持在生產(chǎn)中運行軟件的人都會從本書中受益。
此外,對于想了解可觀測性實踐如何為組織帶來好處的軟件交付和運營團隊經(jīng)理,本書(特別是側(cè)重于團隊動力、文化和規(guī)模的章節(jié))將為他們提供有益參考。
任何幫助團隊交付和運營生產(chǎn)軟件的人(例如產(chǎn)品經(jīng)理、支持工程師和利益相關(guān)者),以及對“可觀測性”這一新事物感到好奇和存疑的人,都會從本書受益。
【為什么寫這本書】
可觀測性已成為一個熱門話題,并廣受關(guān)注。隨著它的普及,“可觀測性”不幸被誤作“監(jiān)控”或“系統(tǒng)遙測”的同義詞?捎^測性是軟件系統(tǒng)的一個特征。而且,只有當團隊采用新的實踐進行持續(xù)開發(fā)時,才能在生產(chǎn)軟件系統(tǒng)中有效利用這一特征。因此,將可觀測性引入系統(tǒng)既是一個技術(shù)挑戰(zhàn),也是一個文化挑戰(zhàn)。
我們對可觀測性話題充滿熱情,而且直言不諱。我們對它如此熱衷,以至于成立了一家公司,致力于將可觀測性力量帶給所有管理生產(chǎn)軟件的團隊。我們率先推出了一類新的可觀測性工具,其他供應(yīng)商也紛紛效仿。
雖然我們都為 Honeycomb 工作,但寫這本書并不是為了向你出售工具,而是為了解釋我們?nèi)绾我约盀槭裁磳⒖捎^測性的原始概念應(yīng)用于管理現(xiàn)代軟件系統(tǒng)。你可以使用不同的工具以不同的方式實現(xiàn)可觀測性。然而,我們相信依據(jù)我們在軟件行業(yè)推進可觀測性實踐所做出的貢獻和積累的經(jīng)驗,我們可以編寫一份詳細描述常見挑戰(zhàn)和有效解決方案的實踐指南。無論你選擇何種工具,你都可以應(yīng)用本書中的概念來動手構(gòu)建具有可觀測性的生產(chǎn)軟件系統(tǒng)。
本書旨在讓你了解使用可觀測性管理生產(chǎn)軟件系統(tǒng)的團隊所面臨的各種考慮因素和挑戰(zhàn)。有時,我們可能會以 Honeycomb 為例來說明如何應(yīng)對共同的挑戰(zhàn)。這些不是對Honeycomb 的認可,而是對抽象概念的實際說明。我們的目標是向你介紹工作原則,不管你使用什么工具都可以在其他環(huán)境中應(yīng)用這些原則。
【你將學到什么】
首先,你將了解什么是可觀測性、如何識別可觀測系統(tǒng),以及為什么可觀測性最適合管理現(xiàn)代軟件系統(tǒng)。你還將了解可觀測性與監(jiān)控之間的區(qū)別,以及為什么和何時需要不同的方法。你還將了解為什么行業(yè)趨勢有助于普及對可觀測性的需求,以及它如何適應(yīng)新興生態(tài)系統(tǒng),如云原生生態(tài)系統(tǒng)。
然后,我們將介紹可觀測性的基本原理。我們將研究為什么結(jié)構(gòu)化事件是可觀測系統(tǒng)的構(gòu)建塊,以及如何將這些事件拼接成鏈路(trace)。事件是由內(nèi)置在軟件中的遙測技術(shù)生成的,你將了解開源計劃,如 OpenTelemetry,這些計劃有助于啟動探測過程。你將了解基于數(shù)據(jù)的調(diào)查過程(用于定位可觀測系統(tǒng)中的問題來源),以及它與傳統(tǒng)監(jiān)控中使用的基于直覺的調(diào)查過程有何實質(zhì)性差異。你還將了解可觀測性和監(jiān)控如何共存。
在了解了這些基本的技術(shù)概念之后,你將了解隨著可觀測性的采用而出現(xiàn)的社會和文化因素。在生產(chǎn)環(huán)境中管理軟件是一項團隊運動,你將了解如何使用可觀測性來更好地塑造團隊動力。你還將了解可觀測性如何融入業(yè)務(wù)流程、如何影響軟件供應(yīng)鏈,以及如何揭示隱藏的風險。當我們研究如何使用服務(wù)水平目標(SLO)來實現(xiàn)更有效的告警時,你還會了解如何將這些技術(shù)和社會概念付諸實踐,并深入了解為什么在使用可觀測性數(shù)據(jù)時,告警既可操作又可調(diào)試。
接著,你將了解大規(guī)模實施可觀測性解決方案時面臨的固有挑戰(zhàn)。我們將首先介紹你在決定是否購買或構(gòu)建可觀測性解決方案時應(yīng)考慮的因素?捎^測性解決方案的一個基本性質(zhì)是,它們必須在迭代研究期間提供快速答案。因此,我們將向你展示如何在管理超大數(shù)據(jù)集時解決高效數(shù)據(jù)存儲和檢索的固有挑戰(zhàn)。你還將了解何時引入事件采樣等解決方案,以及如何在權(quán)衡中找到適合你的需求的正確方法。你還將學習如何使用遙測流水線管理大量數(shù)據(jù)。
最后,我們將探討采用可觀測性文化的組織方法。除了向團隊介紹可觀測性之外,你還將學習跨整個組織擴展可觀測性實踐的實用方法。你將學習如何識別關(guān)鍵利益相關(guān)者并與之合作,如何使用技術(shù)方法贏得合作伙伴,并為采用可觀測性實踐提供商業(yè)案例。
我們大約 3 年前就開始寫這本書,之所以花了這么長時間才出版,部分是因為可觀測性領(lǐng)域正在迅速變化,實踐也在不斷進步。
原書作者:
*Charity Majors是Honeycomb公司(美國一家領(lǐng)先的可觀測性平臺提供商)的聯(lián)合創(chuàng)始人和CTO,也是Database Reliability Engineering一書的合著者。此前,她在Parse、Facebook和Linden實驗室等擔任系統(tǒng)工程師和工程主管。
*Liz Fong-Jones是Honeycomb公司的Field CTO、可觀測性社區(qū)的倡導(dǎo)者和可觀測性的國際演講者。她曾是一名擁有超過17年經(jīng)驗的開發(fā)者顧問和SRE(站點可靠性工程師)。
*George Miranda是Google的SRE,曾是Honeycomb公司的系統(tǒng)工程師、產(chǎn)品營銷員和GTM負責人。此前,他在金融和視頻游戲行業(yè)擁有超過15年的構(gòu)建大型分布式系統(tǒng)的經(jīng)驗。
翻譯+審校團隊:
*觀測云團隊 觀測云團隊成員由來自不同領(lǐng)域的資深技術(shù)專家組成,包括云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、研發(fā)效能等。其首發(fā)的國內(nèi)全鏈路可觀測產(chǎn)品「觀測云」,首批獲得中國信通院頒發(fā)的「可觀測性平臺技術(shù)能力」先進級認證,并已被國內(nèi)外客戶所廣泛認可。同時,觀測云團隊也積極投入對可觀測性理念的實踐與布道,希望這本《可觀測性工程》,能為國內(nèi)廣大工程師開啟一個全新的技術(shù)視角。
*中國信息通信研究院云計算與大數(shù)據(jù)研究所 中國信息通信研究院云計算與大數(shù)據(jù)研究所是中國信息通信研究院的核心業(yè)務(wù)單元,專注互聯(lián)網(wǎng)新技術(shù)、新產(chǎn)業(yè)、新模式和新業(yè)態(tài)的持續(xù)發(fā)展。云大所長期關(guān)注可觀測性的技術(shù)價值,并通過制定標準、技術(shù)研究和能力評估等方式,推動可觀測性在國內(nèi)的認知和落地。