到了 2000 年代初期,Google 的資料中心規模已超出傳統維運模式所能負荷——在那個模式下,伺服器變多就代表要雇用更多維運人員。2003 年被找來負責生產環境的 Ben Treynor Sloss 判斷,按這種比例增聘人力既負擔不起,也找不到足夠的人;而且當機事件都是臨時應變處理——誰先被呼叫,誰就即興擬定回應方式,沒有一致的方法能分辨小故障與全公司規模的災難。

軟體維運沒有相當於消防部門階級結構的東西:警報不是響了就是沒響,每起事故不論規模大小,都在爭奪同樣未經區分的注意力。Treynor 的團隊由軟體工程師而非傳統系統管理員組成,他們把這件事當成工程問題,而非人力配置問題。

網站可靠性工程(Site Reliability Engineering)正式訂出嚴重程度等級、分級呼叫機制,以及一個刻意仿效緊急服務單位的事故指揮角色。

借用消防部門的事故指揮系統:嚴重程度分級,加上一名指揮官與各組負責人,讓應變規模隨影響程度調整。

沒有嚴重程度分級,每個警報都會觸發同樣的應變,把注意力浪費在小問題上,卻讓嚴重問題資源不足。

預先指派的角色(事故指揮官等)把混亂轉化為有組織的應變,讓投入的心力隨實際影響程度調整。

借用緊急服務單位已驗證的架構,可避免從零開始發明一套協調系統。

當每個問題都在爭奪同等注意力時,向一個早已解決高壓下協調問題的領域,借用分級嚴重程度量表與預先指派的指揮角色。

SEV 等級與事故指揮如今已是軟體產業的預設做法;Google 的事故框架(IMAG)明確建立在消防部門的事故指揮系統之上,每起宣告的事故都設有指定的事故指揮官、通訊負責人與營運負責人。

追溯依據

參考來源

  1. Incident Response documentation, SRE Workbook Google (official SRE documentation) · sre.google
  2. The Origins of SRE from the Director of SRE Education at Google DevOps Institute · devopsinstitute.com