这个星期接触到了SRE(网站可靠性工程)的概念,这是Google在十年前提出的一个新词(在国内最近两年才出现)。为了更好的理解它,我在这里把sre中的一个重要概念也就是适当可靠性记录一下。
先来看一个由微软给出的 SRE定义
网站可靠性工程是一门工程专业,致力于帮助组织实现系统、服务和产品的适当可靠性级别。
注意到这句话的最后,“致力于帮助组织实现系统、服务和产品的适当可靠性级别”中的“适当可靠性”,在理解它之前,先来看看可靠性。
可靠性
最核心的一词是“可靠性”,这在“SRE”名称中间也有所体现。 定义中说的不是“适当性能级别”、“适当效率级别”、“适当稳定性级别”或“达到适当收入级别”, 而是“适当可靠性级别”。 原因是什么?
尝试着想一下,需要企业耗费大量时间、精力和资源才能创建的应用程序。 如果应用程序没有正常运行(即如果它在客户需要访问它时无法运行或如果它不可靠),这对任何人都没有任何好处,尤其是对企业。 其实,缺少可靠性可能会(在信誉、经济、合同、士气等方面)对企业造成实际危害。
因此,可靠性非常重要,SRE 选择它作为重点关注的基本属性(可能是服务、系统或产品的基本属性)。 接下来继续说说定义中的适当可靠性
适当可靠性级别
现在重新看一下 SRE 的定义
网站可靠性工程是一门工程专业,致力于帮助组织实现系统、服务和产品的适当可靠性级别。
2019年的互联网时代,必须 100% 可靠的系统和服务寥寥无几。除非在航空、医疗设备等生死攸关的行业。
实际上,在极少数情况下,追求100%的系统可靠性也是可取的。但是在提高可靠性时,所需的精力和资源(以及随之而来的成本)急剧上升。 换句话说,追求不必要的可靠性就是浪费时间和金钱。
可靠性级别必须与业务需求保持一致,且切实可行。 例如,如果用户通过非 100% 可靠网络与你联系(假设正常运行时间比例为 90%),那么为确保服务 95% 可靠所花费的精力和金钱显然就是浪费。
那么现在可以思考的问题就多了起来,如果现在能考虑确定适当可靠性级别,那么在成功达到或超过此级别时,该做些什么? 同样,如果没有实现此目的该怎么办? SRE就是为了解决这些问题而出现的。