アプリケーション・パフォーマンス管理(APM)とは
アプリケーション・パフォーマンス管理を使用して、パフォーマンスの問題をビジネスに影響を与える前に予測して防止できるようにします。
「AIOpsによるアプリケーション ・パフォーマンスの確保」ガイド  世界のAPM事例集
オフィスでコンピューターに取り組んでいる若い実業家のショット
アプリケーション・パフォーマンス管理(APM)とは

アプリケーション・パフォーマンス管理(APM)ソフトウェアは、組織の重要なアプリケーションが、パフォーマンス、可用性、および顧客体験やエンド・ユーザー体験に期待されるものを確実に満たせるようにします。 これは、アプリケーションのパフォーマンスを測定し、パフォーマンスのベースラインが満たされていない場合に管理者に警告し、パフォーマンスの問題の根本原因を可視化し、ユーザーやビジネスに影響を与える前に多くのパフォーマンスの問題を自動的に解決することで実現します。

APMは、アプリケーション・パフォーマンス・モニタリングの略語でもあります。 これらの用語は同じ意味で使用されることがよくありますが、アプリケーション・パフォーマンス・モニタリングは、実際には大部分がアプリケーション・パフォーマンス管理のコンポーネントです。結局のところ、パフォーマンスを管理するには、それをモニタリングする必要があるためです。 

ただし、アプリケーション・パフォーマンス管理ソリューションは、従来、アプリケーション・パフォーマンス・モニタリング・ツールに依存していましたが、最新の分散型クラウドネイティブ・アプリケーションの複雑さに適したパフォーマンス・データ収集および分析テクノロジーである可観測性を組み込む方法に進化しています。 

関連用語解説

可観測性

APMの仕組み

繰り返しになりますが、APMはソフトウェア・アプリケーションのパフォーマンス・データを収集し、これを分析して潜在的なパフォーマンスの問題を検出し、情報を提供するか、またはその問題の解決を進めるためのアクションを実行します。 データの収集法と分析法の主な違いは、アプリケーション・パフォーマンスのモニタリングと可観測性の間に見られる違いです。

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

アプリケーション・パフォーマンス・モニタリングでは、エージェントはアプリケーション環境とサポート・インフラストラクチャー全体に展開され、パフォーマンスとパフォーマンス関連のメトリック(テレメトリと呼ばれることもあります)を通常は1分に1回の頻度でサンプリングすることにより、パフォーマンスを「モニタリング」します。 これらのエージェントが実行するモニタリングには、以下のタイプがあります。

  • デジタル・エクスペリエンス・モニタリングは、エンドユーザー・デバイスのユーザー・インターフェースから、ロード時間、応答時間、稼働時間、ダウンタイムなどのパフォーマンス・メトリックを収集します。 (これは、以前はエンドユーザー・エクスペリエンス・モニタリングと呼ばれていましたが、ロボットやその他のソフトウェア・コンポーネントなどの人間以外のエンティティもアプリケーションと対話し、独自のパフォーマンスを期待できることを認めるために、より広い意味を持つようになりました)。 デジタル・エクスペリエンス・モニタリングは通常、システム上の実際のユーザーのエクスペリエンスをモニターする実ユーザーのモニタリングと、実稼働環境と非実稼働環境でのパフォーマンステストのための合成モニタリングをサポートします。

  • アプリケーション・モニタリング には、アプリケーション・スタック全体(アプリケーション・フレームワーク(Java or .NETなど)、オペレーティング・システム、データベース、API、ミドルウェア、Webアプリケーション・サーバー、UIなど)のモニタリングと、CPU使用率、ディスク容量、およびネットワーク・パフォーマンスのITインフラストラクチャーのモニタリング が含まれています。 スタック・モニタリングには通常、コードレベルのトレースが含まれます。これは、パフォーマンスのボトルネックを引き起こしている可能性のあるコードの部分を特定するのに役立ちます。

  • データベース・モニタリング は、アプリケーション・モニタリング・エージェントによって提供されるデータのモニタリングに加えて、SQL照会またはプロシージャーのパフォーマンスをサンプリングします。

  • 可用性モニタリング は(エンドユーザーがアクセスできない場合でも、アプリケーションがパフォーマンス・データを生成できるため)、アプリケーションとハードウェア・コンポーネント の実際の可用性をモニタリングします。

これらのエージェントは、パフォーマンスデータの収集に加えて、ユーザー定義のトランザクションのプロファイリングを実行し、エンドユーザーUIまたはデバイスから、トランザクションに関係するすべてのアプリケーション・コンポーネントまたはリソースを介して各トランザクションを追跡します。 この情報は、アプリケーションの依存関係を判断し、トポロジー・マップを作成するために使用されます。これは、アプリケーションとインフラストラクチャー・コンポーネント間の依存関係を視覚化したもので、理想的にはオンプレミス、プライベートクラウド、パブリッククラウド(サービスとしてのソフトウェア(SaaS)ソリューションを含む)および/またはハイブリッドクラウド環境です。 

APMソリューションは、通常、収集されたパフォーマンス・メトリックを集約して分析し、確立されたベースラインと比較できる、コントローラーおよび一元化されたダッシュボードを提供してくれます。 ダッシュボードは、パフォーマンスにおける実際の問題、または潜在的な問題を示すベースラインからの逸脱をシステム管理者に警告します。また、管理者が問題のトラブルシューティングと解決に使用できるコンテキスト情報と実用的な洞察も提供します。

可観測性

