アプリケーションパフォーマンスモニタリング (APM) とは何ですか?

アプリケーションパフォーマンスモニタリング (APM) は、ソフトウェアツールとテレメトリデータを使用して、ビジネスクリティカルなアプリケーションのパフォーマンスをモニタリングするプロセスです。企業は、期待されるサービスレベルを維持し、顧客が好ましいアプリケーションエクスペリエンスを享受できるようにしたいと考えています。これらの企業は APM ツールを使用して、アプリケーションのパフォーマンスに関するリアルタイムのデータやインサイトを取得します。その後、IT チーム、DevOps、およびサイト信頼性エンジニアは、アプリケーションの問題を迅速に特定してトラブルシューティングできます。

アプリケーションパフォーマンスモニタリングが重要なのはなぜですか?

効果的なアプリケーションパフォーマンスモニタリング (APM) は、企業の成功に不可欠です。これは、ダウンタイムを最小限に抑えてデジタルサービスをスムーズに実行し、顧客が一貫して好ましいエクスペリエンスを享受できるようにするのに役立ちます。 

アプリケーションパフォーマンスモニタリングは、企業にいくつかのメリットをもたらします。

顧客満足度

APM は、アプリケーション全体で問題が発生している場所を特定するための効果的なツールです。また、デジタルカスタマージャーニーにおける一般的な問題も明らかにします。そのため、エンドユーザーに最大の価値を提供する領域を特定することで、カスタマーエクスペリエンスを改善できます。APM は、変更が有益であるかどうかを判断する際にも有効です。例えば、企業が新しいカスタマーサービスボットを導入した場合、APM メトリクスは、ボットを使用して問い合わせ内容の解決に至った顧客の数を測定できます。

迅速な診断

ほんの数分のダウンタイムが経済的損失を引き起こし、カスタマージャーニーを失敗させる可能性があります。APM は、アプリケーションのパフォーマンスの問題を迅速に診断し、IT チームに直接問題の所在を知らせることができます。この迅速な診断により、ダウンタイムが最小限に抑えられます。テクノロジーチームは、既存のアプリケーションを修正するよりも、新しいアプリケーションを開発するためにより多くの時間を割くことができます。 

運用コストの削減

IT チームは APM ツールを使用して、アプリケーションの最適なパフォーマンスを維持するために必要なリソース、インフラストラクチャ、およびコンピューティング性能を判断します。これにより、運用コストを最小限に抑えることができます。

効果的な製品開発

アプリケーションパフォーマンスモニタリングのツールは、製品の開発プロセスの一部とすることができます。テスト環境またはライブ環境で APM を実装し、APM ツールを使用して合成トラフィックをモニタリングおよび分析し、制限を明らかにし、エラーを特定できます。開発チームは、アプリケーションが本稼働する前に実用的なインサイトを活用し、以前はリリース後にしか明らかにならなかったバグを修正できます。

ビジネス上のコラボレーション

ビジネスユニット間でメトリクスと分析を共有できるため、コミュニケーションの改善、サイロの解消、従業員のエンゲージメントや生産性の向上につながります。

アプリケーションパフォーマンスモニタリングではどのようなメトリクスを追跡しますか?

アプリケーションパフォーマンスモニタリング (APM) は、次のような一般的なメトリクスを追跡します。

CPU 使用率

APM ソリューションは、CPU 使用率やメモリ要求などの CPU に関するメトリクスをモニタリングできます。これにより、アプリケーションが適切に動作するために必要なコンピューティングリソースを確実に備えておくことができます。

応答時間

ユーザーは遅滞なくサービスにアクセスできることを期待しているため、企業にとって応答時間は重要です。APM ソリューションは、応答時間に関する許容可能なベースラインパフォーマンスに照らして測定し、応答時間がしきい値を下回った場合にアラートを送信します。

エラー率

APM ソフトウェアはアプリケーションをモニタリングして、エラー率を記録および報告します。エラーの例としては、ウェブ照会がタイムアウトした場合やデータベースクエリが失敗した場合があります。APM は、エラー率が事前定義されたパラメータを超えた場合にアラートを送信します (直近の 50 件のリクエストの 5% がエラーで終了した場合など)。

