プロダクションミーティングを始めてみた
自己紹介
株式会社モニクルで SRE をしている beaverjr です。
この記事では、弊社のプロダクトチームと SRE チームで定期的に行っているプロダクションミーティングについて紹介します。
プロダクションミーティングとは
プロダクションミーティングについては、SRE 本に詳しい記載があります。
プロダクションミーティングは、サービスが実際に運用される本番環境の状況と運用に関する情報共有を目的としたミーティングです。
ミーティングの目的
プロダクションミーティングの主な目的は、以下の通りです。
- 情報共有: チーム間での情報の透明性を保ち、本番環境に関連する重要な情報を共有します。
- 問題解決: サービスの運用パフォーマンスの詳細について話し合い、それを設計や設定、実装と関連づけて考え、問題解決の方法を議論します。
- 継続的な改善: 定期的なミーティングによって改善のサイクルを生み出し、サービスの信頼性向上に繋げます。
モニクルにおけるプロダクションミーティング
ミーティングを開始した背景
モニクルは複数のプロダクトを開発しており、各プロダクトごとにチームが分かれています。昨年から各チームに対して SRE の実践を徐々に導入し始めましたが、初期段階では改善タスクをどう進めるかで悩んでいました。
また、開発チームから、「SRE チームに相談したいことがあった際、どこまで依頼していいかや相談するタイミングなど判断に迷う」というフィードバックを受け、SRE が他のチームから見てクローズドな存在になりがちであることに気づきました。
ちょうど同時期に SRE チームで読んでいた SRE 本からプロダクションミーティングのヒントを得て、プロダクションミーティングを開始することにしました。
ミーティングの流れ
モニクルでは、現在プロダクトチームごとに週次で 30 分間のプロダクションミーティングを実施しています。
プロダクションミーティングの基本的なアジェンダは下記の通りです。
- SRE チームから
- プロダクトチームから
- アラートや不具合の共有
- 改善タスクについて
- その他なんでも
これらのアジェンダとは別に、毎回監視設定の相談やインシデント対応フローの整備等のテーマを決めて、改善を実施しています。
プロダクションミーティングを行ってみての感想
直近で特に効果を実感したのはインシデント発生時の対応です。プロダクションミーティングを通じてインシデントレベルの定義やフローを整備したことで、インシデント発生時にも慌てず、体系的に対処できる体制を徐々に整備できています。それと同時に属人化の排除という明確な課題も見えてきたため、今後注力して取り組んでいきたいと思います。
さらに、プロダクションミーティングではプロダクトのリリース情報やチームの現状が共有されるため、SRE チームとプロダクトチーム間で共通認識を持つのに非常に役立っています。最近では、各機能ごとのインシデントレベルの定義を進めることで、それぞれの機能に対する理解も一層深めることができています。
今後の課題
プロダクションミーティングを始めたことで、徐々にチーム間のコミュニケーションの土台ができてきたと思います。今後は次のような点に焦点を当てて改善を図っていきたいと考えています。
- 各プロダクトチームのメンバー全員が、運用を自分ごととして捉えるための具体的な方法と戦略を議論していきたい
- 現状は主にアラートや不具合ベースで問題解決の方法を議論しているが、よりわかりやすくアクセスしやすいメトリクスを設定し、予測的で計画的なアプローチでやっていきたい
おわりに
今回は弊社で行なっているプロダクションミーティングの取り組みについて紹介しました。
ミーティング自体についても定期的に振り返りを行い、必要に応じて形式や内容を調整しながら、柔軟に進めていこうと思います。
この記事が、同様の課題を抱える他の方々にとって参考になれば幸いです。