SLO与SLI:软件可靠性实践指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 如何看待可靠性

Alex Hidalgo

科技行业有一个习惯,就是迷恋某些术语、短语或哲学,并过度使用它们,以至于它们成为毫无意义的营销术语。一个典型的例子就是DevOps这个术语,它是用来描述完成任务的某种方法。最初DevOps制定的初衷是作为一种方法,可以帮助缩短产品发布周期并提供更快的反馈路径,但现在它通常被用作一个职位或一类供应商的软件服务。另一个密切相关的例子是“站点可靠性工程”一词,以及与之相伴的“可靠性”一词。

可靠性往往意味着只有在技术领域有可用性。虽然可用性和可靠性是紧密联系在一起的,但可用性并不能说明全部情况。不幸的是,可靠性、健壮性和弹性等词在谈论计算机服务时都偏离了它们原来的含义。像正常运行时间和停机时间这样的常见术语会使问题更加复杂,因为当人们说“正常了吗”?他们并不总是说“这个二进制文件在运行吗?”更多时候,它们意味着更微妙的东西。

事实上,这些东西都不是新事物。可靠性工程作为一门学科并不是一个新的发明或想法。SLO是一种通常与技术关联在一起的方法,但是构建系统和模型来思考、度量或预测系统的可靠性是一种实践,在许多工程学科中已经存在了很长一段时间。系统的可靠性意味着一个系统正在做用户需要它做的事情,而可靠性工程原理可以帮助我们知道如何在计算机系统中实现这一点。

本章介绍了可靠性工程的概念,讲述了一个你应该很熟悉的例子,最后讨论了为什么完美是不可能的(或不必要的)。