「SLO 監視でサービス品質を一段上げる!Cloud Monitoring 活用法」を聴講してきました。
登壇者はSRE界隈での第一人者のGoogle山口さん。これは聞き逃すまい!

サービスレベル目標

SREとは本番システムを信頼性を高くする心構えになります。
信頼性とは、ビジネス、開発、運用すべてのフェーズでサービスに対するものです。

信頼性は、満足度として捉えると計りにくいです。
信頼性工学に基づいて、定量的に計測するようにしましょう。
そこで重要になるのがSLI(指標)、SLO(目標値)になります。

SLIになりうるものは、例えばリクエスト/レスポンスにおいては可用性・レイテンシ・品質、ストレージにおいてはスループット・レイテンシーなど、複数の元データを横断的に見る必要があります。

元データを使って、SLIを確率で表すようにします。
SLI = (良いイベント / 有効なイベント)✖️100%

SLOは、SLIと計測期間、目標値で成り立ちます。
「<SLI>をxx日間、yy以上に保つこと」のような形です。
SLO = SLI + 計測期間 + 目標値

エラーバジェットも重要な概念です。
SLOを満たす限り、エラーは許容されるという考えです。この思想に基づいて、信頼性を損なうことなく、サービスのアップデートリリースを行うことができます。

エラーバジェットを運用するにあたって、バーンレートアラートも活用したいです。バーンレートとは、想定から何倍の速さでエラーバジェットを消費しているかというものです。モニタリングしてアラートを発火するようにしましょう。

サービスモニタリング

GKEアプリケーションを使ったデモを行なっていただきました。

CPUやメモリ使用量などのメトリクスがありますが、「サービス」のサイドメニューからIstioにて可用性やレイテンシーなどについてのSLI計測などが可能になります。

アラートを従来のCloud Monitoring の「アラート」ではなく、SLOから設定から設定することでサービスモニタリングがしやすくなります。

まとめ

定量的なSLIを設計し、今後の見込みも含むSLO状況を監視することで、サービスの高信頼性を保てます。

気になった方は、本を買いましょう!
SREの探求 ―様々な企業におけるサイトリライアビリティエンジニアリングの導入と実践
SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム