アプリケーション パフォーマンス モニタリングの概要

アプリケーション パフォーマンス モニタリング(APM)を活用すれば、潜在的な問題を特定して最適な利用環境を整え、オンラインでのシームレスなユーザエクスペリエンスを実現できます。

今日のデジタル化された世界では、アプリケーションはもはや付加的なものではなく、多くの場合、ビジネス自体に不可欠なものです。ユーザはもはや、アプリケーションが機能するかどうかは気にしていません。機能するのが当然だと考えています。そのため、デジタルエクスペリエンスの停止、パフォーマンスの低下、システムの障害によってビジネストランザクションが中断されると、売上だけでなく、ブランドの評判や信頼まで失われる可能性があります。アプリケーション パフォーマンス モニタリング ツールを利用すれば、パフォーマンスの問題をリアルタイムでモニタして根本原因を分析できるため、アプリケーションの稼働時間を常に確保できます。

APM ソリューションは、ビジネスの拡大と収益性に対する潜在的な問題について IT チームに警告し、最終的にはエンドユーザに優れたユーザエクスペリエンスを提供することで、IT 運用を最適化できます。


アプリケーション モニタリングが重要な理由

テクノロジーの世界は絶えず進化し、ソフトウェア アプリケーションはかつてないほど変化が激しくなっています。また、広く分散し、ますます複雑化しています。基本的なアプリケーション アーキテクチャも、時間の経過とともに、スタンドアロンからクライアントサーバ、モバイルデバイス、クラウドサービスへと形態が変化しています。

アプリケーション環境がどのように複雑になっても、顧客は、時間、デバイス、場所を問わずにアプリケーションを利用できることを期待しています。そのため、ビジネスに不可欠なアプリケーションのパフォーマンスをモニタすることは、競争の激しいビジネスを勝ち抜く上で非常に重要です。


APM 戦略の主な要素

IT の運用環境は絶えず変化するため、業界の進化に俊敏に対応し続ける必要があります。効果的な APM には、明確に定義された戦略が必要です。そして戦略を策定する際は、主に次のような要素を考慮する必要があります。

ユーザとの距離

アプリケーションと Web サイトのパフォーマンスは、ユーザがデータセンターから遠くなるほど低下します。そのため、アプリケーションのパフォーマンスをモニタする最も確実な方法は、できるだけ地理的にユーザに近い場所にデータセンターを配置することです。データセンターが北米にある場合、インドや中国などにいるユーザのトランザクションは、CDN、ISP、キャッシングサービスなどから影響を受けます。

事後ではなく、予測して対応

IT チームは、パフォーマンスモニタリング機能を活用することで、既知の問題を単に検出するだけでなく、潜在的な問題も予測して対応できるようになります。現在のデジタル化した世界においては、事後対応だけでは、顧客に悪影響が及んで満足度を下げることになります。そのため、進化した APM 戦略では、履歴データと高度なメトリクスを活用して、重大な問題になる前に、脆弱性、問題領域、根本原因を特定するプロアクティブなアプローチが必要です。

変動要素の管理

サードパーティのサービスは、ほとんどのオンラインビジネスにとって不可欠なコンポーネントです。 APM ツールを使用することで、サードパーティ製アプリケーションをモニタして、サービスレベル契約(SLA)が満たされていることを確認できます。また、高度な分析結果を詳細に確認して、サードパーティのサービスがパフォーマンス問題の原因かどうかを特定できるため、問題のある資産を短時間で変更したり削除したりすることも可能です。

ユーザエクスペリエンスの把握

シンセティックモニタリングでは、スクリプトを使用してユーザのふるまいをシミュレーションします。その結果は、開発プロセスや導入前のテストプロセス、またはデジタル資産に変更を加える際のテストプロセスに活用できます。ただし、それが効果を上げられるかは、ユーザのふるいまいのパスをすべて予測できるかどうかにかかっていますが、Web アプリケーションが複雑になるにつれてますます難しくなっています。

リアルユーザモニタリングは、一般的なランディングページやカンバセーションパスに関するインサイトを得るのには役立ちますが、Web ページやアプリケーションの応答時間を正確に把握することはできません。そのため、最も包括的にパフォーマンスをモニタして最適化が必要な領域を特定するには、両方のモニタリングを組み合わせる必要があります。


APM で測定されるメトリクス

アプリケーション パフォーマンス モニタリングには、アプリケーションのふるまいのモニタリング、問題の発生源に関するデータの収集とアラート、ビジネスへの影響を評価するためのデータ分析、エンドユーザ エクスペリエンスに影響が及ぶ前に同様の問題に対処するためのアプリケーションの調整などの機能が含まれます。エンドユーザ エクスペリエンスに影響が及ぶ前に同様の問題に対処するためのアプリケーションの調整などの機能が含まれます。

ビジネスにとって最も重要なアプリケーション モニタリング メトリクスには次のようなものがあります。

CPU 使用率

APM は、各種の使用状況によってパフォーマンスに悪影響が及んでいないことを確認するために、Web サーバの CPU 使用率、メモリ使用率、ディスクの読み取り/書き込み速度に関するデータをモニタします。

エラー率

APM は、アプリケーションのパフォーマンスが低下する頻度をトラッキングし、エラーになる Web リクエストや、メモリを大量に消費するプロセスでの障害などを特定するのに役立ちます。

