SLOとは
バズワードでもあるこれ。
意味を改めて理解しなおすために、SLO本を読んだのでそのメモ。
SLO本
これです。
表紙の犬はスパニッシュウォータードッグ。
本記事は主に1章.信頼性スタックを参照しています。
SLI,SLO,SLA
これら三つでセット。
本書によると、これらは信頼性スタックと呼ばれます。1
SLI
Service Level Indicator サービスレベル指標
信頼性スタックの最下部のレベルにあるとされます。
SLI・・・メトリクスで特定される計測値、つまりサービスのある種の特性を表す一つのデータです。優れたSLIは、ユーザーの観点からサービスを計測します。
SLIは、各イベントについて「良い」か「悪い」の二者択一で結果を得られれば、最も有用です。2
たとえば、Webページを十分な速さで読み込めるかどうか、といったことを表します。
この良い悪いの二者択一に振り分けることで、指標として機能するのですね。
これによって、すべてのイベントの中で、良いの割合を出すことができます。
測定した割合は信頼性の評価に使えるということですね。
また、良いSLIについての記述もありました。わかりやすかったのでそのまま引用します。
良いSLI・・・すべての利害関係者が理解できる平易な文章で、意味が伝わるように表現することができる。3
SLO
Service Level Objective サービスレベル目標
SLIで良い割合のパーセンテージを出せることがわかりました。
SLOはこのSLIのパーセンテージが目指すべき目標値です。
SLO・・・障害を起こしても許容される頻度の目標値、あるいは正常に動作していなくてもユーザーが重大な混乱に陥らないとされる目標値。SLIを使って表現される。
SLA
Service Level Agreement サービスレベル合意
これは、意外にも本書では詳細に扱いません、と明記されていました。
SLA・・・有償顧客との契約書に記載されるビジネスの決定事項。4
また、SLAとSLOとの違いという形で説明されていました。
ここは個人的には一番学びになりました。
SLAとSLOの違い・・・SLOは目標で、SLAは契約上の合意であり、支払いを伴う明示的な約定。
SLOは目標であるので、自由に変更したり更新したりできる。
SLOに違反した場合は、それに対して、長期に渡って、何等かの対策を行うための選択の余地がある。
長期に渡ってSLAに違反した場合、それに対して一般的には選択の余地はなく、すぐに対応することが求められ、そうでなければビジネスが継続できなくなる。5
SLOに違反した場合は、それに対して、長期に渡って、何等かの対策を行うための選択の余地がある。5
この部分は、SLOの活用方法として別章で詳しく記載されていました。
本記事では深入りせずに留めます。
もう一人登場人物
エラーバジェット
エラーバジェット・・・SLOに対してどれだけ、経時的にSLOのパフォーマンスを測定する手段。その期間内にサービスがどの程度信頼できないことを許容できるかを定義し、是正措置を講じる必要がある時を示すシグナルとして機能。1
次のような使用例です。
・今月のエラーバジェットが30分残っています。
・今月はエラーバジェットを使い果たすまでに、1日あたりさらに5000個までエラーを発生できます。6
これは意思決定ツールであり、単純化すると以下のように意思決定に使えます。
エラーバジェットが余った | エラーバジェットが超過した |
---|---|
より多くの機能をリリース | 信頼性に集中 |
さらにもう一人
サービス
これは何気なく使われる用語で、ここでもスルーしてしまいそうになりますが、
確認しておきます。
サービス・・・ユーザーが存在する何等かのシステム。8
ここでのユーザーは、人であったり、別のサービスもそれに含みます。
サービスの例として以下が挙げられていました。
サービスの例・・・Webサービス、リクエスト/レスポンスAPI、データ処理パイプライン、バッチジョブ、データベースとストレージシステム、コンピュートプラットフォーム、ハードウェアとネットワーク9
例からわかるようにシステムに関するほぼすべてに、SLOは適用できるようです。
最後に
簡単に基礎の部分をまとめてみました。
用語の定義を確認するのは重要。
以下はより詳しく本書に書かれているので、関心を持った方はぜひ読んでみてください。
・良いSLIについてより詳しく知りたい(3章)
・SLOの変更、更新について。SLOの目標値をどのように選択肢、これらの目標値をいつ変更すべきかの多岐にわたる戦略について(4章、14章)
・エラーバジェットの活用方法(5章)
・どのようにSLOを設定、監視、計測するか。(6章、7章、8章、9章)
・SLOの定義のドキュメンテーション(15章、17章、付録A)
・SLO文化を作っていく方法(16章)
等。
参考文献
引用
『SLO サービスレベル目標
―SLI、SLO、エラーバジェット導入の実践ガイド』
Alex Hidalgo 著、山口 能迪 監訳、山口 能迪、成田 昇司 訳
は、以下SLO本と表記する。