SLI、SLO、SLA
SLA = Service Level Agreement = 服务质量/水平协议(对外承诺)
SLO = Service Level Objective = 服务质量/水平目标(对内产品目标)
SLI = Service Level Indicator = 服务质量/水平指标(对内产品服务质量评价指标)
SLI
Service Level Indicator 服务水平指示器,服务水平,简称SLI。对于业务来说是最重要的指标。比如,对于网站来说,一个常见的SLI是请求得到正常响应的百分比。
SLO
Service Level Object 服务水平目标,是围绕SLI构建的目标。通常是一个百分比,并与一个时间范围挂钩。比如,月度、季度、年度等。通常用一连串9来度量。如果脱离了时间的度量,SLO的意义就不大了。
故障时间秒数=(1-可用性) * 365 * 24 * 3600
-
3个9:(1-99.9%)*365*24=8.76小时,表示该系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
-
4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
-
5个9:(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
计算10个9以内的情况得到如下结果:
SLA
Service Level Agreement 服务水平协议,是企业围绕SLO发布的协议。它要求在不满足SLO时向客户补偿的协议。
实例
假如我有一个网站http://163com,我对这个网站的监控指标是请求正常响应数,从2021年1月1号上线到今天2021年3月18号,请求数据如下:
1月,总请求数500,错误响应20;
2月,总请求数600,错误响应10;并因为故障宕机10分钟;
3月1号-3月18号,总请求数400,错误响应15;
那么我计算出来的SLI、SLO,SLA是多少呢?
SLI :1 -(20+10+15)/ ( 500+600+400 ) = 97%
SLO:1 - 10 / ( 79天 * 24 * 60)= 99.991%
SLA:假如我们是给第三方做的网站,并签订了协议SLO达不到99.999%,就赔偿多少钱,那么根据我上面的这个SLO,再根据签订的SLA协议,算出补偿的金额。