応答時間や平均修復時間(MTTR)

平均応答時間や MTTR を測定することで、速度がアプリのパフォーマンスに影響を与えていないかを判断できます。

インスタンス数

同時に実行しているサーバインスタンス数やアプリケーション インスタンス数は、クラウドベースのアプリケーションにとって重要なメトリクスです。APM ソリューションを利用すれば、ユーザの要求に応じてコスト効率よくアプリを自動的に拡張できます。

リクエスト率

アプリケーションが受信するトラフィックの量を評価し、スパイク、アイドル時間、アクティブユーザ数に関するデータを収集することで、最適化が必要な領域を抽出したり、問題の原因を特定したりできます。

アプリケーションの可用性

アプリケーションの稼働時間をモニタすることは、SLA に準拠していることを確認するための最も簡単で効果的な方法です。

ガベージコレクション

Java などの GC を使用するプログラミング言語で記述されたアプリの場合、メモリの大量使用に関連する問題が発生する可能性が高く、パフォーマンスの低下をモニタする必要があります。

ユーザエクスペリエンス

ユーザが直接利用するアプリケーションにとって最も重要な要素は、間違いないく、ユーザがエクスペリエンスについてどのように感じるかということです。AppDynamics では、Apdex スコアと SLA に関するしきい値を組み合わせて使用し、ベースラインパフォーマンスに対するユーザの満足度または許容度を測定します。

モニタリング プラットフォーム全体のデータを 1 つの情報にまとめることで、イベントログを手動で検索したり、シンセティックモニタリング環境を構築したりする時間を短縮できるため、IT 環境の生産性が向上します。


APM のベストプラクティス

モニタリング方法が最も効果的なものであっても、成功するためには基礎知識が必要です。APM も例外ではありません。アプリケーションとインフラストラクチャのモニタリング戦略を策定する際は、次の点を考慮してください。

適切なソリューションを選択する

APM 市場には多くの製品が展開されていて、それぞれに独自のパフォーマンスモニタリング機能が備わっています。主要なビジネストランザクションをビジネス成果に結び付けながら、IT 環境の全体像を把握できるソリューションを選択してください。次のような APM ソリューションは基本的な条件を満たしています。

  • インフラストラクチャ スタック全体をモニタできる

  • コードレベルでパフォーマンスをモニタできる

  • IT 環境をリアルタイムで分析できる

  • 人工知能と機械学習を活用している

  • アプリのパフォーマンスとビジネス成果を結びつけている

複数のモニタリング手法を組み合わせて使用する

最も効果的なモニタリング戦略には、APM をはじめとしたさまざまな方法があります。

APM を包括的なモニタリング計画に組み込むことで、APM とは異なる従来のモニタリング方法に固有の欠点をカバーできます。以下にその例を示します。

シンセティック トランザクション

シンセティック トランザクションのみでアプリケーションのパフォーマンスをモニタする場合は、新たな問題が発生した場合にどのように検知するかを決めておくことが重要です。通常の速度低下と異常な速度低下の違いをどのように識別し、パフォーマンス関連の問題の根本原因をどうやって特定するかを検討する必要があります。

手動インストルメンテーション:

アプリケーションにパフォーマンスモニタリング用のコードを追加することは、さまざまな理由で困難な可能性があります。たとえば、使用するコードをどのように選択するか、コードをどのようにメンテナンスするか、今後、メトリクスが追加された際にどのようにモニタするか、などの問題があります。これらはすべて、アプリケーション パフォーマンス モニタリングに関する重要な考慮事項です。

カスタマーフィードバック

エンドユーザに品質保証の役割を担わせると、顧客満足度の低下から平均修復時間(MTTR)の長期化に至るまで、さまざまな問題が発生します。パフォーマンスの問題にプロアクティブに取り組むことで、将来の時間とコストを節約できます。

可用性、応答時間、エラー率、コードレベルのエラー、ダウンタイムをモニタする機能を利用することで、カスタマーライフサイクル全体を通じてユーザエクスペリエンスを詳細に把握し、ビジネスで提供するサービスの品質を評価する機能を強化できます。

APM を使用すると、エンドユーザに迷惑をかけることなく、自動的に継続してアプリケーションの状態を評価できます。

効果的なルールを適用する

優れたパフォーマンスを発揮する APM ソリューションは、ビジネスが直面する固有の課題や障害に対応できるように構成されています。APM では、通常のアプリケーションのふるまいと SLA から逸脱したふるまいを区別するルール、ビジネスクリティカルなアプリケーションを優先させるルール、特定の領域や特定のベンチマークに対する問題のモニタリングに関するルールを作成できます。

適切なチームを育成する

APM の導入に関わる主要な担当者は、アプリケーションをエンドツーエンドで把握し、問題を効率的かつ効果的に特定して軽減できる必要があります。エンドユーザ エクスペリエンスのモニタリングは、将来の成長と成功の中心を担うコンポーネントです。チームをよく訓練して、微妙に異なる IT 環境やパフォーマンスモニタリングの重要性を理解できるように育成することは、企業にとって最も価値のある投資の 1 つです。


AppDynamics の APM ソリューションが世界をリードする理由