北极星系统SLA管理实践
SLA管理进阶
目标:基于北极星开展业务线级别的SLA运营管理
本进阶工作本质上是建立一套稳定性的运营机制,以达到让稳定性保障工作得到有效支持和可持续推进。能够完成北极星指标的梳理、配置、报警,达到及时发现故障,驱动起故障处理流程的效果,就实现了北极星系统的核心目标。该进阶工作建议在达成以上效果后再进行。
步骤一:概念统一 故障等级通常涉及几个类似和容易混淆的概念,如故障、异常、事故、事件、问题,最好在企业内部先统一这些概念的定义,以便降低沟通的成本。
Flashcat中的概念:
基于以上定义:
|
其中故障
是一个重要的分水岭,故障及以上的事件是需要紧急响应紧急处理的,即Flashcat重点针对的场景,而故障及以下的事件则不那么紧急,属于日常排障。
步骤二:基于SLI量化故障标准 1)SLI选取:
北极星指标即SLI(service level indicator)。但为便于观察,北极星业务线中采集的北极星指标通常可能会有一些重合,如总订单量指标和分地域或分城市的订单量指标。可依据业务的情况,从中选取部分指标来作为故障等级判断的依据。
选取原则:所选指标集合能够完整覆盖业务的核心流程;
2)等级量化:
基于选取的北极星指标(SLI)集合推荐一个异常等级量化的样例:
异常等级量化举例:
定义中的相关概念:
|
输出:明确量化的故障等级标准文稿。
步骤三:可用性配额(Error Budget)管理
可用性配额或错误配额,即全年允许故障持续的总时长,是可用性目标(SLO,service level objective)计算的基础,如可用性配额为262.8分钟,对应可用性目标则为99.95%。
其实也可以反过来,先确定全年可用性目标,录入目标值,Flahcat会自动计算出可用性配额。但配额值其实更具业务意义,因此建议采用先配额后目标,再微调的制定方案。
首先,确定需要扣减可用性配额的故障等级,如P3一般事故及以上的等级需要扣减配额。各个等级扣减配额的方案有多种,可选方案举例:
1)只要达到P3等级,无论严重程度,一律扣减异常持续时间的时长;
2)按等级进行折算,如:
- P0:从配额中扣减 事故持续时长 x 100% 的时间;
- P1、P2、P3:从配额中扣减 事故持续时长 x 异常时间区间累计量下降幅度 的时间;
可以结合业务的情况,制定一个合理的算法。
扣减算法确定后,再基于业务线历史的故障情况,和未来的发展预期,大致推算一个可用性配额的量级,最后可能权衡微调为对应99.9%、99.95%、99.98%之类的可用性目标值。
输出:明确量化的可用性配额扣减标准,及各个业务线的可用性配额数值。
步骤四:可用性目标(SLO)管理
业务线全年的可用性配额确定后,可在Flashcat的北极星首页进行录入,Flashcat会根据录入的配额自动计算全年的可用性目标。
计算公式(单位:分钟):
可用性目标 = (365 * 24 * 60 - 配额)/(365 * 24 * 60)* 100% |
后续每次故障复盘中,需要确认故障的等级和消耗的配额,并累加到已消耗的配额中,系统会根据已消耗的配额每天自动计算当前可用性。
计算公式:
当前可用性 = (1月1日到当前的天数 * 24 * 60 - 已消耗的时长)/(1月1日到当前的天数 * 24 * 60)* 100% |
系统同时计算预估可用性,即假设从当前时间开始到年末都不出现消耗配额的事故,预期保持到年底时的可用性数值(可用于和可用性目标做对比)。
计算公式:
预估可用性 = (365 * 24 * 60 - 已消耗的配额)/(365 * 24 * 60)* 100% |
重要提示:
1)可用性目标因为SLI的选取不同、故障等级的标准不同、配额扣减的标准不同,通常无法在不同标准体系下做横向比较。较有意义的是现在和过去、今年和往年进行对比。但前提是持续管理,并保持标准的一致性。 |
输出:明确的可用性配额录入到北极星业务线中,被在每次事故后更新消耗的配额。
SLA管理最佳实践
最佳实践:基于北极星的业务稳定性SLA管理最佳实践
1)成立公司级(至少是业务线级别)的稳定性联合保障组织,对公司/业务线的服务稳定性负责;
2)定期总结各北极星业务线的稳定性指标达成情况、故障情况、改进项完成情况等数据,作为运营报告输出;
3)对稳定性建设表现优秀的团队进行奖励,对可用性配额消耗大的团队进行复盘总结;