总目标“可用性”带来的问题
对于SRE来说,他们的终极KPI是可用性。但是,这个KPI对于SRE团队来说没有任何的指导意义。就好比篮球比赛上的目标是100分,它也不会教你的团队如何在一场比赛中拿到100分。我们应该思考的是如何在篮球比赛拿分,是通过提升个人能力,还是通过战术等。
说到底,不论是篮球分数,还是可用性,它们都是结果性指标,是无法指导我们的过程的。我们应该把精力放在过程指标,而不是结果指标。球场上的球员紧盯着计分牌对于得分是起不了任何作用的。
所以,我们需要对“高可用”这个指标进行更深入的思考才能确定我们真正的KPI。
更深入思考可用性
深入思考可用性,你遇到的第一个问题是,对于服务A,可用性指的是什么?如果没有定义,就无法谈“达到可用性”。
那么可用性指的是什么呢?可用性通常和业务指标有关。因为业务目标是软件存在的意义。比如对于语音相关的服务,它的可用性指标可以是:语音交互失败数、语音交互耗时等。
达到可用性目标的方法
不论可用性对于业务指标的定义是什么,个人认为都可以通过以下方法达到:
-
减少影响可用性的因素
-
减少解决可用性问题的时间
方法1:减少影响可用性的因素
要回答这个问题,我们需要先确定有哪些因素导致服务不可用。目前能看到的因素有:
-
性能因素,包括应用级别、基础设施级别等;
-
容量因素,包括负载均衡连接数及带宽、数据库容量等;
-
安全因素,包括DDOS等;
-
外部依赖因素,包括依赖的第三方服务挂了等;
-
人为因素,包括错误的配置、业务逻辑错误等;
-
不可抗拒因素,包括光缆被挖断、水泡机房等。
方法2:减少解决可用性问题的时间
简单地说就是:减少发现故障的时间和减少修复故障的时间。
可用性KPI制定具体步骤
根据“可用性”的思考,个人认为可用性KPI的制定的具体步骤如下:
-
SRE与各业务团队共同确定以什么业务指标作为可用性指标;
-
监控该可用性指标,并保证全年数据;
-
监控所有的影响可用性的因素、并制定应对方案;
-
制定故障发现与恢复记录机制;
-
列出所有导致故障发现时间延长的因素,并解决;
-
列出所有导致可用性恢复时间延长的因素,并解决。
欢迎关注:持续交付实践指南
过往好文推荐:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/70963.html