SLO運用時にどんなドキュメントを作るか?
はじめに
LuupのSREチームに所属している、ぐりもお(@gr1m0h)です。
この記事は、ふと以下の投稿を思い出したことがきっかけで、内容を整理してまとめることにしました。
Luup SREチームでは、SLO運用に際して、ドキュメントを2つ作成しています。
- SLO Docs
- SLO Onboarding
また、本記事では以下の使い分けを行っています。
- Luup
- 社名、株式会社Luup
- この記事では組織を表す時に使用
- LUUP
- サービス名
- 株式会社Luupが提供している電動マイクロモビリティのシェアリングサービスである「LUUP」を指している
SLO Docs
SLO Docsとは、SLOに関連するドキュメントです。
WEB+DB PRESS Vol.130 「SREで開発を加速させる -class SRE implements DevOps」という特集の第2回、「プロダクト開発に必要なモニタリングの始め方…SLOを定義し、SLIを実装しよう」で紹介されています。
ここで紹介されているSLO Docsの例がGitHubで公開されています。
Luupでは、SLOに関する以下項目を記載したドキュメントになっています。
- SLOの概要
- CUJ
- 処理フロー
- 具体的な設定値
- SLO
- SLI
- Burn Rate閾値
- 関連リンク
- 詳細なシーケンス図へのリンク
- SLOの設定(Terraform code)のリンク
- Datadog SLO monitor・Datadog SLO Dashboardのリンク
SLOの設定を記述しているTerraform codeと同じリポジトリーで管理しており、SLOの更新と同じタイミングでドキュメントを更新できるようになっています。
SLO Onboarding
SLO Onboardingとは、SLO活動に関連するドキュメントです。
"Onboarding" という名前にしている通り、新しくJoinしたメンバーがSLO活動についての状況を把握できるドキュメントになっています。また、Luup内のSLOに関するポータルサイトの役割も果たしています。
SLOに関する以下項目を記載したドキュメントになっています。
- SLI/SLOについての基礎知識
- LuupにおけるSLO導入目的
- LUUPのCUJ
- LUUPのCMC
- LUUPのSLO情報
- SLO Docsへのリンク
- SLOの設定方法
- RACIチャートのリンク
- SLO Dashboardのリンク
- SLOのアラートを流しているSlackチャンネルのリンク
- Luup SLOの課題管理DB
CMCについては、以下のブログに詳細を記載しています。
このドキュメントは、新たに技術組織に加わった正社員やSREチームの新メンバーが一読し、不明点を解消するために活用します。そのうえで、認識をすり合わせる目的でSREチームメンバーと30分のMTGを実施する運用としています。
これにより、SLOの考え方や現在の状況を共有し、接点を作ることができます。
導入してみて
SLO Docsは私が入社したタイミングで既に運用されており、個人としては2年間運用してきたことになります。また、SLO Onboardingは導入してから1年が経過し、技術組織内での定着を進めてきました。
SLOの運用はSREチームだけが意識すればよいものではなく、開発チームとも共通認識を持つことが重要だと考えています。そのため、SLOに関するドキュメントの管理や、新しくJoinするメンバーへの教育は、長期的な運用を支える上で欠かせない取り組みだと感じています。
SLO Docsの導入
SLO Docsを運用することで、新しくJoinしたメンバーがSLOの詳細な値やその背景を迅速にキャッチアップできるようになっています。
また、SLO Docsの変更はSLOの設定変更とともにPull Requestで管理されており、過去の議論や変更の経緯を容易に追跡できるようになっています。
SLO Onboardingの導入
このドキュメントは、新たに技術組織に加わった正社員やSREチームの新メンバーが一読し、不明点を解消するために活用します。そのうえで、認識をすり合わせる目的でSREチームメンバーと30分のMTGを実施する運用としています。
当初は、この運用がSREチームを超えて技術組織全体で適用できるか不安がありました。しかし、Backend開発チームのオンボーディング資料にSLO Onboardingのリンクを掲載するなどの工夫した結果、うまく機能していると感じています。
また、SLOをすぐに活用する機会がないメンバーでも、SLO Onboarding時のMTGを通じてSLOの基礎知識を学び、ディスカッションができることに価値があると実感しています。
さらに、個人的な話になりますが、私はフルリモートで働いています。そのため、新しくJoinしたメンバーと1対1で話せる機会があることも、この活動のメリットだと感じています。
さいごに
今後の課題としては、SLO Docsのメンテナンスコストの管理と、継続的な学習の仕組みづくりです。
SLO Onboardingを活用することで、新しくJoinしたメンバーはSLOについて学習できますが、時間が経つにつれて知識が薄れてしまうため、定期的に知識をアップデートするための施策を検討したいと考えています。
また、将来的には、OpenSLOを活用したSLO DocsとSLO設定(Terraform code)の自動生成を目指しています。これにより、SLOの定義とドキュメントを一貫性のある形で管理し、メンテナンスコストを削減できます。
最後に、弊社のSREやSLO活動に興味を持っていただけた方は、以下のリンクからお気軽にご連絡ください!私のX(Twitter)アカウントでもDMを受け付けています。
副業や転職をお考えの方だけでなく、気軽に話を聞きたいという方も大歓迎です!
Discussion