アプリケーションのデジタルアーキテクチャの複雑さは、日々劇的に増加しています。 クラウド インフラストラクチャの時代に、目標は、すべての Web サービスを 1 つの場所 (CDN、DNS、サードパーティの API サービス、QA ツール、分析ツール、および考えることができるその他のコンポーネント) に統合することです。 アプリケーションを実行するためのコンポーネントが非常に多くあるため、これらのコンポーネントは、それぞれ IT インフラストラクチャ内で独自のブラック ボックスのように動作します。 この区画化により、パフォーマンスのボトルネックと単一障害点の問題が発生します。 それでは、どのように対処するのでしょうか? さて、今日の市場には多くのDevOpsと監視ツールがあり、最も広く使用されている2つの合成監視ツールとAPMスタックトレースツールについてお話します。
合成監視ツール
外部 合成監視ツールは 、外部ネットワークや場所からエンドユーザーをエミュレートすることにより、外部アプリケーションをテストすることを目的としています。 ユーザーアクションは、アプリケーション全体でユーザーが実行できるパスをスクリプト化することによってシミュレートされます。 合成監視は、稼働時間、機能、および重要なトランザクションの一般的な正常性と、ユーザーがアプリケーションで実行する手順に関する有用な情報を提供します。 このデータは、次の重要な質問に対する回答を提供します。
- アプリケーションが起動して実行されていますか?
- 私のウェブサイトの速度は良いですか?
- 私の API は健康ですか?
- すべてのトランザクションが期待どおりに動作していますか?
- インフラストラクチャ内でボトルネックや障害が発生しているか。
- すべてのサードパーティサービスは期待どおりに動作していますか?
- 重要なアプリケーションが失敗した場合、収益の損失の可能性は何ですか。
APM スタック トレース ツール
APM スタック トレース ツールは、主にコード レベルの監視とトレースを利用して、コード内の問題を検出するために使用されます。 アプリケーションは、エンド ユーザーの観点からではなく、バックエンド コンポーネントの観点からテストされます。 APM スタック トレース ツールは、内部インフラストラクチャとコードに関する開発者や DevOps チームに役立つ情報を提供します。 この情報は、開発環境と運用環境の両方でコードとパフォーマンスを最適化するために使用されます。 APM スタック トレース ツールは、次の重要な質問に答える際に役立ちます。
- コードが最適化されていますか?
- すべての機能は一貫して動作していますか?
- 機能コストはいくらですか?
- コードのどの行がエラーを返しますか?
- 開発者、DevOps チーム、ネットワーク チームなど、コードエラーの原因は誰ですか。
- 内部 API が壊れていますか?
合成監視と APM スタック トレース ツール
合成監視ツールと APM スタック トレース ツールの基本について説明しました。 それとも、両方を使用しますか? これらの質問に答えるためには、両者の機能との違いを理解する必要があります。
パースペクティブ
合成監視は実際のユーザーをシミュレートし、結果として、取得するデータは、アーキテクチャ内のすべての異なるレイヤーから取得されます。 ただし、APM スタック トレース ツールでは、バックエンド (ラスト マイル) の観点からテストを行うため、このデータを提供するには不十分です。
ファイアウォール – 内側と外側
合成監視は、 ファイアウォールの内部または外部 からアプリケーション、Web サイト、およびネットワーク コンポーネントを定期的に監視するようにスケジュールできます。これは、APM スタック トレース ツールが実行できる機能とは、重要な差別化の 1 つになります。 つまり、DNS の問題、サードパーティの要素の問題、ネットワーク接続の問題、SLA (サービス レベル アグリーメント) の検証などの問題を検出できます。 APM スタック トレース ツールはファイアウォール内に配置されており、外部またはファイアウォールの外部で問題を検出することはできません。 アプリケーションは開発環境やステージング環境で正常に動作する可能性がありますが、運用環境にプッシュするとすぐに、問題が発生する可能性のあるすべてが問題になり、何が起こったのかを把握するのにかなり時間がかかる可能性があります。 合成監視では、エラーが発生している場所を特定できるため、チームはエラーが発生したアプリケーションにユーザーがさらされ、優れたエクスペリエンスを下回ることを防ぐために、エラーが発生している場所を特定できます。
ユーザー エクスペリエンス
合成監視は、ユーザー エクスペリエンスに関する詳細です。 アーキテクチャ全体の影響とユーザーの経験を知ることができます。 APM スタック トレース ツールは、コード レベルの監視とトレースに役立ちますが、ユーザー エクスペリエンスに影響を与える重大な問題を見逃しがちで、ユーザーの不満や混乱を引き起こします。
地理的モニタリング
合成監視ツールを使用すると、サイトやアプリケーションをさまざまなグローバルな場所からテストできるだけでなく、ユーザーが実際に経験するネットワーク状態をシミュレートできます。 問題が発生した場所を把握することは、すべてのサービスリージョンで可用性を確保するために、問題の迅速な検出と修復に必要です。 ただし、APM スタック トレース ツールは、運用サーバーとロード バランサーを通じてアプリケーションとサイトをテストし、複数のバックエンド レイヤーに限定された問題を検出します。 一部のベンダーは、地理的なテストの印象を与えるかもしれませんが、それはクラウド ホスティング プロバイダーの地域の機能に限定されます。 サーバーに送信されるトラフィックを最適化することはできますが、ユーザーが停止に直面する可能性のある地域を検出できない場合があります。
ブラウザとデバイス固有の問題
合成監視ツールは、異なる デスクトップ/モバイル ブラウザおよびデバイスを使用してユーザーをシミュレートできるため、プラットフォーム固有の問題に関するデータを取得できますが、正確な問題を簡単に特定できない場合があり、解決に時間がかかる可能性があります。 APM スタック トレース ツールは、コード レベルで問題の詳細な情報を提供するため、ブラウザーとデバイスに関連する問題を簡単に特定し、迅速に解決できます。 これらのツールは、幅広い人口統計があり、プラットフォーム関連のパフォーマンスに関心がある場合に大きな資産です。
断続的な問題
ユーザーが不規則な動作をし、異なるパスを使用して、最終的にトランザクションを完了することができます。 外部の代理監視ツールは、ユーザーの動作をスクリプト化し、それらのクリティカル パスを記録および監視するのに適していますが、残念ながらセッション中に実際のユーザーがすべての変数やアクションを考慮に入れることはできません。 APM スタック トレース ツールは、通常、アプリケーションのバックエンド インフラストラクチャに関連付けられているため、実際のユーザーが直面している予期せぬ問題を診断し修復するために必要なすべての情報を提供するのに適しています。
結論
合成監視ツールが何を実行できるか、および APM スタック トレース ツールが解決できる問題について、全体的なアイデアを得たので、監視戦略で使用するツールといつ使用するかを選択できます。 要約すると、 合成モニタリング を使用すると、実際の問題を予測し、ユーザーに影響を与える前にプロアクティブに解決できます。 ただし、APM スタック トレース ツールは、コード レベルの問題を監視およびトレースして、バックエンド インフラストラクチャを改善および最適化するうえで役立ちます。 これらのツールには、それぞれ明確な利点と利点があります。 全体的なユーザー エクスペリエンスに関心がある場合は、両方のツールを最大限に活用する戦略を実装することをお勧めします。 両方のツールを活用すると、アプリケーションの全体的なエクスペリエンスが向上し、速度、可用性、パフォーマンス、収益の増加が向上します。
完全な Dotcom-Monitor プラットフォームを無料でお試しください。