API(アプリケーション プログラミング インターフェース)は、最新のテクノロジーとビジネス インフラストラクチャの構成要素です。最も基本的なレベルでは、API は 2 つのアプリケーションが相互に通信できるようにするソフトウェアです。API は、アプリをアプリ、アプリをサーバー、アプリとサーバーをコンシューマに接続します。最新のテクノロジーとビジネス環境においてアプリ、ソフトウェア、クラウドが普及しているため、企業が使用し、管理する API の数は急増しています。
API の設計、開発、テスト、デプロイ、ガバナンス、セキュリティ、モニタリング、収益化は、ソフトウェア開発ライフサイクル(SDLC)の重要な一部であり、テクノロジー エコシステムの大きな部分を占める、成長を続ける分野となっています。API 管理は、API(および API コンシューマ)のライフサイクルのすべてのステージをサポートするソフトウェアとプロセスのセットです。
API 管理の詳細については、Google Cloud の API 管理プラットフォーム Apigee をご覧ください。
API 管理とは、組織向けの API を開発、設計、モニタリング、テスト、保護、分析するプロセスです。API 管理プラットフォームは、この機能を備えた堅牢なソフトウェアとプロセスのセットを、オンプレミス、クラウド、またはハイブリッド環境でホストします。
API 管理を利用することで、組織は公開 API と非公開 API の両方が利用可能かつスケーラブルになります。フルライフサイクルの API 管理プラットフォームには、デベロッパーが API を簡単に検出して使用できる機能があるだけでなく、組織がアクセスの制御、使用状況の分析、API のセキュリティ ポリシーとガバナンス ポリシーを適用できるというメリットがあります。
実際には、API 管理プラットフォームは企業の API エコシステム全体を管理し、API のライフサイクルを最初から最後まで管理します。
すべての機能を備えた API 管理プラットフォームには通常、次のツールが含まれます。
デベロッパー ポータル: デベロッパーがクライアント アプリで API を使用するために必要な情報と認証情報を確認できるサイト。デベロッパー ポータルでは、インタラクティブなドキュメント、デベロッパー向けの分析情報、収益化情報、アプリの承認状況など、デベロッパー向けのツールやサービスを提供しています。
設計と開発: API プロダクトを設計、ビルドし、既存のシステムで API を使用できるようにするためのデベロッパー エクスペリエンスとツールセット。
テスト: モックテスト、機能テスト、API のパフォーマンス テストおよびセキュリティ テストなど、幅広いテストが可能です。
API ゲートウェイ: API ゲートウェイは、実行時に API 呼び出しのメディエーションと適用を行います。
分析とモニタリング: 使用状況の推移などの運用指標により、デベロッパーは API のデプロイと信頼性の向上を加速できます。収益化とビジネス指標(特定の API から得られた収益など)により、組織は API エコシステムのビジネス状態を測定できます。
ポリシー管理: ポリシーでは、API のオペレーション(データのキャッシュ頻度、プロトコルの変換方法、使用割り当てなど)を定義します。これらのポリシーの管理は、API の維持管理の重要な側面です。
セキュリティとガバナンス: API では、認可、認証、不正行為の防止、ID とクライアントおよびデベロッパーの認証情報の接続について、一貫した標準が必要です。
API の最も強力なユースケースの 1 つとして、API をデベロッパー向けプロダクトにすることもできます。API は、ユーザーのフィードバックに基づいて、確立されたセキュリティ保護、パフォーマンスの継続的な最適化、新しいバージョンの反復処理など、他のソフトウェア プロダクトと同様に管理する必要があります。API 管理プラットフォーム内のツールにより、組織は API を使用する際に、デベロッパーに質の高いエクスペリエンスと最適なユーティリティを提供できます。
API 管理プラットフォームには、他にも次のような利点があります。
多層セキュリティとプライバシー
API 管理ツールを使用すると、多くの場合、Identity and Access Management 機能が含まれ、暗号鍵の管理やガバナンス ポリシーの構成に役立つため、API の保護が容易になります。
API 異常を容易に検出
API 管理プロダクトは、AI を活用した自動化を利用しています。これにより、トラフィック パターンの予測と、リアルタイムでの異常の検知と対処が容易になります。
世界中を網羅
API カタログをクラウドでホストして、内部、外部、またはその両方のデベロッパーのグローバル オーディエンスにアプローチできます。
パフォーマンスと信頼性
API 管理プラットフォームをコンテンツ配信ネットワーク(CDN)など、クラウドの他の側面に接続して、世界中でパフォーマンスと信頼性を向上させることができます。
レガシー アプリケーションを活用
既存のサービスの上に抽象化レイヤとして API 管理プラットフォームを使用した新しいエクスペリエンスとサービスを提供します。また、ハイブリッド API アーキテクチャを介して、従来のテクノロジーを新しいクラウドネイティブ システムとプロダクトに簡単に接続できます。
新しいビジネス チャネルの作成
貴重なデータとサービスを API としてデベロッパーに提供することで、収益化できます。
API モニタリング ツールは、API のパフォーマンスに関するデータを収集および分析するために使用されます。API モニタリング ツールを使用すると、単一の API、API プラットフォーム、さらには API エコシステム全体のパフォーマンスと使用状況の指標を完全に評価できます。これらにより、デベロッパー、API プロダクト マネージャー、ビジネス関係者に情報が提供され、最大限のアジリティとパフォーマンスの最適化が実現されます。
分析情報は、デベロッパー エンゲージメント、利用者の位置情報、エラー、レイテンシ、パフォーマンスなど、API プログラムのあらゆる側面に関するエンドツーエンドのレポートに役立ちます。具体的には、分析により、詳細な可視性とレポートが提供されるため、プロジェクト マネージャーは API プログラムの導入とパフォーマンスを最適化できます。API モニタリングは、ユーザーが API を常にシームレスに使用できるようにするために、API が利用可能で、想定どおりに機能するか確認します。すべての機能を備えた API 管理プラットフォームには、次の機能を実行するための API モニタリング ツールが含まれている必要があります。
トラフィック分析
さまざまな地理的領域でトラフィック全体を分析して、トラフィックと使用状況の指標(API レスポンスの成功率、一般的なエラーコード、1 秒あたりのトランザクション数など)を確認します。
トラフィック分析ツールは、トラフィックのソースを識別し、トラフィックを生成しているアプリケーションを特定できます。たとえば、トラフィックの発生元が bot、ブラウザ、ライブラリのどれであるか、トラフィックの発生元となっているデバイスは何であるかを特定します。
API トレースとオブザーバビリティ
API 管理プラットフォームで実行されている API プロキシのトラブルシューティングとモニタリングをサポートします。API トレースにより、API プロキシフローの各ステップの詳細を調べることができ、またオブザーバビリティにより、デベロッパーはリアルタイムで実行される各ステップのレイテンシ、パフォーマンス、実行を把握できます。
パフォーマンスの分析
パフォーマンス分析ツールを使用すると、API プロキシとターゲットのレイテンシを判別しながら、地理的な隔たりを越えて、API レスポンス時間、ターゲット レスポンス時間、エラー数を測定できます。API パフォーマンス モニタリングでは、プロキシとターゲットの間でエラーコードとエラー構成を分析します。
可用性とパフォーマンスのモニタリング
API モニタリング ツールは、バリュー チェーン全体での API の可用性とパフォーマンスを詳細に追跡します。モニタリング ツールは、デベロッパー アプリケーション、プロキシレイヤ、またはバックエンド ターゲットのいずれであっても、エラーの発生時にアラートを生成し、エラーの原因を特定することで解決時間を短縮できます。
Developer engagement
API モニタリング ツールを使用して、デベロッパーが API をどのように利用しているかを分析することもできます。たとえば、どのデベロッパーが最も多くの API トラフィックを生成しているか、API をどのように使用しているか、デベロッパー ポータルにあるドキュメントを読んでいるか、などを分析します。
セキュリティの状況
API 管理プラットフォームの主な機能の一つは、不正な行為者から API とデータを保護することです。そのため、API モニタリング ツールは、リスク、悪意のある動作、API エコシステム全体のセキュリティの状況を常にスキャンしています。
セキュリティ モニタリング ツールは、API がビジネスのセキュリティ ポリシーとコンプライアンス要件を遵守していることを確認するため、API の構成を確認する必要があります。また、トラフィック パターンの異常の識別、安全なトラフィックと潜在的な脅威の区別、デベロッパー情報、トレース セッション、API キーなどの機密データへのアクセスとエクスポートを行うユーザーを把握できる必要があります。