没有历史数据如何定义服务水平目标

33次阅读
没有评论

问题描述

想要了解在没有历史数据的情况下,如何定义服务水平目标(Service Level Objective,SLO),以及是否有一些结构化的方法可以在服务水平协议(Service Level Agreement,SLA)中设置SLO,而不需要任何历史数据来指示什么是现实和可行的。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在没有历史数据的情况下,定义SLO确实是一项挑战。但是,有一些常见的方法可以帮助您开始定义SLO,并在以后根据数据进行调整。
以下是一种常见的方法:
1. 首先,您可以从一个相对保守的目标开始,例如80%的SLO。这意味着您希望系统在80%的时间内达到或超过SLO。
2. 然后,随着您收集到的数据增加,您可以根据这些数据来调整SLO。例如,如果您发现系统在实际运行中达到了90%的可用性,那么您可以将SLO调整为90%。
3. 您还可以使用一周的数据作为起点,以获得一个合理的初始目标。尽管这不是完美的,但它可以作为一个参考点,帮助您开始定义SLO。

请注意,这些方法只是一些常见的做法,您可以根据实际情况进行调整。最重要的是,随着您收集到更多的数据,您应该根据这些数据来调整和优化SLO,以确保它们与实际情况相符。

方案2

如果没有历史数据,您可能无法准确地定义SLO。在这种情况下,您可以先定义服务水平指标(Service Level Indicators,SLIs),然后根据KPI和支持指标来确定SLO。
以下是一个具体的示例:
1. 假设一个名为Hipster Store的产品即将上线。
2. 产品管理、开发和SRE团队希望定义SLO。
3. 他们应该从定义SLIs开始,例如网站可用性、注册成功率、结账成功率等。
4. 产品管理/高管应该同意进行一次“软”上线和逐步推出(如果可能的话),例如先内部员工,然后合作伙伴,最后单个州/海岸/国家。
5. 随着“软”上线和逐步推出的进行,他们可以将SLIs的变化与KPI(例如收入)和支持指标的变化进行关联。
通过这样的方式,Hipster Store的领导层可以了解到SLIs与客户不满意程度/痛点(例如支持指标)和KPI(例如收入)之间的关联性。SLOs就是衡量标准,可以设置一个或多个,并围绕它们定义警报。然后不断重复这个过程,根据数据进行调整和优化。

需要注意的是,在设置SLO之前,如何进行警报和设置什么样的警报是一个后续问题。您可以参考以下文章:https://www.oreilly.com/ideas/reduce-toil-through-better-alerting

以上是一些常见的方法,您可以根据实际情况进行调整和优化。在没有历史数据的情况下,定义SLO可能会有一定的不确定性,但随着数据的积累和分析,您可以逐步优化和调整SLO,以确保其与实际情况相符。

正文完