全球都在享用 Google 首屈一指的線上服務群,但直到他們在 2016 年出版了 Site Reliability Engineering 一書,世人才第一次全面認識到該如何支持這種深度廣度的系統維運。

全球性線上服務系統,規模與複雜度遽增,只靠傳統的人力或獸力是無法長久維運下去的。面對這問題,擁有第一流軟體研發能量的 Google,大膽拋開傳統作法,改從一個獨特的提問出發:「如果我們賦予軟體研發工程師一個任務,讓他們有機會從頭去設計維運系統,那會是什麼模樣?」

更進一步的提問是:「如果我們限制他們最多只能投入 50% 的時間在維運上,那會是怎麼樣的工作方式?」

從這角度出發,便是目前我們現在看到的 SRE。

   

SRE 的日常,一部分是演繹法,試圖以堅實的軟體工程技術出發,去解決傳統維運僅靠人力獸力導致的低效與無趣。於是乎,我們看到許多從 SRE 角度發展出來的觀念、原則、流程與實踐。

SRE 的日常,另一部分則是歸納法,試圖從一次次棘手難堪的出包事件出發,透過鍥而不捨的毅力與求知慾,將系統改善得更強韌。要做到這一點並不容易,「不咎責文化」更是重要的土壤。

演繹法的 SRE 資料已經很多了,說教意味濃厚的甚至帶給人距離感;歸納法的 SRE 資料則非常稀少。這也是《SRE 工作現場直擊》這本書令人驚艷之處:接地氣的實務案例,彷彿在看一本故事書。尤其對於曾經身處同一產業的我來說,字字句句真的都是 SRE 血淚心得。

《SRE 工作現場直擊》

《SRE 工作現場直擊》

我鼓勵你,邊看這本書,邊設想:換做是你,會如何面對這些事件?又會如何以 SRE 角度去改善系統,以避免問題、及早偵測問題、讓系統用最有效率的方式復歸?

好好思考這些,design for ops,將提高你的系統架構實力。

            —— 敏捷魔藥師 葉秉哲 (William Yeh) 2024-08-14