「うちのサービスは安定しています」という説明を、具体的な数字なしに聞いたことはないでしょうか。この「安定」という言葉を、あいまいなままにしないための3つの指標があります。
それぞれの役割:測る・目指す・約束する
SLA・SLO・SLIは、頭文字が似ているため混同されがちですが、役割がそれぞれ異なります。
| 用語 | 正式名称 | 役割 |
|---|---|---|
| SLI | Service Level Indicator | 実際に測定する数値そのもの |
| SLO | Service Level Objective | 社内で目指す目標値 |
| SLA | Service Level Agreement | 利用者との約束(契約) |
例えば、「サービスがきちんと動いていた時間の割合(稼働率)」を例に考えると、実際に計測した稼働率の数値がSLI、「稼働率99.9%を目指す」という社内の目標がSLO、そして「稼働率99.9%を下回った場合は利用料を返金します」という利用者との約束がSLAにあたります。
同じ「稼働率」という数字を扱っていても、「測るもの」「目指すもの」「約束するもの」という3つの異なる立場から見ている、という点が理解のポイントです。
なぜ、この3つを分けて考える必要があるのか
もしこの3つを混同してしまうと、思わぬトラブルにつながることがあります。例えば、社内の目標(SLO)として設定していた数値を、そのまま対外的な約束(SLA)として利用者に伝えてしまうと、達成できなかった場合に契約違反として扱われてしまう可能性があります。
社内の目標は、多少の余裕を持たせつつ、チームの努力目標として設定することが多いのに対し、対外的な約束は、達成できなかった場合の責任が伴う、より慎重な数値である必要があります。この違いを理解せずに運用してしまうと、社内では「目標に近い数値だから問題ない」と考えていても、利用者から見れば「約束を破られた」という受け止め方になってしまうことがあります。
実務での活用イメージ
大規模なサービスに限らず、この考え方は小さな運営でも応用できます。
- 実際の状態を数値で測定する(SLI):月間のエラー発生率、ページの表示速度など
- 目指す基準を決める(SLO):「エラー率を1%未満に抑える」といった自分なりの目標
- 対外的な約束をする場合はSLAとして明文化する:個人・小規模の運営では、この段階まで必要ないことも多い
重要なのは、「なんとなく安定している」という感覚的な判断から、「この数値を下回ったら対応する」という具体的な基準に落とし込むことです。基準が明確であれば、問題が起きた際にも「これは対応が必要な状態なのか、まだ許容範囲なのか」を、感情ではなく数字で判断できるようになります。
まとめ
SLI・SLO・SLAは、それぞれ「測る・目指す・約束する」という異なる役割を持つ指標です。特に、社内の目標(SLO)と対外的な約束(SLA)を混同すると、達成できなかった際の受け止め方に大きな差が生まれてしまいます。個人や小規模な運営であっても、感覚に頼らず数字で品質を振り返る習慣として、この考え方は十分に役立ちます。