定期的なサンプリングは、モノリシック・アプリケーションまたは従来の分散型アプリケーションのモニタリングとトラブルシューティングに十分効果的です。新しいコードが定期的にリリースされ、アプリケーション・コンポーネント、サーバー、および関連リソース間のワークフローと依存関係は事前に割り当てられているか、追跡が容易になっています。

しかし今日、アジャイルとDevOpsの手法、マイクロサービス、Dockerコンテナ、Kubernetes、サーバーレス機能など、最新の開発手法とクラウドネイティブ・テクノロジーを採用している組織は、従来のモニタリング・ソリューションが提供していた、1分に1回のデータ・サンプリングでは追いつかないほど広範囲にわたって変化する時代に、新しいアプリケーション・コンポーネントを非常に高い頻度で、多くの場所で、あらゆる言語で展開しています。

可観測性は、従来のモニタリング・エージェントを、ノンストップでパフォーマンスとコンテキスト・データを収集するインスツルメンテーションと交換し、機械学習技術を使用してデータをリアルタイムで相互に関連付けて分析します。 可観測性ソリューションを使用することによって、開発、IT運用、およびサイト信頼性エンジニアリング(SRE)チームは以下が可能になります。

  • 「未知の未知数」を発見して対処します。従来のモニタリングが検索する内容は、既知のベースラインからの既知の偏差のみです。 可観測性プラットフォームの機械学習 機能は、パフォーマンス・テレメトリーのパターンを検出して、パフォーマンスの問題と相関する新しい偏差を特定できます。

  • 開発の早い段階で問題を見つけて解決。 可観測性により、DevOpsチームはソフトウェア開発のプロセスの初期の段階でモニタリングを組み込むことができるため、顧客エクスペリエンスやサービス・レベル・アグリーメント(SLA)に影響を与える前に、新しいコードの問題をテスト、特定、修正できます。

  • 可観測性を自動的にスケーリングします。 例えば、開発者は、Kubernetesクラスター構成の一部として可観測性のインスツルメンテーションを指定できるため、新しいクラスターは、スピンアップした瞬間からスピンダウンするまでテレメトリーの収集を開始します。

可観測性はモニタリングに取って代わるものではなく、 より優れたモニタリングおよびAPMを実現します。

関連用語解説

Kubernetes

マイクロサービス

サイト信頼性エンジニアリング(SRE)

可観測性の詳細はこちら
AIとAIOps:APMの未来

今日、可観測性とAIが、さまざまなAPMツールに活用されています。 従来のアプリケーション・パフォーマンスのモニタリングとAIを組み合わせて、変化するトランザクション・パスとアプリケーションの依存関係の検出を自動化するものもあります。 また企業の中には、可観測性とAIを組み合わせ、パフォーマンス・ベースラインを自動的に決定し、IT運用管理(ITOM)データの「ノイズ」からシグナルまたは実用的な洞察を選別しているところもあります。 業界アナリストのGartner社によると、組織が「AI拡張ツールを使用することでITOMのノイズを60%削減」できることが分かっています。

究極の目標(およびAPMとIT運用の将来)は、可観測性とIT運用(AIOps)の人工知能を組み合わせて、自己回復型の自己最適化インフラストラクチャーを作成することです。 リアルタイムの可観測性テレメトリーと AIOps機械学習および自動化の安定した流れにより、管理のために人間が介入しなくても、システム出力に基づいてアプリケーション・パフォーマンスの問題を予測し、エンドユーザー・エクスペリエンスや操作に影響を与える前にそれらを解決し、アプリケーション・パフォーマンスを最適化するためのアクションを実行することもできます。

関連ソリューション
IBM Instana Observability

ハイブリッドクラウド用の、優れたエンタープライズ向け可観測性プラットフォームをご覧ください。アプリケーションのある場所を問わず、アプリケーションのパフォーマンス管理を向上させ、CI/CDパイプラインを効率化します。

IBM Instana Observabilityの詳細はこちら
IBM Turbonomic

インフラストラクチャーにかかる費用を33%削減、データセンターの更新コストを75%削減、よりスマートなリソース管理でエンジニアリングにかかる時間を30%取り戻します。

IBM Turbonomicの詳細はこちら
IBM Cloud Pak® for Watson AIOps

パフォーマンス・データと複数の環境にわたる依存関係を可視化するAIOPsプラットフォームを使用して、変革をスピードアップし、運用コストを削減し、IT運用(ITOps)を変革します。

Cloud Pak® for Watson AIOpsの詳細はこちら
参考情報 AIを活用したIT自動化

IT運用において、新たなレベルの効率性とレジリエンスを実現します。

サイト信頼性エンジニアリング(SRE)とは

SREでは、他の方法であればシステム管理者が手動で行っているIT運用の作業を、ソフトウェア・エンジニアリングを使用することで自動化しています。

AIを活用した自動化によるインテリジェントなアプリケーション・リソース管理

アプリケーションおよびインフラストラクチャーのリソース割り当てを、完全に可視化することで、ユーザーの応答時間に寄与し、リソースの輻輳を回避します。

詳細情報はこちら

IBM Cloud Paks® for Watson AIOpsは、 人工知能、機械学習、自動化を取り入れることにより、ITOpsマネージャーとサイト信頼性エンジニアリング(SRE)のインシデント管理と修復対応を支援することができます。環境全体のパフォーマンス・データと依存関係の可視性を提供するAIOpsプラットフォームを使用して、変化する状況の中で、迅速なイノベーション、運用コストの削減、IT運用(ITOps)の変革を実現します。

IBM Cloud Pak® for Watson AIOpsの詳細はこちら