https://cookpad.connpass.com/event/215427/ でお話した、クックパッドにおける SLI/SLO に関する取り組みについての資料です。
Cookpad Lounge #4SLI/SLO
View Slide
本日のテーマ: SLI/SLO を導入した話クックパッドマート(以降、マート)というサービスで SLI/SLO を用いた信頼性のトラッキングを始めています。クックパッド(以降、レシピサービス)への導入は現在進行中です。マートで感じた課題は何か、どのように導入してどう運用しているのか、現状の所感などを話します。
その前に...2020年クックパッドの SLI/SLO2つの課題:1. SRE チームが信頼性指標を確立・追跡できていない2. 開発・SRE 間で信頼性の共通認識(合意形成)が曖昧まず 1 のために、各サービスに一律で SLI/SLO (ALB のリクエスト成功率と p90 レスポンスタイム) を設定した。
SLI/SLO の追跡hako-console という内製の Web アプリケーションコンソールがあり、そこから SLI/SLO の Grafana ダッシュボードがリンクされている> Web アプリケーションを把握するためのコンソール> https://techlife.cookpad.com/entry/2018/04/02/140846
hako-console
SLI/SLO dashboard for each service
SLI/SLO services list
一方その頃マートでは(導入動機)2020年、急成長するマート側からの要請もあり、@hfm はembedded SRE としてマート中心に活動していた。急成長に伴い、障害やアラートが目立つようになり、サービスの信頼性に関する共通認識の曖昧さに課題を感じた。「マートはいま大丈夫なの?やばいの?」を測るモノサシとしてSLI/SLO が使えると思い、導入を進めた。
playback: 2020年のクックパッドの SLI/SLO2つの課題:1. SRE チームが信頼性指標を確立・追跡できていない2. 開発・SRE 間で信頼性の共通認識(合意形成)が曖昧結果的に 2 をマートで先行していくことになった。
SLI/SLO の提案、議論、策定Google Docs に SLI/SLO の草案を作り、開発リーダーや事業責任者にレビューしてもらい、合意を得た。トラッキングすべき SLI/SLO の策定や、エラーバジェットポリシー、障害ポリシー、エスカレーションポリシーなど継続的な運用をするためのポリシーも提案に含まれる。● https://sre.google/workbook/slo-document/● https://sre.google/workbook/error-budget-policy/
提案ドキュメント
マートの SLI/SLO ダッシュボード
マートにおける SLI/SLO の運用定期的な SLI/SLO の確認は SRE チームでも行っている。また、マートチームでも自分たちで定期的に確認しており、また違反時における信頼性の回復活動も自分たちで行えている。
ここまでのまとめと所感マートの急成長に伴い、信頼性の共通認識を構築する必要を感じたことから、SLI/SLO を提案・導入し、信頼性のトラッキングを始めた。数値 (SLI/SLO) に加え、運用に関する各種ポリシーに大きな価値を感じている。「SLO 違反時に、誰がいつ何をすべきか」をあらかじめ取り決めることで、SRE チームからスケールアウトして運用が続けられている。
展望:レシピサービスへの SLI/SLO 導入現在、レシピサービスでも信頼性に対する課題が生じており、SLI/SLO の導入を進めている。大きなサービスなので巻き込むべき人も多く、大変だがやりがいは大きい。また、アラーティングが整備しきれておらず、もっといい感じにSLI/SLO をトラッキングできる環境を用意して、開発側に提供していきたい。
We are hiringhttps://cookpad.jobs