こんにちはやまぱんです。
今回はクラウドサービス等を利用する上で重要な、SLA と SLI と SLO の違いについてメモします。
個人的に SLA しかわかっていませんでした。
SLA (Service Level Agreement)、SLI (Service Level Indicator)、SLO (Service Level Objective) は、サービスの質とパフォーマンスを測定するために使用される用語です。これらの 3 つの用語の違いは次のようになります。
Contents
SLI (Service Level Indicator) / サービスレベル指標
SLI (Service Level Indicator) とは、サービスの質や性能を測定するための指標のことを指します。
サービスレベル指標(SLI)はサービスの動作を直接測定したもので、システムのプローブが成功した頻度として定義されます。
サービスを提供する側は、SLIを用いてサービスの質や性能を測定し、その結果を元にサービスの向上に努めます。
SLO (Service Level Objective) / サービスレベル目標
SLO (Service Level Objective) とは、サービスを提供する側が達成するべき目標のことを指します。SLOは、SLAにおいて定められるものであり、サービスを提供する側が目指すべき達成するべき性能や品質のレベルを示します。
また、サービスの信頼性(SLOの数値)が高いほど、運用コストが高くなることが多い。
SLA (Service Level Agreement) / サービスレベル契約
SLA (Service Level Agreement) とは、サービスを提供する側と利用する側との間で取り決められた、サービスの性能や品質に関する規定や条件を指します。また、そのサービスに対する達成するべき目標も定められます。
一般的にSLAはSLOよりも緩い。
SLA を守れなかった場合はクレジット返金があったりします。
最後に
クラウドサービス含めシステムに絶対(100%)はないので、それを理解して利用することが大事です。
(すこし話はそれますが)特にパブリッククラウドサービスなどはリソースを他のユーザー(組織)と共有している部分も多くあるので、サービスを使うタイミングによって性能にバラツキは多かれ少なかれ必ずあること理解して使うことが大切だと思います。
参考
・RE の基本(2021 年版): SLI、SLA、SLO の比較
https://cloud.google.com/blog/ja/products/devops-sre/sre-fundamentals-sli-vs-slo-vs-sla