Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

SRE CH33/CH34 - Lessons Learned from Other Indu...

SRE CH33/CH34 - Lessons Learned from Other Industries/Conclusion

SRE CH33 Lessons Learned from Other Industries
SRE CH34 Conclusion

2018/05/24 (四)

Avatar for Rick Hwang

Rick Hwang

May 24, 2018
Tweet

More Decks by Rick Hwang

Other Decks in Education

Transcript

  1. 1

  2. Authors: Jennifer Petoff Chapter 33 Lessons Learned from Other Industries

    其他行業的實踐經驗 Rick Hwang 2018/03/07 2
  3. 3

  4. Google 其他背景的 SRE • 國防部供應商,負責空運設施 GPS 系統 • 救生員教練 •

    雷射視網膜手術演算法實踐 • 維護 E911 警急呼叫系統 • 軍用飛機地勤管理系統 • 生產流程工程師 • 財務交易系統 • 核工業安全顧問 • 核潛艇工程師 • 空中交通軟體系統開發 5
  5. 17

  6. Stevie Ray Vaughan, SRV 00:36: the strings break! 00:52: 換琴

    閉上眼,你不會有中斷的感覺 19 SRV 是傳奇藍調歌手、吉他手,百大吉他手第 7 名 1990 一場空難意外驟逝,得年 37 歲。
  7. 練樂器很難嗎?九成九的時間都在練 基本功 • 個人 ◦ 很扎實的演奏功力 → 基本功 ◦ 臨危不亂

    → 信心、現場掌握 • 團隊 ◦ 鼓手、Bass:信任、相信你沒問題 (也可能沒發現) ◦ 技師: ▪ 發現吉他出問題了、準備備用琴 ▪ 在對的時間幫忙換琴,不影響表演 • 聽眾 ◦ 相信,因為他們是專業的藝術家 20
  8. 21

  9. • 從組織架構上對安全進行關注 ◦ 從上到下都是嚴格要求,例如在核動力行業、軍用飛機,軟體安全規範是明確定義的 • 關注任何細節 ◦ 海軍的潛艇,潤滑油沒有補充,造成連鎖性故障 • 冗餘容量

    ◦ 2005 年某個明星電話洩漏,數以萬計粉絲打電話,通信系統 DDoS • 模擬以及進行線上災難演習 ◦ 航空業的飛行模擬、航太科技的無重力模擬 ◦ 環境建置很重要! 應對災難的策略 22
  10. 災難 預備與演練 • 不能把願望當作是一種策略 -- CH1 • SRE 文化: ◦

    永遠保持警惕 ◦ 不停地提出疑問:什麼可能故障?故障之前如何避免? • 年度災難演練,確保在 Production 創造出真正的問題: ◦ 確保系統按照預想的方式發生故障 ◦ 尋找系統中未知的弱點 ◦ 尋找其他提高穩健性的方式,避免事故發生 23
  11. 應對 災難 的策略 24 • 培訓與考核 ◦ 救生員證照很難考 ◦ 日本汽車駕照很難考

    • 超乎尋常的關注對細節要求的蒐集與系統設計 ◦ 雷射視網膜手術設備被設計得極為簡單,因為太複雜的設計,出了狀況就瞎了 • 縱深防禦 ◦ 每個主系統背後都要有備用系統 ◦ 核電廠的輻射物理屏障
  12. 29

  13. Google 的解決之道:SRE SRE is what happens when you ask a

    software engineer to design an operations team. (翻譯:自己開發、自己維運 ) • SRE 有兩種工程師: 1. 團隊中 50% ~ 60% 是標準的軟體工程師。就是通過 Google 面試的人 2. 40% ~ 60% 滿足基本的軟件工程師 (85% ~ 99%),但同時具有一定程度的其他技能的工程師, 主要是 UNIX 內部系統和網路 (Layer 1 - 3) 的知識 • SRE 成員的特點: ◦ 對於重複、手工性的操作有天然的排斥感 ◦ 有足夠的技術能力快速開發軟件系統,取代手工 • SRE 團隊 50% 的精力放在開發工作上 • 將常見的維運工作,交給 產品研發部門操作,或者從 產品研發部門抽調人力參與團隊輪 值工作。 ◦ 只有管理階層主動維護 SRE 團隊的工作平衡,SRE 才能有精力做開發工作 • 整個產品研發部門,都有機會參與大規模維運部署活動 34
  14. SRE 方法論 承擔以下職責:可用性改進、延遲優化、性能優化、效率優化、變更管理、監控、緊急事 故處理、容量規劃與管理 In general, an SRE team is

    responsible for the availability, latency, performance, e ciency, change management, monitoring, emergency response, and capacity planning of their service(s) 此方法論也規範了如何與產品研發部門、測試部門、終端用戶進行有效溝通。 35
  15. SRE 方法論 • 確保長期關注研發工作 (Ensuring a Durable Focus on Engineering)

    • 在保障服務 SLO 的前提下,最大化迭代速度 (Pursuing Maximum Change Velocity Without Violating a Service’s SLO) • 監控系統 (Monitoring) • 緊急事件處理 (Emergency Response) • 變更管理 (Change Management) • 需求預測與容量規劃 (Demand Forecasting and Capacity Planning) • 資源部署 (Provisioning) • 效率與性能 (Efficiency and Performance) 36
  16. 37

  17. 現在的飛機 • A320 / 波音 747 飛機 • 數百名旅客,一堆隨行行李 •

    兩個飛行員,同時擔任機械師 • 從一個洲,飛到另一個洲 41
  18. 50

  19. • Site ◦ *.google.com ◦ gmail, driver, calendar, cloud ...

    • Reliability: ◦ 某個系統在指定的環境下,在指定的時間 內,成功持續執行某個功能的機率。 • Engineering: ◦ 工程方法、軟體工程、流程 Site Reliability Engineering 51
  20. 站在巨人的肩膀 - 基本功 • 演算法, 資料結構, 計算機組織, 科幻概論 • Design

    Pattern, Thinking in Java • Building Microservices • Continuous Delivery, CC2E • How Google Tests Software • AWS Whitepapers ◦ AWS Well-Architected Framework ◦ Architecting for the Cloud: AWS Best Practices ◦ ... 54