APM(アプリケーション性能管理)とは?
必要性、APMシステムの機能・概要

アプリケーションの監視に重きを置いたAPMという存在をご存じでしょうか。
この記事ではAPM(アプリケーション性能管理)とは?その意味や概要をわかりやすく解説します。

APM(Application Performance Management)とは?

6690_1.jpg
 1分1秒を争うIT社会のニーズに応えるため、現代の企業システムの多くは、マイクロサービスアーキテクチャやコンテナを利用し、システムやサービスそれぞれを意図的に独立させています。それによって各サービスに対し迅速に更新をかけることができ、細かく調整することができます。そこで、問題発生の原因を素早く特定でき、トラブルシューティングも簡単にできるAPMが注目されるようになりました。

 APMは、システムやアプリケーション、Webサービスのパフォーマンス管理やモニタリングをするツールを指します。
 アプリケーション性能管理を行うことで、ユーザー視点での監視、ユーザーに影響を与える可能性のある「障害や異変の早期発見」「障害時の原因特定の迅速化」「生産性の向上」などにつながり、担当者の負担削減、サービスの質が向上します。

APMの必要性

1. アーキテクチャの変化
 これまでのシステムは単純で、メトリクスが性能に直接影響を与えていました。近年のシステムは、マイクロサービスアーキテクチャにより複数の小さな独立したサービスを組み合わせたシステムであり、サーバーレス化されている場合はインフラが秘匿されているため、APMを使ってアプリケーションの全体像の把握をする必要があります。

2. 開発プロセスの変化
 アプリケーション開発の主流がウォーターフォールからアジャイルに変わり「計画→設計→実装→テスト」といった開発工程を小さなサイクルで繰り返す必要があります。アジャイル開発型の迅速なサイクルに対応するには、APMを使って障害個所や性能が悪化している個所をいちはやく特定する必要があります。

3. 問題検知の迅速化
 APMがない場合は、ユーザー視点でのアプリケーションパフォーマンスを把握することができないため、ユーザーからの連絡で対応することとなるため後手となりユーザーの満足度が低下し、ビジネスの機会損失につながります。

APMで何をするのか

 具体的な機能としては、トランザクションのトレース、サービスごとのモニタリング、障害の自動検出とリアルタイムなアラート通知、リソースの使用状況のトラッキングが挙げられます。これらの機能は、システム全体の安定性を保ちつつ、アプリケーションの性能向上と障害への迅速な対応を可能にします。

APMシステムとは?

 本章では、APMシステムの具体的な機能やAPMシステムで何を観測できるか解説いたします。

APMシステムの概要

 APMの機能は多くの場合、オブザーバビリティツール、SaaS型の可観測性プラットフォームの1機能として内包されているケースで提供されております。

APMシステムの主な種類

  • サービスレベル指標の可視化
     応答性能、スループット、エラー率などアラートを設定することでプロアクティブに検知して対応できます。

  • エンド・ツー・エンドでの構成の可視化
     外部のサービスを含めた全体の構成要素と依存関係を可視化し、問題個所を特定することができます。

  • トランザクションの詳細なトレースやエラーの可視化
     パフォーマンスが悪化している個所やエラーの原因となっている個所をピンポイントで特定することができます。

  • インフラ監視・フロントエンド監視との統合
     シームレスに性能を分析することができます。

  • アプリケーションリリースや構成変更の記録
     リリース前後のサービスの品質の変化を管理・可視化し、安定的にアジャイルなリリースサイクルを実現することができます。

APMシステムの主な機能

 アプリケーションのパフォーマンスに関する重要な情報をまとめて提供し、アプリケーションの安定性とパフォーマンスの問題を把握することに役立ちます。6690_4.jpg

①アラート条件によるインシデント
    アラート条件をソースに検知された問題の数が表示され、システムに問題が発生していることを素早くキャッチできます。

②構成変更による変化
    システムの変更によって引き起こされたエラー率と応答時間の変化が表示され、加えた変更による結果を監視することに役立ちます。

③ユーザー視点でのパフォーマンス
    ユーザー視点でのパフォーマンスを測定するために用いられるサービスレベルで、目標値を下回る場合にインシデントとして表示され、改善が必要かどうか把握することに役立ちます。

④応答時間
    リクエストを受け取ってからレスポンスを送信するまでの時間が表示されており、セグメント別で色分けされているため、問題個所を特定することができます。

⑤ユーザーの満足度
    Webアプリケーション/サービスの応答時間に対するユーザー満足度を測定する指標を表示し、ユーザーの満足度を確認することができます。

⑥処理している作業量
    アプリケーションが処理している作業量を測定しており、リソース不足に起因するパフォーマンスの問題を改善することに役立ちます。

⑦エラー率
    エラーの発生したトランザクションの割合が表示され、正しく機能しているかどうかを確認することができます。トランザクションの種類ごとにサービスレベルを細分化して確認できるため、パフォーマンスの問題やエラーの原因を追跡することに役立ちます。

 

