33. 前言 (Foreword)
● 系統維運本質上是人與計算機共同參與的一項系統性工程 - Principles of
Network and System Administration
● 系統管理工程師:他們很神秘,和公司內的體制與整個行業也格格不入
● IT 行業大多自我封閉,交流甚少
○ 整個軟體產業都在鼓吹厚顏無恥的 “Just show me the code”
○ ZYX as Code, ABC as an Service
● 這本書沒有萬靈丹,沒有什麼東西能解決一切的。
● 不斷自省
33
46. ● 研發部門:隨時隨地發佈新功能,沒有任何阻攔
○ the development teams want to launch new features and see them
adopted by users.
● 維運部門:一但在 Production 正常運作,就不要進行任何變動
○ the ops teams want to make sure the service doesn’t break while they
are holding the pager. Because most outages are caused by some kind
of change—a new configuration, a new feature launch, or a new type of
user traffic—the two teams’ goals are fundamentally in tension
Dev & Ops 想要的
46
47. 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 才能有精力做開發工作
● 整個產品研發部門,都有機會參與大規模維運部署活動
47
65. Chapter 1 結論
● SRE 代表管理大型、複雜服務的最佳實踐
● 簡單的想法:
○ as a software engineer, this is how I would want to invest my time to
accomplish a set of repetitive tasks
● SRE 是一套指導思想、方法論、激勵方法
● SRE 是一個專職的職務
65