トランザクションの追跡

APM のトランザクション追跡により、アプリケーションで実行される単一のトランザクションを正確に把握できます。トランザクション追跡で取得される情報には、使用可能な関数呼び出し、外部呼び出し、およびデータベース呼び出しが含まれます。トランザクションリクエストを最初から最後までモニタリングします。

インスタンス

APM ソリューションは、アプリケーションが実行しているサーバーまたはアプリケーションインスタンスの数をモニタリングおよびレポートできます。ユーザーの要求に対応するためにスケールアップまたはスケールダウンするよう、お客様にアラートを送信できます。

リクエスト

APM ソフトウェアは、アプリケーションが受け取るユーザーリクエストの数をモニタリングします。トラフィックをモニタリングすることで、ソフトウェアは異常を発見した場合にアラートを送信できます。例えば、リクエストの想定外の増加、同じユーザーからの大量のリクエスト、または異常に少ないリクエストについてアラートを送信できます。

稼働時間

オンラインサービスを提供する企業にとって、稼働時間は非常に重要です。多くのサービスレベルアグリーメント (SLA) では、事前に決められた期間において一定の割合のダウンタイムしか許容されていません。APM は、アプリケーションの可用性をモニタリングし、それらのレベルを、サービスプロバイダーと顧客が合意したレベルと比較します。

アプリケーションパフォーマンスモニタリングにはどのようなユースケースがありますか?

アプリケーションパフォーマンスモニタリング (APM) のいくつかのユースケースを以下に示します。

リアルユーザーモニタリング

リアルユーザーモニタリング、またはエンドユーザーエクスペリエンスモニタリングは、アプリケーションのパフォーマンスレベルを理解するためのユーザーデータの収集と分析をいいます。許容可能なパフォーマンスのベースラインを確立することで、アプリケーションで問題が発生する場合を正確に予測できます。例えば、商品をチェックアウトしようとしたときに問題が発生した顧客の数がしきい値を超えた場合、APM は関連するチームにアラートを送信します。

ユーザーモニタリングは、次の 2 つの方法で実行できます。    

  • シンセティックモニタリングは、ユーザーの行動をシミュレートして、アプリケーションを本番環境にリリースする前に問題を捕捉します
  • エージェントレスモニタリングは、モニタリング対象アプリケーションに対するソフトウェアエージェントのインストールを必要とすることなく、ネットワークトラフィックを分析します

ユーザー定義のトランザクションプロファイリング

APM ソリューションを使用して、ユーザーによるアプリケーションの一般的な使用を再現できます。これにより、デジタルサービスで問題が発生する条件をより良く理解できます。IT チームは通常、ユーザー定義のトランザクションプロファイリングを使用して、アプリケーションをトラブルシューティングし、一般的なユーザーの問題を修正します。

コンポーネントモニタリング

コンポーネントモニタリング、またはアプリケーションコンポーネントの詳細なモニタリングは、IT インフラストラクチャ全体を包括的に追跡します。アプリケーションの完全なパフォーマンスがモニタリングおよび分析されます。モニタリング対象のリソースには、メモリ使用量、サーバー、CPU 使用率、およびネットワークコンポーネントが含まれます。

インフラストラクチャのモニタリング

APM ツールを使用して、サーバー (サーバーモニタリング)、コンテナ (コンテナモニタリング)、データベース (データベースモニタリング)、仮想マシン (VM モニタリング)、および他のバックエンドシステムなどの IT インフラストラクチャからデータを収集できます。これは、パフォーマンスの問題を検出し、アプリケーションエラーの根本原因を見つけるために行われます。

Infrastructure as a Service (IaaS) について読む »

分析 

効果的な APM は、企業がアプリケーションを修正または改善するために使用できる分析用のデータを提供します。一部の APM ツールは、人工知能機械学習 (AI/ML) アルゴリズムを使用して、予測分析を実行し、エラーの根本原因を診断し、複雑なアプリケーションパフォーマンスの問題を関連付けます。

AWS での人工知能について読む »

