本書主要介紹了SLO的基本概念、設(shè)計過程、實施方法及相關(guān)案例研究。作者不僅解釋了SLO的重要性,以及為什么在現(xiàn)代IT環(huán)境中需要它們,詳細闡述了SLO的定義、類型和級別,以及如何將它們與業(yè)務目標相結(jié)合,而且詳細介紹了設(shè)計SLO的過程,包括需求收集、目標設(shè)定、指標選擇、約束條件設(shè)定等步驟,旨在確保SLO既符合業(yè)務需求,又具有可度量性和可操作性,同時提供了一些實用的方法和工具,幫助讀者有效地實施和管理SLO,包括使用監(jiān)控工具、定期審查和調(diào)整SLO等。此外,書中還包含了一系列實際案例研究,展示了如何將SLO應用于不同的場景和環(huán)境。
適讀人群 :站點可靠性工程、SLO相關(guān)領(lǐng)域的人員、科技公司高管、軟件服務方面的從業(yè)人員
盡管SLO(服務等級目標)的重要性不斷增長,但是明顯缺乏關(guān)于如何實現(xiàn)它們的信息。已有的建議通常假設(shè)團隊已經(jīng)具備相關(guān)的基礎(chǔ)設(shè)施、工具和文化。在本書中,公認的SLO專家Alex Hidalgo解釋了如何從頭開始創(chuàng)建SLO文化。
本書提供了對高級SLO和SLI(服務等級指標)技術(shù)的詳細分析,對任何想要創(chuàng)建基于SLO的可靠性方法所需的文化和工具的人而言,這是一本理想的入門和日常參考書。本書將幫助你利用數(shù)學模型和統(tǒng)計知識,從基于SLO的方法中獲得收益。你將學會如何構(gòu)建能夠度量有意義的SLI的系統(tǒng),并得到組織中所有部門的認可。
通過學習本書,你將能夠:
? 定義從用戶的角度有意義地度量服務可靠性的SLI。
? 選擇合適的SLO,例如進行統(tǒng)計和概率分析。
? 使用錯誤預算,以便更好地進行團隊討論和做出數(shù)據(jù)驅(qū)動的決策。
? 為基于SLO的方法構(gòu)建支持性工具和資源。
Alex Hidalgo是一名站點可靠性工程師,也是SLO相關(guān)領(lǐng)域的專家。他先后擔任過網(wǎng)絡(luò)工程師、安全工程師和系統(tǒng)管理員等多個職務,并在IT支持領(lǐng)域積累了豐富的經(jīng)驗。在Google工作期間,Alex在SRE(站點可靠性工程)方面表現(xiàn)出色,之后他加入了Squarespace,致力于在公司內(nèi)部和整個行業(yè)推廣基于SLO的服務可靠性方法的理念。他是 Coursera Google IT Professional Certification的主要開發(fā)人員之一,還是教育家、作家和演講者。
目錄
序1
前言3
第一部分 SLO開發(fā)11
第1章 可靠性棧13
1.1 服務的真理14
1.2 可靠性棧概述14
1.3 什么是服務19
1.4 要記住的事情22
1.5 總結(jié)23
第2章 如何看待可靠性25
2.1 可靠性工程25
2.2 過去的性能和你的用戶26
2.3 服務應該有多可靠29
2.4 總結(jié)33
第3章 制定有意義的SLI35
3.1 有意義的SLI能提供什么36
3.2 很多事情需要關(guān)心38
3.3 更復雜的東西41
3.4 總結(jié)46
第4章 選擇好的SLO47
4.1 可靠性目標47
4.2 服務依賴項和組件51
4.3 你依賴的服務的可靠性55
4.4 選擇目標57
4.5 總結(jié)65
第5章 如何使用錯誤預算66
5.1 錯誤預算實踐66
5.2 錯誤預算的度量74
5.3 總結(jié)86
第二部分 SLO實現(xiàn)87
第6章 獲得認同89
6.1 工程不只是代碼89
6.2 主要利益相關(guān)者90
6.3 行動起來94
6.4 慘痛的教訓100
6.5 總結(jié)101
第7章 度量SLI和SLO 102
7.1 設(shè)計目標102
7.2 通用結(jié)構(gòu)104
7.3 常見案例111
7.4 一般案例114
7.5 其他注意事項115
7.6 總結(jié)116
第8章 SLO監(jiān)控和告警117
8.1 動機:SLO告警是什么,為什么要這樣做117
8.2 如何進行SLO告警125
8.3 剝離建議134
8.4 總結(jié)135
第9章 用于SLI和SLO的概率論與統(tǒng)計學136
9.1 概率論137
9.2 統(tǒng)計學154
9.3 SLI示例:持久性179
9.4 延伸閱讀182
9.5 總結(jié)183
第10章 可靠性架構(gòu)184
10.1 示例系統(tǒng):圖像服務186
10.2 架構(gòu)考慮:重新審視硬件196
10.3 SLO作為系統(tǒng)SLI的結(jié)果 196
10.4 識別和理解依賴項的重要性 197
10.5 總結(jié)198
第11章 數(shù)據(jù)可靠性199
11.1 數(shù)據(jù)服務199
11.2數(shù)據(jù)服務的用戶201
11.3 設(shè)定可度量的數(shù)據(jù)目標 201
11.4 系統(tǒng)設(shè)計關(guān)注點219
11.5 數(shù)據(jù)沿襲221
11.6 總結(jié)221
第12章 有效案例223
12.1 給小狗穿衣服223
12.2 將SLI 和SLO 作為用戶旅程226
12.3 總結(jié)238
第三部分 SLO文化239
第13章 打造SLO文化241
13.1 沒有SLO的文化241
13.2 文化轉(zhuǎn)變策略242
13.3 通往SLO文化的路徑243
13.4 總結(jié)252
第14章 SLO演進253
14.1 SLO起始254
14.2 使用方式的變化255
14.3 依賴項的變化258
14.4 故障引起的變化260
14.5 用戶期望和需求的變化261
14.6 工具的變化262
14.7 基于直覺的變化263
14.8 制定理想的SLO264
14.9 識別不正確的SLO264
14.10 如何改變SLO265
14.11 總結(jié)266
第15章 可發(fā)現(xiàn)和可理解的SLO267
15.1 可理解性267
15.2 可發(fā)現(xiàn)性273
15.3 總結(jié)277
第16章 SLO倡導278
16.1 起步階段280
16.2 推廣階段286
16.3 擴張階段289
16.4 總結(jié)291
第17章 可靠性報告292
17.1 基本報告292
17.2 高級報告302
17.3 總結(jié)304
附錄A SLO定義模板305
附錄B 第9章的證明308