アプリケーション監視のベスト・プラクティス:貴社のビジネスに最適なアプローチ
2023年10月17日
読了時間:7分

アプリケーションのパフォーマンス、可用性、および全体的なエンドユーザー・エクスペリエンスに対する期待に応えるためには、アプリケーションがどのように動作するかを理解することが不可欠です。これは、アプリケーション監視およびアプリケーション監視ソフトウェアを通じて実現できます。

大きく言えば、アプリケーション監視ソフトウェアは、アプリケーションのパフォーマンス、セキュリティー、コンプライアンスを測定し、パフォーマンスのベースラインが満たされていない場合にアラートを送信し、パフォーマンスの問題の根本原因に関するインサイトを提供し、検出された問題がエンドユーザー・エクスペリエンスに影響を与える前に自動化を通じて解決します。強力なアプリケーション監視ツールとそれが提供するインサイトは、チームがSLAを達成し、情報に基づいたビジネス上の意思決定を行うのに役立ちます。

アプリケーション監視の領域はますます進化しています。現在、多くのソリューションは、従来のアプリケーション・パフォーマンス監視(APM)ツールを超えて、可観測性、つまり「現代の分散型クラウドネイティブ・アプリケーションの複雑さに適したパフォーマンス・データの収集および分析テクノロジー」へと移行しています。

アプリケーション監視戦略は組織のニーズによって異なり、アプリケーションのパフォーマンス、正常性、依存関係、セキュリティー・ギャップなどの改善に役立つ特定の種類のアプリケーション監視があり、組織によって適した戦略は異なります。さまざまな種類のアプリケーション監視について説明します。

アプリケーション監視の種類

今日のIT環境でアプリケーションの数が増えている中で、適切なアプリケーション監視ソリューションを選択することは、アプリケーションの監視と管理を成功させるために不可欠です。現代のITアーキテクチャは複雑であることが多いため、さまざまな導入モデル(パブリッククラウド、プライベートクラウド、ハイブリッドクラウド、マルチクラウドなど)で動作し、幅広い統合をサポートする監視ツールを選択することが重要です。

アプリケーション監視にはさまざまな種類があり、それぞれ目的が異なります。それぞれの仕組みと目的を理解することが、組織のニーズに最適なソフトウェア・ソリューションと戦略を特定するための第一歩となります。(次のセクションには、IBM Application Performance Managementページの情報が含まれています。)

  1. デジタル・エクスペリエンス監視は、ユーザー・デバイス上のユーザー・インターフェースから、ロード時間、応答時間、稼働時間、ダウンタイムなどのパフォーマンス指標を収集します。これは、フロントエンドの問題の迅速なトラブルシューティングと解決を可能にするユーザーの動作を理解するのに役立ちます。(以前はエンドユーザー・エクスペリエンス監視と呼ばれていましたが、ロボットやその他のソフトウェア・コンポーネントなど人間以外のエンティティもアプリケーションと対話し、独自のパフォーマンス期待値があることを確認するために拡張されました)。デジタル・エクスペリエンス監視は通常、システム上の実際のユーザーのエクスペリエンスを監視するリアルユーザー監視と、本番環境および非本番環境での性能テストの外形監視をサポートします。
  2. アプリケーション監視には、アプリケーション・フレームワーク(Javaや.NETなど)、オペレーティング・システム、データベース、API、ミドルウェア、Webアプリケーション・サーバー、UIなど、アプリケーション・スタック全体の監視と、CPU使用率、ディスク領域、ネットワーク・パフォーマンスなどの要素をサンプリングするITインフラストラクチャー監視が含まれます。スタックの監視には通常、コード・レベルのトレースが含まれており、パフォーマンスのボトルネックの原因となっている可能性のあるコードの一部を特定するのに役立ちます。
  3. データベース監視は、アプリケーション監視エージェントによって提供されるデータベース監視を行うだけでなく、SQLクエリーまたはプロシージャのパフォーマンスをサンプリングします。
  4. 可用性監視は、アプリケーションとハードウェア・コンポーネントの実際の可用性を監視します(ユーザーがアクセスできない場合でも、アプリケーションはパフォーマンス・データを生成できるため)。
  5. パフォーマンス監視は、応答時間とリアルタイムのアプリケーション・データを測定してアプリケーションのパフォーマンスを測定し、データベース・クエリーの遅延、ネットワーク遅延の増加、中央処理装置(CPU)の急上昇などの問題を事前に特定します。
  6. リソース監視は、CPU、メモリ、ストレージなどのリソースの使用状況を追跡するため、アプリケーション監視に対するよりきめ細かいアプローチとみなすことができます。リソース使用率を監視することで、アプリケーション・リソースの使用を最適化し、アプリケーションが効率的かつ効果的に実行するために必要なリソースを確保できます。リソース監視はクラウド・コストの最適化の重要な要素であり、IBM Turbonomicプラットフォームは、これを目的として特別に設計されています。
  7. セキュリティー監視は、フィッシング詐欺やマルウェア詐欺、その他の不正アクセスの試みなど、セキュリティー上の脆弱性や脅威を検知するために使用されます。これにより、組織は機密データを保護し、業界規制に準拠することができます。