SLA モニタリング

サービスレベルアグリーメント (SLA) は、IT サービスプロバイダーとクライアントの間の契約にとって重要です。SLA は、両当事者が合意した必要なサービスレベルを定めるものです。APM は、SLA フレームワークにおけるパフォーマンスメトリクスをモニタリングできるため、プロバイダーが期待されるレベルを確実に満たすのに役立ちます。また、APM は、SLA で概説されている基準をプロバイダーが下回る危険がある領域を明らかにします。

アプリケーションパフォーマンスモニタリングとオブザーバビリティはどのように異なりますか?

複雑なアーキテクチャを備えた最新のアプリケーションで問題をトラブルシューティングするには、アプリケーションパフォーマンスモニタリング (APM) を超えるものが必要です。オブザーバビリティは、IT スタック全体からの情報を中心的なプラットフォームにまとめ、そこで高レベルのビジネスインテリジェンスとインサイトを活用できるようにします。APM はオブザーバビリティのサブセットです。APM はメトリクスの集約ビューを提供しますが、オブザーバビリティは分散トレースなどの他のいくつかのツールを使用して、アプリケーションの動作を包括的に理解できるようにします。

AWS でのオブザーバビリティについて読む »

組織に適したアプリケーションパフォーマンスモニタリングソリューションをどのように選択しますか?

アプリケーションパフォーマンスモニタリング (APM) プラットフォームとそのツールスイートを IT 環境に統合する前に、考慮すべき要素が多数あります。

賛同

APM を導入する理由と個人的なメリットをチームが理解しているようにします。チームが快適に使用できる既存のシステムとプロセスに適合するソリューションを見つける必要があります。

機能

利用できる APM ツールは数多くあります。導入する APM プラットフォームが自社のアプリケーションに適したツールを備えており、自社のプログラミング言語をサポートしているようにします。

コスト要件

APM を導入すると、特に複数のアプリケーションをモニタリングすることを計画している場合、かなりのコンピューティングリソースが必要になる可能性があります。APM 自体のコストに加えて、コンピューティングリソースに必要な予算を確保します。

所有権

APM の監督者および所有者を検討します。どのチームがメンテナンスと管理を担当しますか?

AWS はアプリケーションのパフォーマンスモニタリングをどのようにサポートできますか?

Amazon CloudWatch Application Signals を利用すると、コードを変更したり、エージェントを手動で設定したりすることなく、現在のアプリケーションの正常性をモニタリングし、ビジネス目標に対する長期的なアプリケーションのパフォーマンスを追跡できます。Application Signals は、アプリケーション、サービス、依存関係のアプリケーション中心の統合ビューを提供し、アプリケーションの正常性のモニタリングとトリアージに役立ちます。Amazon CloudWatch は、アプリケーションをモニタリングし、パフォーマンスの変化に対応するとともに、リソースの使用を最適化して、運用の正常性に関するインサイトを得ることを可能にするモニタリングおよびオブザーバビリティサービスです。

AWS X-Ray を利用して、アプリケーションのパフォーマンスボトルネックを特定し、相関するメトリクス、ログ、およびトレースを使用してそれらを分離できます。AWS X-Ray は、アプリケーションの包括的なビューを提供します。これにより、パフォーマンスのボトルネックを特定し、影響を受けるユーザーをより効率的に特定できます。

CloudWatch を使用してできることの例を次に示します。

  • サービスレベルアグリーメント (SLA) とサービスレベル目標 (SLO) のエンドポイントと UI ワークフローモニタリングのアラートを設定する
  • アプリケーションのパフォーマンスに関するクライアント側のデータをほぼリアルタイムで収集する
  • アプリケーションスタック全体で機能を実験し、パフォーマンスとビジネスのメトリクスに照らして測定し、機能を安全にリリースする

今すぐ無料の AWS アカウントを作成して、AWS でのアプリケーションパフォーマンスモニタリング (APM) を開始しましょう。

アプリケーションパフォーマンスモニタリングの次のステップ

追加の製品関連リソースを見る
AWS での無料のデベロッパーツールサービス 
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン