解法
到21世纪初,谷歌的数据中心规模已经超出了传统运维模式的能力范围,传统模式下服务器越多就需要雇佣更多运维人员;2003年Ben Treynor Sloss加入,负责生产环境,他判断按这种比例招人既不可行也找不到足够的人,而且宕机处理是临时的——谁先收到告警谁就临时应对,没有一致的方法来区分小问题与全局性故障。
软件运维领域没有消防部门那样的等级结构:告警要么触发要么不触发,每条事件都争夺同样无差别的关注,无论规模大小。Treynor的团队由软件工程师而非传统系统管理员组成,他们把这个问题视为工程问题而非人员配备问题。
站点可靠性工程正式确立了严重性等级、告警分级和应急指挥角色,这些是刻意从应急服务中借鉴的。
取得了什么结果
借鉴消防部门的应急指挥系统:严重性分级,加上指挥官和负责人,使响应力度与影响相匹配。
为什么有效
没有严重性分级,每条告警都会触发相同的响应,既在琐碎问题上浪费精力,又对严重问题投入不足。
预先分配角色(如应急指挥官)能将混乱转变为有序响应,使响应力度与实际影响相匹配。
从应急服务借鉴成熟结构,避免从零开始设计协调体系。
可以借鉴什么
当每个问题都获得同等关注时,借鉴已有领域在压力下协调的经验,采用分级严重性和预先分配的指挥角色。
后续
严重性级别和应急指挥现已成为软件行业的默认实践;谷歌的事件管理框架(IMAG)明确建立在消防部门的应急指挥系统之上,每次声明的事件都会指定应急指挥官、通信负责人和运营负责人。
从这里,追溯依据
参考来源
- Incident Response documentation, SRE Workbook Google (official SRE documentation) · sre.google
- The Origins of SRE from the Director of SRE Education at Google DevOps Institute · devopsinstitute.com