服务等级目标的组成部分

Google Cloud 架构框架中的本文档定义了了解和创建服务等级目标 (SLO) 所需的关键概念。

SLO 的核心反映了您为用户提供服务的可靠性目标。在定义这些目标时,请务必纳入所有关键利益相关方的意见。许多不同的群组和管理级别都对您的服务有着深厚的兴趣。这类用户包括企业主、产品所有者、高管、工程师、支持人员、运营团队、销售团队,以及与您的服务相关的任何其他团队。

您可以选择不同的可靠性目标,因此获取利益相关方意见的方法有很多。最终如何选择目标取决于您和您的组织,基于要求、利益相关方和其他因素。虽然此过程不在本指南的讨论范围内,但一个简单的方法是创建一个描述 SLO 以及如何开发它们的共享文档。在文档实施时,您的团队可以对其进行迭代,并随着时间的推移不断改进 SLO。

以下部分定义了 SLO 的各种组成部分。

服务等级

服务等级用于衡量服务为用户完成其预期工作的表现。此指标可以基于用户满意度进行描述,并通过各种方法进行衡量,这些方法取决于服务的独特特征、用户群和用户期望。在本指南中,我们将性能与系统的可靠性相关联。

服务等级示例:我们的用户希望服务可用且快捷。

服务等级指标

服务等级指标 (SLI) 是一种可以定量测量的用户满意度指标。指标类似于图表上的一条线,随着服务改善或降级,该条线会随时间变化。要评估服务等级,请选择表示用户满意度某个方面的指标。可用性是常见的 SLI。

示例 SLI:过去 10 分钟内的成功请求数量除以同一时间范围内所有有效请求的数量。

示例中的 SLI 具体且定义明确,以数值表示。该值反映了该服务的可用性。通过在一段时间内持续跟踪此 SLI,团队可以确定其服务的整体可用性。

如需详细了解如何选择 SLI,请参阅选择 SLI

服务等级目标

服务等级目标 (SLO) 是您期望服务通过 SLI 衡量的目标范围。以下示例使用响应时间(即服务速度)作为 SLI。

示例 SLO:在 14 天衡量的所有有效请求中,95% 的服务响应快于 400 毫秒 (ms)。

在示例 SLO 中,SLI 指的是快于 400 毫秒的请求数除以有效请求数。系统会在 14 天内跟踪此百分比。目标是满足所有请求的 95%。也就是说,如果最终结果(符合条件的请求的百分比)超过 95%,则表示已达到服务的 SLO。

简而言之,SLI 是服务的一些衡量指标(例如速度、可用性和成功)。SLO 是这些测量值的特定数量(百分比)达到或超过某个预定级别或范围的预期。任何低于预期水平的表现都是不良的表现。您未能在特定性能方面为用户提供可靠的服务。

如需详细了解如何选择 SLO,请参阅选择 SLO

服务等级协议

服务等级协议 (SLA) 是您、服务提供商与您的客户之间的合约。它列出了对客户承诺以及客户最终期望的 SLO。SLA 还指定了未达到 SLO 时会出现什么情况。SLO 中断可能会导致服务提供商退款、提供折扣服务,或者在较关键的服务中可能面临法律诉讼或惩罚性损害赔偿。

本指南不着重讨论 SLA。提及 SLA 是为了加强您对 SLO、SLI 和用户的了解。

错误预算

讨论 SLO 时了解的最终值是您的服务在违反 SLO 之前可以承受的负面事件百分比或数量。此数字称为“错误预算”,定义了您的企业可以预期和容忍的错误数。

为了进行演示,请使用可用性作为 SLI(以百分比表示)。 百分比中的三个或更多“9”表示您要测量该 SLI 的精度。换句话说,“9”的个数表示可用性百分比。

假设 SLO 为三个 9,则为 99.9%。从 100% 中减去 SLO 值后,错误预算为 0.1%。在讨论可用性时,0.1% 的预算每年略少于 9 小时,在此期间服务不可用。再增加一个 9 可大大减少错误预算。99.99%(四个 9)的可用性允许每年的服务停机时间少于一小时。

停机时间包括失败的请求、服务器因故障(崩溃或软件错误)或设计(升级或测试)、人为错误、事故等停机。

后续步骤