APMツールで注目すべきポイント

最新のアプリケーション・スタックで最適なアプリケーション・パフォーマンスを実現するには、従来のAPMツールの機能を超えたソリューションを見つけることが重要です。料金体系やその他の要素を比較する際に、APMソリューションで注目すべき機能は次のとおりです。

  • フルスタック・オブザーバビリティー:パズルの1ピースを見るだけでは不十分です。IT環境がどのように、なぜ機能しているかを理解するには、直感的な(そして、理想的にはカスタマイズ可能な)ダッシュボードを通じて、環境全体とすべての依存関係を表示できる必要があります。こうして包括的に理解することで、アプリケーションのパフォーマンスとリソースに関して、より多くの情報に基づいた意思決定を行うことができます。このような可視化により、チームは提案された意思決定の影響を理解し、自信を持って作業を進めることができるだけでなく、監視と管理のプロセスを民主化し、より多くのチームが必要な情報に直接アクセスできるようになります。
  • 自動化:最近では、自動化が主流になっています。IT環境のすべての側面に手動で対応しようとすることはほとんど不可能です。少なくとも、膨大なコストがかかり、チームが疲弊してしまうことになります。自動アラート、自動レポート生成、自動インシデント修復などの機能を備えたオートメーションを活用して、ITチームと DevOps チームの手作業を軽減するツールが必要になります。
  • 拡張性:ビジネスの成長に合わせてAPMツールをアップグレードするのではなく、ビジネスに合わせてシームレスに拡張できるソリューションが必要です。環境が複雑化しても、モバイルとデスクトップの両方を含めて、環境全体からデータを収集、集約、保存、分析できるツールで、戦略的な意思決定を支援するインサイトを提供できるツールを探しましょう。
  • 根本原因の分析と改善:変更、問題、インシデントを自動的に検出し、コンテキストに沿った情報を提供するツールを探しましょう。これにより、アプリケーションに影響を与える問題の根本原因の調査と対処に必要な時間を大幅に短縮できます。しきい値に基づくスマート・アラート、イベント、問題、サービス・インシデントの自動検出と関連付け、各インシデントに対し想定しうる根本原因の自動特定で、平均解決時間(MTTR)を大幅に短縮できます。
  • 統合機能:IT環境の管理には多くの異なるツールを使用することになりまうが、それらの連携が優れていればいるほど、ワークフローはより効率的になります。たとえば、IBM Instana Observabilityは、IBM Turbonomicなどのネットワーク監視ツールやその他のログ管理ツールをはじめとする監視ツールと統合し、プラグインやアプリケーションの再起動を必要とせず、ITインフラストラクチャー全体にわたるアプリケーション・パフォーマンスを包括的に可視化します。また、どのような展開オプションが提供されているかを確認してください。一部のAPMソフトウェアでは、オンプレミスとクラウドベースの展開オプションが提供されており、インストールの選択肢が増えています。
アプリケーション監視のベスト・プラクティス

さまざまな種類のアプリケーション監視を理解することで、パフォーマンス目標を達成し、IT環境の正常性を維持するのに役立つベスト・プラクティスを実践することが容易になります。アプリケーション監視システムをセットアップまたはオーバーホールする際には、次の重要なプラクティスを念頭に置いてください。

明確なパフォーマンス目標を設定する

定量化可能なメトリクスとKPIに対して測定可能な、明確なパフォーマンス目標を設定します。目標を設定したら、その目標を達成するための計画を立て、進捗状況を評価するためのパフォーマンス・データの定期的な監視と分析を含める必要があります。

まだパフォーマンス目標の定義に取り組んでいる場合は、業界標準、たとえばリソースの使用率やダウンタイム、エンドユーザーの期待を考慮して、組織のビジネスの文脈で何が不十分か、許容できるか、もしくは優れたパフォーマンスであるかを判断することをお勧めします。

適切なメトリクスを監視する

利用可能なデータの量は膨大で、どのメトリクスを追跡するか決定するにあたって、混乱が生じる可能性があります。どのメトリクスが目標に最も関係しているかを知ることで、最も価値のある情報に集中し、ほとんどのノイズを遮断することができます。パフォーマンスの問題を特定する上で重要な一般的なメトリクスは次のとおりです。

  • CPU使用率
  • エラー率
  • 応答時間
  • リクエスト率
  • ユーザー・エクスペリエンス・データ/フィードバック

カスタマイズしたアラートと通知を設定する

組織とSLAに合わせて確立されたパフォーマンスのしきい値に基づいて、カスタマイズしたアラートと通知を設定することが重要です。基本的に、万能のソリューションはありません。ユーザー・トラフィック、応答時間、エラー率などの要素をビジネスに関連して考慮する必要があります。

