Datadog導入で変わった社内の風景:若手技術者必見の監視ツールの意義

目次

こんにちは!RSSでWebアプリケーション開発をしている、F.T.です。
システム開発でDevOpsを推進する上で、運用状況からのフィードバックは非常に重要です。特に、システムの長期運用によるコードやデータの複雑化は、課題分析の難易度を上げ、パフォーマンスの低下を引き起こします。そのような状況では、実際に稼働しているシステムからのフィードバックは、これらの問題の改善に大いに役立ちます。私たちのチームもDatadogを導入したことで、多くの変革を経験しました。以下では、Datadogを導入した背景と、具体的に何が変わったのかをご説明します。

Datadog導入の背景

従来、私たちのチームではZabbixを使用してサーバーやネットワークの死活監視・リソース監視を行っていました。Zabbixはこれらの領域で非常に強力なツールですが、私たちが次に目指していた、アプリケーションレイヤーの詳細なパフォーマンス分析(APM)や、複雑に連携するシステムを横断したトラブルシューティングを実現するには、追加の開発や連携設定が必要という課題がありました。
Datadogであれば、統合されたUIでの一元的な可視化やAIによる異常検知によって、これらの課題を解決できると考え、導入を決定しました。

Datadogの導入後に変わったこと

システムパフォーマンスの向上

Datadogの導入後、課題だったシステムパフォーマンスの向上を実現できました。APM(アプリケーションパフォーマンス管理)を機能させることで、各APIのレスポンスタイムやエラー率、データベースのレスポンスタイムをデータとして可視化できるようになりました。これにより、ボトルネックとなっている箇所を見つけ、必要なリファクタリングを行うことができました。開発チーム全員が同じデータを基に議論することで問題点が明確になり、改善策を実行に移すことができました。

特に、導入後初めてシステム全体を横断的に確認したところ、DatadogのAPM機能により、20秒以上かかるDB処理が50件、社内システムにもかかわらず1週間で呼び出される回数が100万回以上のクエリが30件以上あることが判明しました。その原因をドリルダウンしていくと、典型的な「N+1問題」や、インデックスが不適切なテーブル結合など、改善すべき点が次々と明らかになりました。これまで感覚値でしか語れていなかった問題が、具体的な数値とともに自動的にリストアップされたことで、優先度の高いものから効率的に解消を進めることができました。

出典:https://www.datadoghq.com

問題解決速度の向上

以前は、問題発生時に情報共有が滞り、解決に時間がかかるケースがありました。しかし、Datadogを導入することで、全員がリアルタイムで同じ状況を確認できるようになり、テストやデプロイを行う際の円滑なコミュニケーションが可能になりました。例えば、運用チームがDatadogからのアラートを受けた際も、開発チームと即座に情報を共有し、緊急対応が求められる状況でもスムーズに役割分担ができるようになりました。

以前、私たちのサービスで、複数のチームが関わるシステム全体で大規模な遅延が発生し、ユーザーがサービスをほとんど利用できなくなるという深刻な事態がありました。
このような複雑な障害では、関係者が増えるほど状況認識がバラバラになり、原因の特定が難航するのが常でした。
しかし、Datadogを導入したことで、この状況は一変します。

Datadogを使えば、「どの処理が遅いのか」「どのシステムが影響しているのか」「データベースの負荷はどうか」といった客観的で詳細なデータを、関係者全員がリアルタイムに共有できます。
これにより、これまでバラバラだった各チームの認識が「共通のデータ」を基に統一されました。その結果、不要な議論や推測に時間を費やすことなく、全員が本来の目的である原因特定に集中できたため、問題の早期解決を実現できたのです。

システム全体をまだ把握しきれていない若手でも、Datadogのサービスマップ(関連図)を見ればどこに影響が及んでいるかを直感的に理解できます。これにより、状況把握が早くなり、議論にもスムーズに参加できるようになったのは大きな収穫です。

障害の早期発見から学びへ

Datadogによって、私たちは障害を単なる「問題」として捉えるのではなく、「改善の機会」として認識するようになりました。異常が発生した際に、何が原因でどのように影響を及ぼしたのかを継続的に分析する文化が根付きました。これにより、チーム全体が成長し、同じ問題が繰り返されることが少なくなりました。

プロアクティブな運用へのシフト

Datadog導入以前は、問題が発生してから対応する「リアクティブ」な運用が常でした。しかし、今やデータドリブンでの運用が行えるようになり、トレンドを把握し、問題が表面化する前に対応するプロアクティブな運用ができるようになりました。例えば、定期的にパフォーマンスを確認し、悪化の兆候があれば対策を講じています。また、異常検知が多いシステムや箇所を特定し、開発プロセスに問題がないかを確認し対策を立てています。これによって、システムの安定性が向上し、ユーザーからも高い評価を得ることができています。

まとめ

Datadogを導入したことで、私たちのチームは多くの面で変化を遂げました。特に若手技術者にとって、このようなツールはシステムの全体像を俯瞰し、自身の書いたコードが本番環境でどう動いているかを理解するための最高の学習教材にもなります。リアルタイムでの監視や異常検知、パフォーマンスの向上、効率的なチームコミュニケーションなど、監視ツールの導入がもたらす利点は多岐にわたります。
DevOpsを進める上で監視ツールは不可欠ですが、「そのツールで何ができるか」を深く理解することが重要です。積極的に監視ツールの活用方法を学び、それらを活用して、皆さんもより良いシステムを作り上げていきましょう。

まずは、皆さんのチームが使っている監視ツールでどのようなデータが見られるのか、触れてみることから始めてはいかがでしょうか。

レイスシステムソリューションズ株式会社のソフトウェア開発や、
採用に関するお問い合わせについては、下記のリンクにてお問い合わせください。

お問い合わせ