1
Authors: Andrew Widdowson
P371 - P385, 14 (繁中版)
Chapter 28
Accelerating SREs to On-Call and Beyond
迅速培養 SRE 加入 On-Call
2
3
https://www.linkedin.com/in/andrewwiddowson/
Agenda
● SRE 新手報到,接下來怎麼辦
● 培訓初期:重系統,而非混亂
● 培養逆向工程和隨機應變能力
● 有抱負的 On-Call 工程師的五項特質
● On-Call 之後:舉辦結業儀式,及日後持續教育
4
5
Agenda
● SRE 新手報到,接下來怎麼辦
● 培訓初期:重系統,而非混亂
● 培養逆向工程和隨機應變能力
● 有抱負的 On-Call 工程師的五項特質
● On-Call 之後:舉辦結業儀式,及日後持續教育
6
推薦的訓練方式 錯誤的訓練方式
設計一門具體,有延續性的學習體驗,以便學員跟進 透過給學員安排一些繁瑣的工作,像是處理報警工單
鼓勵逆向工程,利用統計學思考問題,以及多思考問題本質 訓練學員按照現有的操作流程、檢核表,或者手冊執行命令
鼓勵學員分析失敗案例,分享好的事後檢討 將故障掩蓋起來,以便躲避指責
創造受控,但是逼真的情境,讓學員利用真實監控環境和工具來修復 在學員加入 On-Call 之後,第一次遇到問題時才會嘗試修復
在團隊內以角色扮演形式,演練理論上可能發生的問題,讓大家在過程
中分享解決問題的方法
在團隊中將知識隔離起來,創造出特定領域專家
為學員創造條件,讓他們見習On-Call,和實際輪值的 On-Call 交流經
驗
在學員還沒有對服務有全面認識的情況下,就要求他們成為主On-Call
讓學員和 SRE 老手一起制定培訓計劃中的某個項目 認為 On-Call 訓練素材是靜態的,非專家不可更改
讓學員一起參與具有一定複雜度的專案,幫助他們在整個技術堆疊內奠
定自己的地位
將新專案全部分配給老手,新手只能做零工
SRE 訓練課程
7
8
抽象 具體
資淺
資深
9
SRE 新手報到,接下來怎麼辦?
● 正式參加 On-Call 是新成員的重要里程碑
● 專案工作與責任感
● 活動類型
○ 抽象的、被動的
○ 具象的、主動的
○ 混合形的
● 培訓應該是持續不斷學習,資深、資淺都要參加
10
Agenda
● SRE 新手報到,接下來怎麼辦
● 培訓初期:重系統,而非混亂
● 培養逆向工程和隨機應變能力
● 有抱負的 On-Call 工程師的五項特質
● On-Call 之後:舉辦結業儀式,及日後持續教育
11
SRE 職責類型
● 主動性任務:軟體自動化、架構設計諮詢、發行流程協調
● 被動性任務:線上調校、故障排除、處理 On-Call 事件
12
浴火重生的學習方式
13
系統性、累積型的學習方式
在系統中,加入順序性,讓新手建立學習路徑
1. 請求是如何進入系統
2. 前端服務:應用程式前端、日誌記錄、使用者體驗 SLO
3. 中層服務:快取、後端負載平衡
4. 基礎設施:後端、基礎設施、運算資源
5. 整體:調教的技巧、問題升級流程、警急情況演練
14
15
Agenda
● SRE 新手報到,接下來怎麼辦
● 培訓初期:重系統,而非混亂
● 培養逆向工程和隨機應變能力
● 有抱負的 On-Call 工程師的五項特質
● On-Call 之後:舉辦結業儀式,及日後持續教育
16
逆向工程:弄明白系統如何工作
● 了解系統的基本工作原理
● 深入研究調校工具
● 了解系統的資料流動方向性
17
統計學和比較性思維:在壓力下堅持科學方法
● 警及異常中,能夠即時展開決策樹
● 在有效的時間之內,在決策樹中抉擇
● 架構層面:要確認可以控制的因子,比較分析每個因子,新人一開始就要訓練
18
隨機應變的能力:當意料之外的事情發生時怎麼辦
● 依照手冊無法修復問題,又無法聯繫開發人員
● 透過訓練課程,養成思考,加入決策陷阱,培養抽象思考能力
19
將知識串連起來
● Google 內部最受歡迎的課:如何逆向工程每個正式作業環境服務
● SRE 學習 Google Maps 服務一部分的時候,與其讓其他人傳授知識給他,不如
自己動手,逆向工程去了解,讓其他人糾正他的錯誤和補充遺漏部份。
○ 獨立思考、組織能力
○ 想像力、聯想力
○ 抽象化
20
分享文:思考本質、實踐、想像力、哲學
21
Agenda
● SRE 新手報到,接下來怎麼辦
● 培訓初期:重系統,而非混亂
● 培養逆向工程和隨機應變能力
● 有抱負的 On-Call 工程師的五項特質
● On-Call 之後:舉辦結業儀式,及日後持續教育
22
● 對故事的渴望:事後檢討的閱讀和撰寫
○ 無法記取的教訓,必然重蹈覆徹
○ 對事不對人
○ 事後檢討會、故障沙龍
● 故障處理分角色演練
○ 每週會議上,指定某個成員 A 來現場處理某個故障情境
○ 就像參加電視娛樂節目,A 要跟主持人提出問題,主持人告訴行動結果
○ 給予活動命型:厄運之輪 (Wheel of Misfortune)、走條木 (Walk the Plank)
五項特質
23
角色扮演 - Mud
24
五項特質
25
● 破壞真系統並且修復他們
○ Chaos Engineering: Chaso Monkey
○ 要有完整且真實的 QA 環境,作為訓練使用
○ 練習活動:『一起來摧毀一組搜尋叢集』
● 文件維護是學徒任務的一部分
○ 學員:了解維運的範圍、運作原理
○ 教練、管理者:透過檢核表反應學員學習進度、不了解的地方
○ 其他團隊:文件是社交契約
● 儘早、盡快見習 On-Call
○ 見習 (Shadow) 是培養學員進度的好機會
○ 促進團隊相互了解、信任
○ 重大異常時,事後檢討應該由全部 On-Call 一起完成,讓新手參與
● 加入 On-Call 之後表示:
○ 了解技術堆疊、有自主學習能力
○ 期末測驗
○ 賦予學員 On-Call 權限和責任
○ 里程碑,要有儀式
● 持續學習
○ 新架構
○ 新技術堆疊
○ 避免知識過期
On-Call 之後:結業儀式
26
27
小結
● 教育訓練是很有價值的,不管是對新手,還是整個團隊
● 比擴張機器更快的速度擴張團隊
28
29

SRE CH28 - Accelerating SREs to On-Call and Beyond