カスタマイズしたアラートと通知により、問題が発生した場合に、関連するチームメンバーに通知され、エンドユーザー・エクスペリエンスに影響が及ぶ前に問題を調査して対処することができます。多くのプラットフォームでは、自動修復も可能です。ここで重要なのは、貴社のニーズに特化したシステムを構築することであり、問題が深刻化するのを防ぐために、ほぼリアルタイムにチームに警告できるシステムです。システムを効果的に機能させるために、システムをセットアップする際に留意したい点があります。

  • アラート疲労を回避する:潜在的な問題について、チームに迅速に通知することは重要だが、アラートが多すぎるとアラート疲労を引き起こし、重要なアラートがノイズの海に紛れてしまうことになります。アラートを正当化するのに十分な重要性を慎重に定義し、可能な場合には、関連するアラートを1つの通知にグループ化することを検討します。チームが問題を迅速に解決するのに役立つコンテキスト情報をアラートに添付するようにしてください。
  • プロセスを定義する:重要な問題を迅速かつ適切にエスカレーションするための明確で簡潔なプロセスがあり、このプロセスがすべての関係者に伝達されていることを確認してください。
  • 通知を効率化する:従業員は、メール、Slack、プロジェクト管理ソフトウェアなど、さまざまなプラットフォームですでに仕事をしているはずです。ユーザーがすでに使用している場所で通知を受け取れる可能性を探ってみてください。現在使用しているコラボレーション・チャネルにアラートを統合して、チームが別のプラットフォームを採用しないで済むことはできないでしょうか。
  • 見直して改良する:SLAやテクノロジーは変化し、お客様のビジネスも常に進化しています。貴社のビジネスに適したアラート・システムを検討し、必要に応じて方法を調整したり、新しい機能を組み込んだりすることが重要です。

セキュリティーとコンプライアンスを念頭に置いて構築する

ソフトウェア・アプリケーションのセキュリティーを維持し、関連するコンプライアンス要件を遵守することは、監視戦略の最優先事項です。戦略を立案する際には、ビジネスの要件と、その要件を満たすために必要な暗号化やネットワーク/ユーザー・アクセス制御などのツールを検討してください。

一部の業界には厳格な規制およびコンプライアンス基準があり、適切に構成された監視システムは、企業がコンプライアンスを維持するための一貫したプロセスがあり、それを証明するための文書化されていることを監査機関に効率的に証明する方法です。

データ侵害は経済的、風評的に甚大な影響を及ぼす可能性があるため、監視ソリューションはパフォーマンスを追跡するだけでなく、セキュリティーにも重点を置く必要があります。ファイアウォールや強固なアクセス制御などのセキュリティー・システムの確立に加えて、監視ソフトウェアがネットワーク・トラフィック、ユーザー・アクティビティー、システム・ログなどを追跡することを確認してください。このような監視により、異常や潜在的なセキュリティー・インシデントを特定し、セキュリティー侵害の影響を軽減できます。

自動化を活用する

今日の環境はあまりにも複雑で、手動では効率的に監視できないことがよくあります。競争力を維持するには、自動化を活用したAPMツールに目を向けましょう。たとえば、ログを自動的に分析し、根本原因分析を自動的に実行してアラートの生成時に修復の提案を提示したり、需要の急激な低下に合わせてリソースの割り当てを自動的に調整できるアプリケーション監視ソリューションは、時間とコストの両方を節約するのに役立ちます。

自動化されたプロセスを通じて分析できる情報の量と広さと、得られる深いインサイトにより、アプリケーション監視に自動化を活用すると、環境をより深く包括的に理解できるようになり、イノベーションを加速することができます。

アプリケーション監視ソリューション

IBM Instana ObservabilityIBM Turbonomicはどちらも、アプリケーションの監視とパフォーマンスの最適化に役立ちます。

Instanaの完全に自動化されたリアルタイム・オブザーバビリティ・プラットフォームは、従来のアプリケーション・パフォーマンス・モニタリング・ソリューションを超えて、パフォーマンス・データをコンテキストに合わせて表示し、迅速に特定して問題の防止と修復につなげます。Instanaは、モバイル、Web、アプリケーション、インフラストラクチャーを対象に論理的、物理的な依存関係のコンテキストを使用し、1秒単位の細分度で連続した高精度のデータとエンドツーエンドのトレースを自動配信します。

IBM Turbonomicのハイブリッドクラウド・コスト最適化プラットフォームは、実行する必要のある機能をアプリケーションに自動的に提供することで、アプリケーションのリソース支出を最大限に活用できるように設計されています。(オーバープロビジョニングの必要はもうありません。)

Turbonomicを使用すると、時間を節約し、コストを最適化するソリューションを使用して、リソースの当て推量を排除できます。また、重要なアクションをリアルタイムかつ人間の介入なしで継続的に自動化し、スタックのあらゆる層でコンピューティング、ストレージ、ネットワークのリソースを最も効率的な形でアプリケーションに事前に割り振ります。

 
著者
IBM Instana Team IBM Instana