IPMを極める:デジタル・レジリエンスのためのAPI監視
APIのパフォーマンスとレジリエンスを監視することの重要性
2024年5月8日
翻訳: 島田 麻里子
この記事は米Catchpoint Systems社のブログ記事「Mastering IPM: API Monitoring for Digital Resilience」の翻訳です。
Spelldataは、Catchpointの日本代理店です。
この記事は、Catchpoint Systemsの許可を得て、翻訳しています。
API(アプリケーション・プログラミング・インターフェース)は、現代ビジネスのバックボーンとして静かに進化してきました。
例えば、オンラインでお気に入りのテイクアウトを注文し、支払いボタンをタップしたとします。
APIを通じて、あなたの支払い情報は素早くデジタルの世界を駆け巡り、クレジットカードの残高調整に反映されます。
ライドシェアアプリからeコマースプラットフォームまで、APIはテクノロジーとの関わり方に革命をもたらすデジタルトランスフォーメーションの原動力となっています。
しかし、現在のAPIを多用したアーキテクチャのアプローチは、複雑なマルチステップトランザクションとサードパーティのAPI統合に依存する結果となり、システムをより複雑で相互接続性の高いものにしています。
IPMベストプラクティスシリーズの今回は、レジリエンスを確保し、ユーザの満足度を高めるために、組織がAPIを効果的に監視する方法を探ります。
APIトランザクションの隠されたレイヤー
この図は、典型的なオンライン・スニーカー購入の基本ステップを表しています。
買い物客には見えていませんが、バックグランドで起こっているすべてのことが、この取引を非常に簡単なものに見せています。
買い物客がUIに出会う前から、DNSから始まり、サーバからコンテンツを取得するまでの一連のステップが開始されます。
APIは、UIと相互作用しながら、フロントエンドとターゲットとなるサービスとのギャップを埋め、中心的な役割を果たします。
靴の検索を開始すると、検索サービスが起動し、スニーカーの在庫があるかどうかデータベースをチェックします。
同時に、在庫サービスのリクエストは、色、サイズ、価格などの追加情報を提供します。
現代の消費者は、瞬きする間にこれらすべてが起こることを期待しているのです。
しかし、何か問題が起きたらどうなるのでしょうか?
APIが失敗したとき
コンテキストやアプリケーションの性質にもよりますが、APIの障害は、機能の中断、データの不正確さ、機能の喪失、アップデートの遅延、セキュリティの懸念など、ユーザにいくつかの壊滅的な影響を与える可能性があります。
Eコマースサイトのサードパーティ製検索ウィジェットに障害が発生した場合、顧客はストアを閲覧することができません。
そのため、最初からユーザ体験が著しく損なわれ、不満を抱いた顧客が購入を断念し、競合サイトを利用してしまう可能性が高くなります。
APIコールがデータの取得や更新を担っている場合、応答しないAPIコールは、ユーザに表示される情報が古くなったり、不正確になったりする可能性があります。
ライドシェアアプリで、郵便番号の検索が反応しなくなった場合の潜在的な影響を考えてみてください。
怒れる顧客、カスタマーサポートへの負荷、SNSでの憤慨…。
決済ゲートウェイに接続するAPIに障害が発生すると、セキュリティへの影響はもちろん、顧客と収益の両方を失うことになります。
APIはビジネスクリティカルな情報を運ぶため、データの整合性の喪失やセキュリティの脆弱性は重大な懸念事項となり、組織はサイバー攻撃やデータ侵害の影響を受けやすくなります。
注目されるAPIレジリエンス
APIの問題に迅速に対処できなければ、ビジネスの継続性と全体的な成功に深刻な影響を及ぼしかねません。
従って、APIを監視し、その応答性を確保することは、APIをインフラに統合しようとしている企業にとって重要な検討事項となります。
課題は、APIがサードパーティの依存関係、動的なアーキテクチャ、およびマイクロサービスのメッシュの複雑な網の中で機能することであり、これらはしばしば従来の監視ツールの能力を超えています。
GraphQL APIの採用の増加は、この課題をさらに増幅させています。
GraphQLの中核となる柔軟性は、クライアントが特定のフィールドやネストされたデータ構造をリクエストすることを可能にします。
この適応性は有益ですが、受信リクエストの正確な形式とサイズの予測を複雑にする可能性があります。
API監視の基本ガイド
パフォーマンスの高いAPIを確保するため、企業はAPIライフサイクルにAPI監視フェーズを設け、パフォーマンスを向上させる必要があります。
一貫した監視は、すべてのアプリケーションとサービスにおいて、稼働時間を高く、障害率を低く保つのに役立ちます。
以下に、必要不可欠なAPI監視のベストプラクティスをいくつか紹介しましょう。
- 1. APIの可用性を超えて、機能的な稼働時間を検証する
- APIの可用性を監視することは非常に重要ですが、データ交換を伴うAPIトランザクションには十分ではありません。
作成、読み取り、更新、削除(CRUD)サービスのような様々な機能を、APIを介して公開されるすべてのアプリケーションリソースに対してテストし、動作可能であることを確認する必要があります。
マルチステップAPIモニターで合成監視ツールを使用することは、データの信頼性でAPIの可用性を向上させる一つの方法です。
ただ覚えておいてほしいのは、合成監視は事前に定義されたAPIコールのセットのみを使用するということです。
そのため、実際のトラフィックは合成監視の入力とは異なる可能性があります。 - 2. APIの依存関係を考慮する
- APIは単独で動作するものではなく、より大きなエコシステムの相互接続されたコンポーネントです。
あなたのアプリケーションのAPIは、他の内部または外部のAPIに依存している可能性が高く、これらの依存関係が中断されると、あなたのサービスに影響を与える可能性があります。
自社のAPIだけでなく、アプリケーションが依存しているサードパーティのAPIも、それらが独自の監視戦略を持っているかどうかに関わらず、監視することが極めて重要です。 - 3. API監視に自動テストを導入する
- CI/CDとDevOpsのアプローチは、継続的で自動化されたテストを促進します。
CI/CDパイプラインの各フェーズをカバーし、頻繁なチェックを含む堅牢なAPI監視戦略を確立することで、コードリリースサイクルを通じてAPIのパフォーマンスを大幅に向上させることができます。 - 4. プロアクティブなアラート機能を備えたツールを選択する
- メトリックの可視化のみを提供するツールでは、APIの問題を検出して対処するために継続的な手動監視が必要となります。
従って、堅牢なアラート機能を備えたAPI監視ツールを選択することが、効率的なエラー処理には不可欠なのです。
CatchpointでAPIの耐障害性を強化
APIのパフォーマンスと耐障害性に関しては、大きな賭けになります。
従来の監視では、デジタル体験の背後にある複雑なサービスに対応できません。
Catchpointは、従来のAPMを超えるインターネット・パフォーマンス・モニタリング(IPM)アプローチで、ビジネスクリティカルなAPIの回復力を確保するお手伝いをします。
エンドツーエンドのトレース機能によって強化されたCatchpointのIPMプラットフォームは、分散型アプリケーションの真のエンドツーエンドの管理と可視性を提供し、ユーザ体験からバックエンドまでを網羅します。
APIインシデントをプロアクティブに管理するように設計されたツールにより、チームはエンドユーザへの影響を軽減、さらには回避し、全体的なサービスデリバリーを強化することができます。
IPMベストプラクティス・シリーズの最終回となる次回のブログでは、カスタム・ダッシュボードを使ったデータ・マスタリーについてご紹介します。
インターネットの健全性とトレンドを包括的に把握するために、高度なAIツールと統合技術を使って生データを実用的な洞察に変換する方法を学びましょう。