大まかに言えば、API (アプリケーション プログラミング インターフェイス) は、特定のタスクを実行し、そのタスクを実行するために他のユーザーが使用できる一連のプロトコルを定義するコード モジュールです。しかし、今日の世界では、API は単なるツール以上のものになり、アプリケーションに簡単にドロップして個別のタスクを実行できるコードの経済が巨大かつ成長しています。効果的なAPI 管理戦略により、開発者のエクスペリエンスが向上し、ソフトウェアの品質が向上し、開発費用が削減され、システムの拡張性が可能になり、セキュリティ対策が強化されます。
組織が API を管理しており、収益化またはブランド認知戦略としてその API を一般に公開することを検討している場合、API が適切に管理されていることを確認することが重要です。組織外のユーザーは優れたエクスペリエンスを期待しているため、API を通じてそのエクスペリエンスを提供する準備ができている必要があります。
ここで、堅実なAPI 管理戦略が重要になります。効果的な API 管理戦略計画をまとめるには、主に 3 つの要素があります。1 つは効果的な API 管理の領域を特定する、API 管理ツールが必要かどうか、および使用するツールの種類を決定する、そしてそのツールを選択するというものです。
効果的な API 管理には、企業または外部ユーザーが利用する API のあらゆる側面を監督することが含まれます。これには、パフォーマンス、セキュリティ、認可、文書化、分析、アクセシビリティが含まれます。
ゲートウェイ / アクセスAPI ゲートウェイは、パブリック サービスとバックエンド サービスの間の層です。ここで、受信リクエストがインターセプトされ、API の適切な部分にルーティングされます。ユーザーの速度と一貫性を確保するには、キャッシュ、レート制限とスロットル、応答のバンドルを利用する必要があります。
パフォーマンスの目標可用性、速度、信頼性は、公開 API にとって重要な側面です。ユーザーに対して一定量の稼働時間を保証し、クラッシュやダウンタイムが発生した場合にユーザー データを保護して回復できる必要があります。 API の目標を特定します。
セキュリティ/認証の種類セキュリティは、サーバーを保護するだけでなく、クライアントの機密データを保護するためにも重要です。 API 戦略には、API キー、クライアント証明書、または OAuth 戦略によって保護される戦略が含まれている必要があります。 API が非公開データを提供する場合でも、API が処理するネットワーク リクエストはセキュリティで保護される必要があります。
認証/ポリシー管理認可後の認証とポリシー管理は、ユーザーの役割とチームのアクセスを確立し、アイデンティティと権限を管理するために重要です。これにより、どのユーザーが使用できるリソースが制限されるため、セキュリティが強化され、ユーザーの組織が改善されます。
開発者ポータル / ドキュメント直感的な開発者ポータルと優れたドキュメントも、優れた API 管理には不可欠です。開発者ポータルには、開発者がエンドポイントをテストできるサンドボックス、組織内で使用可能なすべての API の概要を説明する API カタログ、開始および一般的なタスクの実行に関するガイドを含む明確で検索可能なドキュメントが含まれている必要があります。
分析分析により、ユーザーが API をどのように使用しているかについて貴重な洞察が得られ、最も収益性の高い領域にリソースを集中させることができます。さらに、分析はユーザーにとって役立つことがよくあります。
API 管理ソリューションは、これらのタスクの 1 つ以上を処理できます。ソリューションは、プロキシ、エージェント、またはハイブリッド アプローチを通じて提供されます。
プロキシ プロキシ ソリューションは、API とそのユーザーの間に位置します。プロキシには、パフォーマンスを最適化し、突然のトラフィックの急増から API を保護するためのキャッシュなどの利点があります。ただし、プロキシを使用すると、コストが発生したり、プライバシーや遅延に関する懸念が生じたりする可能性があります。このようなプロキシ実装の例には、Apigee、Mashape、Mashery などがあります。
エージェントエージェントは、サーバーと並行してシームレスに動作するプラグインです。プロキシとは異なり、API 呼び出しを妨げません。したがって、ネットワーク遅延や外部依存が発生することはありません。ただし、キャッシュなどの機能の実装は困難な場合があります。このタイプの実装の例は 3scale です。
ハイブリッド両方の実装の利点を活かすには、エージェントとプロキシを組み合わせて使用することがあります。たとえば、認証目的でエージェントを使用しながら、キャッシュを処理するプロキシを選択できます。 Apigee や 3scale などの企業は、ハイブリッド ソリューションへの移行を進めています。
主要なAPI 管理ツールには次のようなものがあります。
どのソリューションが自社に適しているかを判断するには、予算、既存のリソース (つまり、これに取り組むために社内で利用できる人材)、ニーズ、および API の予想される規模を評価する必要があります。
API を内部で管理できますか? それとも外部のサポートを雇う必要がありますか?
それは完全にあなた次第です。 API 管理にチームを専任できるほど大きな組織がある場合は、自分で対応できる可能性があります。ただし、API 管理は複雑で専門的なタスクであるため、社内の他の分野ですでに過重労働を抱えているエンジニアに単純に負担を委ねるべきではありません。