この記事はDatadog Advent Calendar 2023 の21日目の記事です。
私たちのチームでやっているDatadogの活用について、ChatGPTに伝えてベースを作り、画像や資料、リンクなどを加筆して作成しました。なので、私がいつも書いている文章よりは、少し丁寧な言い回しになっています。笑
はじめに
こんにちは、私はMaaSアプリの開発チームのスクラムマスターです。
この記事では、私たちのMaaSアプリのシステムのObservabilityと健全性を強化するために、Datadogとアジャイル開発の一つの手法であるスクラムをどのように組み合わせているかを紹介します。私たちのチームでは、チームメンバーが運用も行っており、このブログは、スクラムチームが遭遇する一般的な課題と、これらを克服するための私たちの取り組みに焦点を当てます。
Datadogの基本とAWSとの連携
Datadogは、複雑なクラウド環境の監視に最適なツールです。ログ、トレース、メトリクスの統合監視により、システムのパフォーマンスとサービスの安定性をリアルタイムで追跡できます。私たちは、AWS環境からのデータをDatadogに連携させ、AWSの各サービスのインテグレーションを活用したり、AWS Lambdaのエラーログ、X-Rayのトレース情報、Synthtics等を利用しています。これにより、システムの異常を素早く検知し、問題解決に迅速に取り組むことができます。
システム構成とマルチオーガニゼーション活用
システム構成については、AWS Dev Day 2022 の資料も参照ください。
対象システムは、バス予約の方に、タクシー配車、レンタカー予約のシステムもあり、全てDatadogを利用しています。
各システムのダッシュボードやログをDatadogで表示する場合、Organizationを切り替える必要があります。
システムごとに切り替える手間が煩わしいため、マルチオーガニゼーションのカスタムサブドメインを使用することで、URLをシステムごとに分けることができるため、ブラウザのブックマーク等で切り替えることができます。
アラートとSlack通知、Logs Patterns活用
Datadogでメトリクスモニタを設定し、閾値を超えた際にはSlackを通じて即座に通知を受け取れるようにしています。運用を担当するメンバーだけでなく、開発チームにも共有し、Slackで協力して問題を解決できるようにしています。また、LogsのPatterns機能を使用して、エラーログを効果的にグループ化し、問題のあるエリアを特定しています。
サービス開始当初は、アラートもエラーログも大量に発生することもあり、原因調査、不具合改修と併せて、必要な閾値の調整を行なっていきます。エラーログの発生傾向を掴むことで、頻発するエラーにフォーカスして、調査、対処を行なっていくことができ、Patterns機能はとても重宝しています。
ダッシュボードの活用
私たちのダッシュボードは、日々の運用と監視の中心です。ここでは、API Gatewayのエラー率や、外部システムとのAPIエラー率など、SLO(Service Level Objectives)に関連する重要なメトリクスや、Patternsのエラーログや、Lambda、API Gatewayでの実行回数/エラー数などを表示しています。これらのデータは、システムの全体的な健全性を評価し、潜在的な問題を早期に発見するのに役立ちます。
スクラムでのDatadogの活用
スクラムでは、毎日実施するDaily Scrumというイベントがあります。
スクラムガイドには、スクラムの概念、要素、やり方の手引きが書かれていて、Daily Scrumは、スプリントゴールに対する進捗を検査し、これからの1日の作業の計画を作成する場とされています。
私たちのチームでは、それに加えて、前日からのアラートやエラーログのパターン、リクエスト数の変化などをDatadogのダッシュボードを通じて共有しています。これにより、チームはシステムの最新の状態について迅速に理解し、調査が必要な事象があれば、即座にPO(Product Owner)に対し、スプリントでのバックログタスクとの優先順位を相談することができます。
まとめ
スクラムでDatadogを活用することで、私たちのチームはシステムの問題に迅速に対応し、ビジネス価値とシステム品質を維持しながら、開発プロセスをスムーズに進めることができています。このアプローチは、POにビジネス価値のバックログだけを優先的に進めるだけでなく、システムの状況を日々共有することで、システムの健全性を高めるためのバックログの必要性を認識してもらうことにも貢献しています。
私たちの経験が、類似の課題に直面する他の開発チームにとって有用な洞察と実践的なガイダンスを提供することを願っています。