6690_5.jpg

⑧レスポンスが悪化しているトランザクション
    トランザクションの中から実行に時間を要している上位のトランザクションが表示されており、ボトルネックや最適化の機会を特定することに役立ちます。

⑨呼び出し頻度の多いトランザクション
    一定期間内に処理したリクエストの数を示しており、トラフィックの負荷の量を把握することができます。アプリケーションの性能やスケーラビリティを評価することに役立ちます。

 

6690_6.jpg

⑩アプリケーション間の連携
    システムを構成するコンポーネントの相互関係が性能情報と併せて可視化できるため、ボトルネックとなっている個所や障害の原因を特定することに役立ちます。

 

6690_7.jpg

⑪エラーの詳細
    トランザクションの処理中に発生したエラーの情報が収集されるため、ソースコードレベルでエラー分析を行うことができ、品質や信頼性を向上させることができます。

 

6690_8.jpg

⑫リリース直後の性能比較
    アプリケーションの変更を記録することで、前後のサービス品質の変化を管理・可視化することができ、安定的なアジャイル開発を実現することができます。

APMのメリットとデメリット

APMのメリット

 APMのメリットとしては、先ほど提示した「障害や異変の早期発見」「障害時の原因特定の迅速化」「生産性の向上」が挙げられます。
 では、それぞれ説明していきます。

  • 障害や異変の早期発見
     APMはユーザー視点でシステムの稼働状況を横断的にまとめて監視し、パフォーマンスの悪化を即時検知できます。サービスの障害や異変を早期発見することによって、多くの影響が出る前に根本原因の対応が可能となります。
  • 障害時の原因特定の迅速化
     システムの全体像を俯瞰的に見ることができ、オブザーバビリティ(可観測性)が向上します。それによって、システムの改修や改善、障害部分の特定も容易で、障害対応もスピーディーに行うことができます。
  • 生産性の向上
     障害の検知や特定が素早く行えることにより、業務効率の改善につながり、運用にかける時間を減らすことが可能です。そのため、運用スタッフが障害対応の負荷に悩まされることなく、本来力を入れるべき作業に注力することができます。

APMのデメリット

 ここまでは、APMの良い面のみを説明してきましたが、実はデメリットもいくつか存在します。

  • 管理者の負担増加
     APMを正しく利用するために高度なアプリケーションコードやモジュールの理解が必要です。管理者にアプリケーションの知識がない場合は学習コストを考慮しなければなりません。
  • 導入プロセスが複雑
     APMの導入に関して対象の言語のライブラリにエージェントを入れることで利用可能ですが、言語やシステムによってはSDKをプラグラムに組むなどの検討も必要になります。
  • 費用面
     APMの機能はオプション機能となっていることが多く、使うツールや使い方によっては高額になるケースがあります。

Cloud ArchのAPMならデメリットを解消!

 通常、デメリット部分の解消をするためにはそれ相応のコストがかかってしまうと考えられますが、オージス総研のCloud Archなら先ほどのデメリットを解消できます。どうして、デメリットを解消できるのか、詳しくご説明します。
6690_9.jpg

管理の簡略化

 Cloud Archのモニタリング機能では現在利用している既存のモニタリングサービスをそのままに一元監視が可能となり、1つのダッシュボードで必要な監視を網羅できます。収集したデータごとに適したダッシュボードのモデルも備えているため、自分でカスタマイズすることなく、簡単かつ迅速に可視化を行えます。もちろん、お客様のニーズに沿ったカスタムも可能で、管理者の負担が削減できます。

弊社エンジニアによるサポート

 APMを利用するために必要な知識面は弊社エンジニアがカバーします。正しく利用し効果を実感いただけるよう開発体制の聞き取りを実施、貴社環境に合った利用方法のレクチャーをさせていただきます。そのため複雑な導入プロセスにおいても、専任のエンジニアが導入から運用後までサポートするため、初めてでも安心して導入いただけます。

Cloud ArchのAPMならではの特徴

 Cloud Archに搭載しているAPMはプロファイリングを得意とし、アプリケーション内部の処理数や処理時間を簡単に把握できます。そのため、属人化されてしまったシステム調査において、簡単にボトルネックを発見できたり、表面化されていなかった問題を発見したり、問題の兆候を検知したりできるようになります。これにより従来までの監視システムと比べ、迅速な障害対応を実現します。

最後に

6690_10.jpg
 本コラムでは、APMについて概要をご紹介しました。
 オージス総研が提供する運用自動化ソリューション『Cloud Arch』はAPMを含めたモニタリングや自動実行、AI機能を導入支援するサービスで、計画策定のフェーズから本格導入までワンストップでサポートさせていただきます。

2023年6月22日公開
2024年2月22日更新
※この記事に掲載されている内容、および製品仕様、所属情報(会社名・部署名)は公開当時のものです。予告なく変更される場合がありますので、あらかじめご了承ください。

関連サービス