この記事は、Cisco AppDynamics のB2B コンテンツのマーケティング担当 Adrienne Jack によるブログ「What Is Application Performance Monitoring?」(2019/5/23)の抄訳です。
企業の IT 運用のパフォーマンスに対して責任を負う立場にある方は、ぜひこのガイドでアプリケーション パフォーマンス モニタリング(APM)のメリットをご確認ください。
今日のデジタルエコノミーにおいて、アプリケーションはビジネスの単なる一部ではなく、企業のビジネスそのものと言うこともできます。
そのため、パフォーマンスの問題が発生すると、IT チームにとって頭の痛い問題となるとともに、ビジネスの成長と収益性にとっても大きな障害となります。さらに、企業の外においても、アプリケーション パフォーマンスに対する消費者の期待は大きく変わってきています。現代の消費者は完璧なデジタルエクスペリエンスがいつでもオンデマンドで提供されることを期待しているため、問題が発生した場合はリアルタイムで解決する必要があります。
幸い、テクノロジーも消費者の期待に応えて急速に進化しつつあります。特に進化が著しいのはアプリケーション パフォーマンス モニタリング(APM)の分野です。しかし、APM ソリューションの全貌を詳細に理解するのは簡単なことではありません。
そこで、この記事では、アプリケーション パフォーマンス モニタリングを IT 運用の最適化とビジネスの成長に役立てるための基本的なポイントについて説明します。
アプリケーション パフォーマンス モニタリングとは
アプリケーション パフォーマンス モニタリング(APM)ソリューションを利用すると IT リソースを詳細にモニタリングすることができ、これによって自社の IT 環境が一定のパフォーマンス基準を満たしているかどうかを監視し、バグや潜在的な問題を特定し、優れたユーザエクスペリエンスを提供することも可能になります。最高クラスの APM ソリューションを導入すれば、アプリケーションのパフォーマンスをビジネス上の成果に結び付けるために必要な情報を入手できます。また、エンドユーザに影響が及ぶ前にパフォーマンスの問題を特定して修正できるようになるため、理論上、平均修復時間(MTTR)も短縮できます。
「アプリケーション パフォーマンス モニタリング」と「アプリケーション パフォーマンス管理」はどちらも「APM」と略され、相互に関連していますが、別々の概念であるため、混同しないように注意する必要があります。後者は、優れたパフォーマンスを維持するための幅広い管理戦略であり、モニタリングはその一部にすぎません。包括的な APM ソリューションでは、単に問題を検出できるだけでなく、ユーザジャーニーに問題が発生した時間と場所や原因まで把握できるため、将来発生する可能性がある問題をより迅速かつプロアクティブに修復できます。これこそ APM が IT チームにもたらす最大のメリットと言えるでしょう。
APM ソリューションで測定されるデータ
ユーザジャーニーを確実にサポートするには、アプリケーションを通じて実行されるすべてのビジネストランザクションの状態をリアルタイムで把握する必要があります。アプリケーション パフォーマンス モニタリングの大まかな流れは次のとおりです。
- アプリが正常に動作しているかを確認する。
- 正常に動作していない場合は、問題の発生元(アプリ、アプリの依存関係、アプリをサポートするインフラなど)にアラートを送信し、問題に関するデータを収集する。
- ビジネスへの影響という観点からデータを分析する。
- ビジネスに影響が及ぶ前に、アプリケーション環境を調整して同様の問題を修正
する。
APM はアプリの可用性に関連するほぼすべての情報をトラッキングして集約します。以下は、その中でも特に重要なアプリケーション パフォーマンス モニタリングのメトリックです。
- CPU 使用率:CPU 使用率、メモリ需要、ディスクの読み取り/書き込み速度をサーバレベルでチェックし、使用率の上昇がアプリのパフォーマンスに影響を与えないようモニタリングします。
- エラー率:アプリのパフォーマンスが低下または停止した頻度をソフトウェアレベルでトラッキングします。たとえば、Web 要求でエラーが発生した場合や、データベースの検索などメモリを大量に消費するプロセスが発生した場合がこれに該当します。
- 応答時間:平均応答時間は、速度がアプリのパフォーマンスに影響を与えているかどうかを示すメトリックです。
- インスタンス数:エラスティックなクラウドベース アプリケーションの場合は、同時に実行されているサーバまたはアプリのインスタンス数を常にモニタリングする必要があります。自動スケーリングをサポートする APM ソリューションを利用すれば、ユーザの要求に応じてコスト効率よくアプリをスケーリングできます。
- 要求レート:このメトリックは、アプリケーションが受信したトラフィック量(スパイク回数、非アクティブ時間、同時ユーザ数)を測定します。
- アプリケーションの稼働率/稼働時間:アプリケーションがオンラインで利用可能かどうかを監視するメトリックです。ほとんどの企業がこのメトリックを使用して SLA の遵守状況をチェックしています。
- ガベージコレクション(GC):Java をはじめ、GC を使用するプログラミング言語でアプリが書かれている場合、GC によってメモリが大量に消費されることでさまざまな問題が発生するのは周知の事実です。これがパフォーマンス上の隠れた問題につながることが少なくないため注意が必要です。
- 顧客満足度:最も重要な指標は間違いなくユーザ自身によるエクスペリエンスの評価です。AppDynamics では、Apdex スコアと SLA しきい値を組み合わせて使用し、ベースラインパフォーマンスに対するユーザの「満足度」または「許容度」を測定します。
APM を導入すると、サイロ化した複数のモニタリング ソリューションのデータが信頼できる単一の情報源に関連付けられるため(これがアプリケーション パフォーマンス モニタリング ダッシュボードによりもたらされる最大のメリットです)、ログを 1 つずつ検索したり、合成モニタを手動で作成したりする手間を大幅に削減することができます。ですが、APM が重要な理由は、これだけではありません。
アプリケーション パフォーマンス モニタリングを活用すべき理由
APM の登場以前には、どのような方法があったでしょうか。
APM ソリューションを利用せずにアプリケーションのパフォーマンスを管理する方法としては、以下のものが考えられます。
- 代理トランザクション:この方法でアプリケーションのパフォーマンスを監視する場合は、新たに発生した問題をどのように通知するかを決定する必要があります。正常な速度低下と異常な速度低下をどのように区別し、問題の根本原因を迅速に特定するには、どうすればよいでしょうか。
- 手動インストゥルメンテーション:アプリにパフォーマンス モニタリング コードを追加する際には、さまざまな課題が生じます。インストゥルメント化すべきコードをどのように判断すればよいでしょうか。追加したコードをどのようにメンテナンスすればよいでしょうか。監視するメトリックを後から増やすことにした場合は、どうなるでしょうか。
- お客様からのフィードバック:お客様からサポートセンターに苦情が寄せられるのは決して望ましいことではありませんが、APM ソリューションを利用しなければ、パフォーマンスの問題をプロアクティブに解決することはできません。
リソースと収益を保護するには、パフォーマンス低下の原因を簡単に特定できるようにする必要がありますが、APM 以外の方法でこれを実現するのは不可能です。これを実現するには、包括的な視点で APM ツールを選ぶ必要があり、実績のあるソリューションを使用するのが一番です。
APM の導入を成功に導くためのヒント
当然のことながら、ユーザエクスペリエンスの最適化が成功するかどうかは、いくつかの要因に依存します。APM が十分に効果を発揮するかどうかは、製品、プロセス、そしてそれを支える人にかかっています。
それぞれについて、以下で説明します。
適切なツールを選択する
APM 市場には膨大な数のソリューションがあふれかえり、それぞれが独自のパフォーマンス モニタリング ツールを備えています。APM ツールを選ぶ際に特に重視すべきポイントは、使いやすさとエンドユーザ エクスペリエンスに加え、(自社の環境から収集された広範かつ詳細な)データを実用的なインサイトに変換できるかどうかです。少なくとも、以下の機能を備えた APM ソリューションを選ぶことをおすすめします。
- 任意の言語で作成されたアプリケーションを管理できる
- インフラストラクチャ スタック全体をモニタリングできる
- コードレベルでパフォーマンスをモニタリングできる
- 人工知能を活用できる
- アプリケーションのパフォーマンスをビジネス成果に結び付けることができる
適切なルールを作成する
APM は各企業のビジネス課題に基づいて設定を行うことで最大限の効果を発揮します。たとえば、何をアプリの「正常」な動作と見なし、何を SLA 違反とするかや、ビジネスクリティカルなアプリはどれかといったルールを作成できます。また、特定の領域における問題や、一定のしきい値を超えた問題のみをモニタリングするようにルールを作成することもできます。ルールを設定した後は、APM ソリューションを通じてアラートと修復を調整、自動化することができます。
ユーザを適切にトレーニングする
最後に、社内ユーザをしっかりとトレーニングすることが大切です。特に重要なのは、APM の導入に携わる担当者と開発者です。前者は自社のアプリを知り尽くしている必要があり、後者は問題が発生したときにどう解決すべきかを熟知している必要があります。
ただし、APM の真価が発揮されるのは、組織全体への導入が完了してからのことです。アプリのパフォーマンスとビジネス上の成果が密接な関係にあることを、全従業員に理解させる必要があります。優秀な IT チーム、部門間のコラボレーション、ベンダーチームによる強力なサポートを組み合わせることが、APM の導入を成功に導き、ひいては収益性を高める秘訣です。
最後に
最後に 1 つ注意すべきことがあります。テクノロジーの仕組みや機能に気を取られすぎると、アプリの真の役割が「ビジネスへの貢献」であることを見落としがちです。APM をビジネスの強力な推進力として活用すれば、きっと驚くべき成果に結び付くでしょう。この続きは、次の投稿でお話ししたいと思います。
ここまでお読みいただいただけでも、APM を使い始めるのに必要な知識は十分に身に付いていますが、APM はまだまだ進化・成長の過程にあり、APM に関連するベストプラクティスも進化・成長し続けています。Gartner 社や 451 Research 社などの業界アナリスト企業が発表する資料を定期的に確認して、パフォーマンス管理の進歩に今後も注目していきましょう。
AppDynamics と APM の詳細については、こちらをご覧ください。
Adrienne Jack
Adrienne は B2B コンテンツのマーケティング担当者です。お客様の成功の加速をテーマとして、テクノロジー企業
および SaaS 企業の皆様向けの記事執筆を担当しています。オンラインでのアイデアの発信を通じて、日々新たな何か
を学び、データを深く掘り下げ、世界中の人々とつながることを楽しんでいる彼女。ぜひ、Twitter の @adriennegjack までご意見をお寄せください。adriennegracejack.com では詳細なプロフィールをご覧いただけます。