はじめに
こんにちは、プロダクト開発 SREグループの田中です!
コドモンでは、オブザーバビリティツールとしてNewRelicを活用し、エンジニア全員がシステム改善に取り組めるように全メンバーに対してFull platform user
を付与しています!
今回、NewRelicのさらなる活用を目指し、NewRelicさんの協力のもと社内でGameDayを開催しました。本記事では、そのGameDayの詳細について紹介いたします!
開催経緯
SREではNewRelicを導入後に各チームと「ダッシュボードを見る会」を週次で開催することで、開発者がNewRelicを理解し活用できるような取り組みを行ってきました。
約半年ほど取り組んだところで、開発チーム内でも自律的に活用できるようになってきたので、週次でのダッシュボードを見る会は終了し、適宜必要なときに相談を受けるような運用に変更しました。
そんな中でSREから開発チームへの日々の運用における課題についてヒアリングしたところ、
NewRelicよくわかってない... (すみません、関わる機会が今少ないという状況にかこつけて本気になれていない状態...)
「どこをどのように見たらいいのか。何が見えるのか。」がまだ慣れていないし、開拓できていない。
と言うような声があることがわかりました。
各チームで定期的にダッシュボードや各機能のサマリー画面などを通して、定点観測としての活用はできていましたが、いざ障害に対してとなるとうまく活用できていない場面も見受けられていたので、NewRelicの理解度を開発チーム全体で上げるべく、今回GameDayを実施する運びとなりました。
GameDayの準備
今回のGameDayは、NewRelicの担当SAの方が全面的にサポートしてくれました。準備段階では以下の点を重視しました。
- 目標設定: 疑似障害調査を通じて、NewRelicの機能理解や、障害対応時の活用方法についての理解を深めることが主な目的です。
- シナリオの設計: NewRelicの担当者に、実際の障害やパフォーマンス低下を模擬したシナリオを準備いただきました。
- 参加者の選定: 各機能チームから2,3名の参加者を募り、GameDayで学んだことをそれぞれのチームに持ち帰ることで、開発部全体で活用できるようにしました。
- チーム分け: 所属チームが異なるメンバー同士でチームを組むようにし、普段コミュニケーションを取らないメンバーとも交流する機会としました。
開催概要
- チーム: 参加者16名を6チームに分け、各チームが協力して問題を解決しました。
- 環境: NewRelicに準備していただいた環境で実施しました。
- ステージ数: ステージ1~5は基礎的な問題で、ステージ6は応用問題のステージでした。
各ステージのシナリオ
GameDayの具体的なシナリオ内容は公開できませんが、問題の指示に従いながら画面を操作すればわかる簡単なものから、問題のキーワードを元にどの機能なのかを探しながら解く問題など、シナリオを通してNewRelicのさまざまな機能を学べる内容でした。 (興味がある方はぜひ担当のSAの方に相談してみて下さい!)
開催の様子
参加者の声
GameDay終了後に実施したアンケートから、参加者の感想を以下にまとめました。
学びから実際にやってみたいこと
- APMの分析をもっと行いたい
- Error collectionの設定を見直したい
- NRQLを試し、Change Trackingを表示したい
- Dashboardで必要な情報を出せるようにしたい
- システムエラー通知をSlackと連携させたい
- BrowserのErrorやThroughputをもっと意識して見たい
- スロークエリを特定し、改善したい
感想と要望
- 「とても勉強になりました。」
- 「自社の計測結果を一緒にレビューする会があると嬉しいです。」
- 「ゲーム形式で普段触らない機能をさわれたので、とても楽しかったですし勉強になりました。」
- 「前半が特に普段使わない領域だったので難しかったですが、その分学びが多く、後半は慣れてきて結構頑張ることができました。」
まとめ
今回のGameDayを通じて、NewRelicのツールを活用することで、システムの可視性と信頼性の向上に役立つ多くの知識を得ることができました。参加者からは「とても勉強になった」「ゲーム形式で楽しく学べた」といった満足度の高い声が多く寄せられました。
NewRelicの担当者のサポートにより、スムーズな進行と実践的なフィードバックを得ることができ、参加者全員が新しい知識とスキルを持ち帰ることができたいいイベントとなりました!
SREとして、今後も開発者と一緒にプロダクトの信頼性向上に努めていきたいと思います!