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