SRE体系03----管理风险

正确的容忍风险

在现实的运维工作中,业务系统不可能百分之百可靠,我们也不会追求百分之百可靠。因为这不但会带来高昂的成本,而且会严重拖慢研发效率。SRE应该容忍合理的风险,以平衡效率和稳定性之间的矛盾

比方说用户使用手机的移动5G来访问我们的门户网站业务系统,他根本感受不出99.9%和99.99%,99.999%可靠性的业务系统有什么区别! 用户虽然分辨不出服务质量的区别,但是对于业务系统维护者来说,要达成上面3个SLO,需要投入的人力,物力,财力却是呈指数级上升的。

这里SRE可以选择99.9%的可靠性方案,允许出现0.1%的访问失败情况,对用户来说是可以接受的(用户浏览门户网站,如果失败了可以重试,并不会对用户造成损失)。对于服务提供者来说,用最少的运行投入成本获得了最佳收益。

度量风险

一般是两种方式:
通过系统可用时间计算可用性:
可用性 = 系统正常运行时间 / (系统正常运行时间 + 计划外停机时间)

通过成功请求数量计算可用性:
可用性 = 成功请求数 / 总请求数

分析用户对风险的容忍度

通常我们要和业务团队合作来分析用户对风险的忍耐程度,确定最终的SLO,需要考虑以下的因素:

  • 用户期望的服务水平是啥
  • 服务是否与收入直接相关(例如支付,转账,收款等)
  • 是有偿服务还是免费服务
  • 竞争对手的同类产品的服务水平
  • 服务是ToB还是ToC的

例如百度的搜索服务,这是免费服务,可以调低可用性,而像微信支付,支付宝等应用,就要保证高可用性,可靠性,因为出问题会对用户造成直接的经济损失

分析风险应对成本

上面是从用户侧来分析,我们还需要根据公司的实际情况来确定所能提供的可用性。99.9%的可用性意味着0.1%的风险,而99.99%有0.01%的风险。但是我们将系统的可用性从99.9%提升到99.99%需要投入大量的冗余软硬件设备,这些投入是否能换来收益是我们要考虑的。只有分析清楚风险容忍度和应对成本,我们才能制定合理的SLO,才能有效的管控风险

你可能感兴趣的:(运维)