開発者は、現代の可観測性において重要なステークホルダーです。ここ数年で、開発者の責任範囲は劇的に拡大し、その業務や課題も増大しています。従来、業界では運用主導の可観測性に重点が置かれていましたが、シフトレフトの動きによって増幅され、開発者特有のニーズも取り込まれるようになりました。本ブログ記事では、Dynatraceが可観測性と分析の力を活用し、開発者が問題をより迅速に解決し、より効率的なソフトウェアを構築し、最終的に開発者体験を向上させるために、容易に左側に拡張できる新たな体験をどのように提供しているかをご紹介します。
開発者が求めるもの
開発者は、分散型で一時的なクラウド環境、マイクロサービスベースの環境において、自らのコードを所有したいと考えています。この所有権は、あらゆる環境におけるコードの挙動を理解すること、問題を解決すること、そして高品質で安全かつタイムリーな方法でコードを記述・最適化することから始まります。
理想のパッケージ構築
Dynatraceが新たに提供する「Observability for Developers」は、開発者の特定のニーズと課題に対応するよう設計されています。開発者が日常業務で必要とする既存のDynatrace機能(ログ、分散トレース、プロファイリングデータ、例外など)をパッケージ化し、動的な計測機能と経験とを組み合わせることで、本番環境のバグ対策や開発タスク・リソースの最適化を実現します。
「Observability for Developers」の初期提供内容には、以下のものが含まれます:

このパッケージは、開発チームおよびクラウドネイティブチームに強力な機能を提供します:
- 簡単なデータアクセス と探索:デイヴィス AI を搭載した直感的なダッシュボードと高度なログおよびトレース分析により、アプリケーションのパフォーマンスの追跡と最適化、健全性の監視、エンドユーザーのインタラクションの分析、履歴データの表示、予測の提供をすべて 1 か所で簡単に行うことができます。
- 強化されたトラブルシューティング機能:AI のパワーと自動的な根本原因分析に支えられた Dynatrace のトラブルシューティング機能は、ライブの本番環境デバッグ機能によってさらに強化されました。
- ライブデバッガーにより、開発者は、問題の再現や再デプロイを必要とせずに、ランタイム環境からリアルタイムのインサイトにアクセスし、パフォーマンスに影響を与えることなくデバッグ情報を抽出し、コンテキストに応じたインサイトを活用して問題を迅速に解決することができます。
- セルフサービスによる企業導入: ツールの乱立やデータのサイロ化を最小限に抑えながら企業導入を促進するため、Dynatraceでは監視チームやプラットフォームエンジニアが開発者向けにセルフサービスモデルを実装できます。カスタマイズされたエントリーポイントと、開発者ポータルや統合開発環境(IDE)との連携により、企業の基準に準拠した管理されたアプローチを維持しながら、すべての機能への容易なアクセスを実現します。
ダッシュボード:一目でわかるインサイト
コードの記述が開発者の主な業務である一方で、サービスやアプリケーションが安定した信頼性の高い状態を維持することは、開発者の安心感にとって不可欠です。
ダッシュボードは、複雑なデータを動的でインタラクティブな可視化に変換することで、アプリケーションに関するリアルタイムの洞察を得るための優れたツールです。単一のビューで、開発者はアプリケーションのパフォーマンス、システムの健全性、ログ、問題、デプロイ状況、ユーザーインタラクションなど、さまざまな情報を瞬時に把握できます。
外部ソースからのデータとの組み合わせや、カスタムコードの追加による個別要件への対応も可能です。Kubernetes、Logs、Clouds、Services など、他の Dynatrace® アプリとのシームレスな連携により、データを迅速にアクセスできます。動的なフィルタリングとデータタイプを横断した可視化機能を活用し、アプリケーションの健全性を常に把握しましょう。
ご利用を開始するには、数多くの既製のダッシュボードのいずれかをご利用いただくか、数分でカスタムのインタラクティブなダッシュボードの構築を開始してください。

デイヴィス AI は、お客様のコパイロットです。
Problems アプリは、開発から運用まで、ソフトウェア開発ライフサイクル全体に合わせてカスタマイズされた、AI を活用した包括的な問題の優先順位付けおよび修正ソリューションを提供します。ユーザーを視覚的にガイドし、重要な詳細を自動的に表示することで、平均修復時間 (MTTR) を短縮します。この効率性は、Davis®AI を使用して根本原因を特定し、関連する詳細を正確に特定し、それらをチャートで視覚的に再現し、影響を受けたデプロイメントを強調表示することで実現されています。
大規模なインシデントが発生した場合、デイヴィス AI は根本原因を特定し、関連するすべてのログ行を結びつけます。開発者の方ならご存じのとおり、ログは、プロセスのクラッシュや例外など、根本的な欠陥を発見し、洞察を得るために非常に重要です。根本原因を特定する際、Davis 因果 AI は関連するすべてのログを収集し、それらを根本的な問題と自動的に関連付け、Problems アプリから簡単にアクセスできるようにします。さらに、Dynatrace は関連するトレースデータを統合し、複雑なマイクロサービスベースのアーキテクチャを完全に可視化します。
デイヴィス CoPilot を使用して問題の概要を文書で取得する方法、問題解決のヒント、自動修復のための生成型 AI の使用方法など、Problems の最近の機能強化については、当社のブログ記事をご覧ください。
ログ分析:コンテキストデータで強化された、必要なログを即座に取得
Dynatrace Log Management & Analytics は、使いやすく強力なフィルタリング機能により、開発者をサポートし、生産性を向上させます。DQL エディタを使用すると、パワーユーザーは独自のクエリを作成したり、フィルタを DQL スニペットに変換したりすることができます。
いずれの場合も、開発者は関連エンティティ、トレース、およびサービスのコンテキストでログを入手できるため、手動によるフィルタリングの必要性が大幅に減少します。これにより、サイロ化されたアプリケーション、クラスタ、およびサービスログ間の、時間のかかる手動によるログファイルの相関付けが不要になります。

