SRE可靠性设计的行业参考

谷歌SRE比对其它行业的可靠性设计的最佳实践,分为四个部分:

一、准备和灾备测试

SRE文化是永远警觉和持续质问:什么有可能会出错?在处理问题的时候,我们能采取什么样的措施来防止事态扩大化或者数据丢失?

灾备测试的原因是:1.确保系统按照我们所想的工作;2.找到预料之外的的系统弱点;3.找到使系统更强壮的方法来预防不可控的断供。

其它行业的灾备测试策略包括:

1.组织不断强调质量

制造业:核能源、军用飞行器、铁路信号工业

2.关注细节

美国海军:执行小任务时的高度警觉意识,如润滑油维护,一个很小的疏忽或失误都可能带来极大的影响。系统高度内联,一个区域的事故会影响多个相关的部件。核海军聚焦日常维护,确保小问题不出现雪球效应。

3. 容量变动

电信行业:受到不可预期的事件如自然灾害或可预见的事件如奥运会影响,绝对容量受限制。通过移动电信办公室来解决系统容量过载问题。

4.仿真和现场演练

航空行业的事故演练

电信行业的飓风和其它极端天气演练

美国海军的“假如”思考练习和现场演练

救生员的溺水演练

5.训练和证明

都认为非常有必要

6.聚焦具体的需求收集和设计

医疗:眼外科手术机器设计要注意防呆

7.深度和广度防御

核能业:对失败和事故的0容忍

二、.事后文化

正确的和预防性的措施是大家熟知的聚焦问题根因来提高可靠性的概念,为了避免问题再现,如下评估很重要:

a.发生了什么?

b.响应的有效性

c.下次处理会有什么不同

d.采取什么措施才能确保下次发生相同的事故

这些活动不是针对个人的,也不是为了责罚,而是作为组织层面要了解出了什么错误,确保这个问题不再发生。事后文化可以让事故在整个SRE团队内获得收益。//重点在分析,不在惩罚。

救生员行业:救生员的脚一旦下水,就要提交报告。

三、自动化和减少操作成本

谷歌的SRE对重复性的工作忍受度很低。

核海军:潜水艇上的工作是由一系列信任的人来管理的,而不是一个人。他们也同时考虑到自动化和电脑更新太快,很容易导致一个不可修复的失误。当你和核反应堆打交道的时候,快不是最关键的,慢而稳定的方式更重要。

财产交易行业:电脑执行速度很快,若任务不正确,造成的损失非常大。

制造业:自动化来追求效率和成本。

核工业:植物需要在30分钟内对给定的环境做出反应,自动化非常有必要。

航空业:自动化的前提是安排人监控。

医疗业:自动化很好的减少了激光眼睛手术的使用失误。

四、结构和理性的选择决定

数据必须是严谨的,团队在做决定前必须满足以下条件:

1. 决定的基础是考虑到了将来的情况才被同意的,而不是基于过去的事实。

2. 决定的输入必须清晰

3. 任何假设的状态都是明确的

4. 数据驱动的决策必须要得到房间内大多数高级工程师的同意

电信业&核工业:所有的决定都是在“if  it works now, don't change it”思维方式下做的。很多行业在问题解决上严重依赖于操作指导和手册。其它行业也采取清晰的数据驱动方式来做决定。但有些行业(如财产交易)把决策制定划分到在更好的管理风险这类:问题一旦发生,先关闭机器。没有交易虽然不赚钱,但是至少不在损失钱。

总结:行业调查表明,谷歌在软件更新的要求上比其它行业要更高。

重点:谷歌通过其它行业的可靠性理解创造出自己的可靠性文化:在规模、复杂度、变化速度和可靠性之间寻求到平衡的一个复杂公式。

你可能感兴趣的:(SRE可靠性设计的行业参考)