SLI・SLO・SLAを解説:エンジニアのための実践ガイド

SLI・SLO・SLA の意味と違いを解説。エラーバジェットの考え方と、信頼性目標を運用に組み込むための実践的なガイドです。

Read in: en
SLI・SLO・SLAを解説:エンジニアのための実践ガイド

SLI・SLO・SLAについて

SLI・SLO・SLAについて色々調べてみたことをまとめる。

SLO・SLI・SLAとは何か

SLO、SLI、SLAとは、サービスレベル(Service Level)に関わる指標、目標、合意のことである。 サービスレベルとは一定の期間内で提供されたサービスを特定の方法で測定して表したものである。

SLI・SLOの設定方法

NewRelicが提唱しているベストプラクティスが取り組みやすくて良いと思う。

newrelic.com - モダンなシステムにSLI/SLOを設定するときのベストプラクティス

システム境界を定義、境界ごとの機能定義、機能ごとの可用性の定義、可用性計測のためのSLI定義といった感じでSLI・SLOを策定する方法が紹介されている。

SLI・SLOの運用を始めるときは、なるべくシンプルに、緩めの値で運用を開始していくというのが推奨される。

cf. sre.google - Chapter 4 - Service Level Objectives

実際に自分が業務でSLI・SLOを策定したときは、このNewRelicのプラクティスに従ったが、機能単位のところは調整して余り細かくならないようにした。

機能の単位を最初から細かくしてしまうと運用が大変になってしまうので、運用していく中で適宜必要に応じて粒度を調整していくのが良いのではないかと思う。

Tips

SLI・SLOに関連するキーワードについてのTips。

信頼性と可用性の違い

稼働率と停止時間の一覧、可用性計算

稼働率 年間停止時間 月間停止時間
99.0% 87.6時間 7.6時間
99.5% 43.8時間 3.65時間
99.9% 8.76時間 43.8分
99.95% 4.38時間 21.9分
99.99% 52.56秒 4.38分
99.999% 5.256秒 26.28秒
99.9999% 31.536秒 2.628秒

エラーバジェットとは

エラーに対する予算で、SLOを基準として算出される許容可能な信頼性の指標のこと。 ex. SLO 99.99% → エラーバジェット 0.01%以下

所感

サービスレベルを測定可能にすることで、サービス利用者(ユーザーあるいはシステム)がサービスを満足に提供できるているかどうか観測可能になり、またサービス提供者にとってサービスレベルの改善が必要かどうかの指標になり得ると思った。

参考

Tags: SLI SLA SLO
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事