必要なログを即座に、コンテキストデータとAIデータで強化して取得
分散トレース:依存関係、相互作用、ボトルネックを迅速に把握
Dynatraceの分散トレースは豊富な情報を提供し、複雑なマイクロサービスアーキテクチャの理解とナビゲーションを支援します。トレースは複数のスパン層とログを構造化して統合し、メソッド名、呼び出し引数、例外、実行時間、バージョン情報など、あらゆる詳細情報を提供します。Dynatraceはマイクロサービスアーキテクチャ全体にわたるアプリケーショントランザクションの詳細な可視化を実現し、リクエストの開始から終了までの追跡を可能にします。この可視性により、ボトルネックやパフォーマンス問題を迅速に特定し、平均復旧時間(MTTR)を短縮できます。開発者はサービス間の相互作用や依存関係を把握できるため、デバッグの高速化とアプリケーションパフォーマンスの向上が図れます。分散トレースはワークフローを最適化し、シームレスな運用を保証することでユーザーエクスペリエンスとアプリケーションの信頼性を高め、開発者が高品質で効率的なソフトウェアソリューションを提供することを可能にします。

ライブデバッガー:本番環境からコードレベルのデータをリアルタイムで取得
新たなDynatrace Liveデバッガーアプリは、開発環境から本番環境まで、コードが実行されている場所を問わずリアルタイムアクセスを提供します。開発者はランタイムを妨げることなく、非破壊的なブレークポイントを設定できます。取得されるデバッグデータにはスタックトレース、変数値、プロセスなどが含まれ、エラー再現や時間のかかる再デプロイが不要となるため、デバッグサイクルを大幅に短縮し効率性を向上させます。開発者は、Dynatraceプラットフォームから直接、またはネイティブのVisual Studio CodeおよびJetBrains IDEプラグインを使用してこの機能にアクセスできます。ライブアプリケーションの動作を分析し、問題が発生した時点で追跡できるため、開発者はコードの実行状況を即座に可視化できます。これにより、バグの迅速な解決とアプリケーションパフォーマンスの向上が実現され、チームはより高い自信と改善された体験をもって高品質なソフトウェアを提供できるようになります。
ライブデバッガーアプリケーションの詳細については、当社のブログ記事「本番環境のデバッグに挑戦する」をご覧ください。

作業を効率化しましょう
実際の事例として、サーバー上で高CPU使用率の問題を示すアラートが発生し、コードの問題が疑われている状況をデバッグしている開発者たちのケースを見てみましょう。まず新しく作成したDynatraceProblemsアプリから始めます。このアプリでは問題アラートと、既存のログから得られた第一印象を問題アプリ内に組み込んで確認できます。(あるいは、この高CPU問題の分析を「サービス」アプリや「ログ」アプリから開始することも可能です。)コードレベルのデータが必要であると判断したら、リンクをたどって「ライブデバッガー」でコードのデバッグを行います。ライブデバッガーを使用すると、実行中のコードに関する洞察を即座に得られます。これには変数値、プロセスおよびスレッド情報、さらにはキャプチャされたトランザクションのトレースIDも含まれます。
トレースIDを使用すれば、Dynatraceトレーシングアプリでキャプチャされたトレースを直接確認でき、システム全体を流れるエンドツーエンドのトランザクションを包括的に把握できます。そこから任意のサービスやプロセスを選択し、そのサービスのCPU、メモリ、実行中のスレッドに関する詳細情報を取得することで、問題の潜在的な根本原因となる低レベルの詳細を把握できます。
この例と手順の詳細な説明については、当社のブログ記事「本番環境における複雑なパフォーマンス問題のデバッグ」をご覧ください。
学習曲線を平坦化
Dynatrace により、中央およびプラットフォームエンジニアリングチームは、最も重要な Dynatrace のユースケースへのアクセスを簡単に提供でき、プロセスへの影響を最小限に抑え、開発チームの認知的負荷を軽減できます。
前述の IDE プラグインを使用するか、Dynatrace プラグインで Backstage 開発者ポータルを拡張することで、カスタマイズされたエントリーポイントを実現できます。さらに、Dynatrace Launchpad は、使いやすい設定可能な起動ページを提供します。迅速な開始を確保するため、当社のドキュメントに記載されているガイダンスに従ってください。

まとめ
ソフトウェア開発ライフサイクルの早い段階でバグを修正する「シフトレフト」であれ、コードの品質、テスト、新機能のリリースを確実にする「シフトライト」であれ、その手法は問いません。
ソフトウェアデリバリープロセス全体を通じて、分析と自動化により開発者の体験を向上させましょう。これにより、開発環境から本番環境まで、ベアメタルからKubernetesまで、コードがどこで実行されていても、その瞬間にコード内で何が起きているかを正確に把握できるようになります。
開発者向けオブザーバビリティは、現在プレビュー中の Grail によるトレースとライブデバッガーを除き、一般提供を開始しております。これら2機能は今後90日以内に一般提供を開始する予定です。
役立つリソース
開発者向けオブザーバビリティガイド
現代のオブザーバビリティは、もはや運用ツールだけのものではありません。開発者のために構築されています。IDE、パイプライン、AI駆動の開発ワークフローにオブザーバビリティを導入することで、サービス、環境、チームを横断したコンテキストにおけるコードの挙動を可視化できます。
ご質問がおありですか?
Q&A フォーラムで新しいディスカッションを開始するか、ご支援をお求めください。
フォーラムへ