可靠性是 MTTF(平均失败时间)和 MTTR(平均恢复时间)的函数(参见文献)。评价一个团队将系统恢复到正常情况的最有效指标,就是MTTR。
任何需要人工操作的事情都只会延长恢复时间。一个可以自动恢复的系统即使有更多的故障发生,也要比事事都需要人工干预的系统可用性更高。当不可避免地需要人工介入时,我们也发现与"船到桥头自然直"的态度相比,通过事先预案并且将最佳方法记录在"运维手册(playbook)"上通常可以使MTTR 降低3倍以上。初期几个万能的工程师的确可以解决生产问题,但是长久看来一个手持"运维宝典"经过多次演习的 on-call 工程师才是正确之路。虽然不论多么完备的"运维手册"也无法替代人的创新思维,但是在巨大的时间压力和产品压力下,运维手册中记录的清晰调试步骤和分析方法对处理问题的人是不可或缺的。因此,Google SRE将大部分工作重心放在"运维手册"的维护上,同时通过"Wheel of Misfortune"等项目不断培训团队成员。
|