TL;DR
Service Level Objective(サービスレベル目標)の略。SLI で計測した値の目標値である。
なぜ必要か
サービスが目的を果たせているかどうかを測るために設定する。
仕組み
Google の SRE 本の定義では、SLO は SLI で測ったサービスレベルの目標値、または値の範囲であり、「SLI ≦ 目標値」のような形で書く。目標は今の性能から決めず、利用者が気にすることから逆算して、少なく単純に保つ。最初は緩い目標から始め、後で厳しくすればよい。
SRE 本は目標を 100 % にするのは非現実的で、望ましくもないと述べている。100 % を求めると、新機能の追加やデプロイが遅れ、保守的で高くつく設計が必要になる。SLO を満たせなくてもよい割合はエラーバジェットと呼ばれ、リリースするかどうかの判断に使える。
注意点
サービス提供者が自己評価や品質向上のために設定する内部の指標であり、外部には公開しない。クライアントと合意するものは SLA である。
なお、SRE 本は SLO を選んで利用者に公開すると、サービスの性能への期待をそろえられるとしている。その場合でも、公開する SLO より厳しい内部の SLO を持っておくと、余裕を持って対応できる。