こんにちは。株式会社スマートバンクでSREをしている@maaaatoです。
5月19日にFindyさん主催の「SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会」が開催されました。
このイベントに「我々はこうしてSLI/SLOを設計して運用を始めました -これからSLI/SLOの運用を始める人に向けて-」というタイトルで登壇してきました。
このブログでは当時お話出来なかった+αの話とイベントの感想を書きたいと思います。
登壇内容
前半ではCUJ/SLI/SLO/エラーバジェットについて改めて確認し、株式会社スマートバンクにおけるSLI/SLOの運用の現状について説明しています。 後半ではSLI/SLOの設計・運用のアプローチをどのように進めたのか、最後にまとめと今後の展望について説明しています。 主にSLI/SLOをこれからやっていこうと思っている人、運用開始しているけど他社の事例が気になる人を想定聴講者としつつ、当時自分がSLI/SLOの設計するに辺りこんな資料があると嬉しかったという点を踏まえてまとめました。
+αのお話
時間の都合で割愛した話がありましたので2つ紹介します。
SLI/SLOの運用方針をエンジニアと壁打ちした時に出た質問
運用方針をエンジニアと壁打ちしながら決めていきましたが、その中でSLOアラートへの対応はどのようなイメージなのか?という質問がありました。
そこで現状のアラートを受け取ってからの対応フローを整理し、SLOアラートを加えたフローを考え簡単な図にしました。

現状のチーム体制について
現状はB/43の機能別にチームが分かれているわけではありません。 CUJを決める場合にチームが機能別に分かれている場合はその機能の範囲におけるコアな体験をベースにCUJを決めることになるのではないかと予想しています。 今後の展望に書きましたがチームが分かれた場合はそのチーム内でSLI/SLOを設計・運用できるように啓蒙していく必要があると考えています。
頂いたご質問
改めてイベント中に頂いたご質問と回答を記載させて頂きます。
Q. ユーザーストーリーの中に必要なAPIが複数あると思うが、それら全てSLIの対象としたのでしょうか?
A.CUJの1つに「入金」を設定しています。入金が完了するまでにいくつかのエンドポイントが呼び出されますが、今回のSLIの設計ではシンプルにSLIを設定するを前提条件としていたため、現状はユーザーの残高変更を伴う入金確定処理をしているエンドポイントのみをSLIの条件として設定しています。 またThe Art of SLOsにジャーニーの分解についての説明があり、クリティカルユーザージャーニーが複雑な場合は分解することでSLIが組み立てやすくなると思っています。
Q. SLI/SLOが機能していることを確かめるためにどのような振り返りをしていますか?
A.隔週でサービスのパフォーマンスをエンジニア全体で確認するMTGを行っており、そこでSLOとエラーバジェットの確認をしています。しかし、現状は見直すアクションが出来ていません。ここは設計段階で詰めが甘かったと反省しています。 今後はSLIとエラーバジェットに十分に余裕がある場合の振る舞いであったり、SLOアラートが届いたあとのアクションに対しての振り返り、SLIの良いイベントの条件の見直しなど実施する予定です。
Q. NewRelicを選定した理由はありますか?
A.私が入社したタイミングでNewRelicが導入されており引き続き利用しています。社内で確認してみた所、過去にDatadogなどのツールも比較されていたのですが、APMとして過去に導入した実績と弊社CTOのお知り合いの方がNewRelic社にいたという繋がりもあり導入をしたとのことでした。
登壇してみての感想
300名近い参加者がいる大きなイベントに登壇させてもらうことができ光栄でした。各社の信頼性向上の取り組みがたくさん発表され参考になるものばかりでした。 当日の発表資料は以下にまとまっているのでぜひ御覧ください。 https://findy.connpass.com/event/281605/presentation/findy.connpass.com 株式会社スマートバンクに入社して初めての登壇で多少緊張していたのですが、Findyさんの事前準備がしっかりされていたこともあり不安なく楽しんで登壇することが出来ました。 次回機会があればSLI/SLOの運用のその後についてお話出来ればと思っていますのでしっかりとナレッジを貯めておきたいです。
改めてFindyの運営のみなさん、登壇されたみなさん、参加してくれたみなさんありがとうございました!