即将推出 | API7 DevPortal - 将API管理效率提升至新高度

Chao Zhang

Chao Zhang

March 10, 2023

Products

今日のコンピュータの世界では、人々はソフトウェアアプリケーション間で情報を交換する手段としてAPIを使用することに慣れています。スマートフォンで天気予報を確認したり、WeChatのモーメントを閲覧したり、ChatGPTと対話したりするなど、これらのすべてのアクションはAPIによって可能になっています。APIは、あなた(またはあなたのソフトウェア)がターゲットのソフトウェアサービスとどのようにやり取りできるかを定義する一連の通信規約です。

APIの全ライフサイクル管理

企業が成長するにつれて、利用するAPIの数は急速に増加します。これらのAPIを適切に管理しないと、人員間のコラボレーションコストの増加、サービスの不安定性、セキュリティの脆弱性など、多くの問題が発生する可能性があります。これらの懸念に対処するために、APIの全ライフサイクル管理の概念が開発され、API管理に対する包括的なアプローチを提供しています。

APIのライフサイクルは、設計から廃止までの異なる段階に分けることができ、通常は計画と設計、実装、管理の3つの段階で構成されます。

計画と設計

エンジニアとして、私たちは常にコードを書く前にソリューションを設計することの重要性を強調しますが、APIも例外ではありません。ビジネス要件に基づいてAPIの目的を定義し、ビジネス言語を技術用語に変換し、関連する技術スタックを使用する必要があります。

通常、APIの計画と設計はドキュメンテーションを中心に行われます。例えば、RESTful APIを設計する場合、APIドキュメントには以下の情報が含まれるべきです:

  • APIの機能説明
  • APIに対応するURL
  • HTTPリクエストメソッド
  • リクエストパラメータ、リクエストボディ、リクエストヘッダーの説明(および制約)
  • 可能性のあるレスポンスステータスコードとレスポンスボディの説明

明確で包括的なAPIドキュメントを作成する方法について多くの研究が行われており、現在ではOpenAPI Specification V3を使用するのが一般的です。

現実の世界では、APIの計画と設計はしばしば複数の個人間のコラボレーションを必要とします。このニーズに対応するため、市場にはPostmanなど、APIの計画と設計に特化した多くのプラットフォームが登場しています。これらのツールは、ユーザーが視覚的にAPIを設計できるようにし、コラボレーション機能(ほとんどが有料版)を提供します。また、特定の形式でAPIをインポートおよびエクスポートして移行することも可能です。

実装

APIの設計が完了したら、エンジニアは開発を開始できます。彼らは、自分が得意とする技術スタックや組織が要求する技術スタックを選択してAPIを実装するかもしれません。開発中、エンジニアはエンドツーエンドのテストを追加したり、QAチームにテストを依頼したりしてAPIをテストすることもできます。実装が完了したら、エンジニアはAPIのデプロイ準備を進めることができます。

管理段階

前の段階と比較して、APIの管理段階はより複雑で、デプロイ、監視、デバッグ、セキュリティ強化などが含まれます。ここでAPIゲートウェイが重要な役割を果たします。デプロイ後にサービスインスタンスを直接公開することは、安全でもスケーラブルでもありません。

代わりに、APIゲートウェイはプロキシとして機能し、APIリクエストを実際のサービスに転送します。APIゲートウェイを使用すると、レートリミットなどのポリシーを設定してAPIサービスの過負荷を防ぎ、認証を設定して許可されたユーザーのみがアクセスできるようにし、API呼び出しの状態をリアルタイムで監視するための可観測性を確保できます。要約すると、APIゲートウェイは、APIのセキュリティ、スケーラビリティ、パフォーマンスを管理する上で不可欠なコンポーネントです。

API Full Lifecycle Management

確かに、APIは静的ではなく、エンジニアはその機能を常に反復し、発生する欠陥に対処する必要があります。そのため、APIは通常、計画と設計、実装、管理の各段階を行き来し、完全に廃止される前に何度も繰り返されます。この循環プロセスにより、APIはそのライフサイクル全体を通じて最新かつ効果的であることが保証されます。

APIの消費

APIの全ライフサイクル管理は、APIプロデューサー(つまり、API開発者と保守者)の観点からAPIの管理を簡素化します。しかし、APIの消費、つまり外部の開発者(同じ会社内の異なるチームからの場合もある)がAPIを簡単に統合できるようにする方法については対処していません。外部の開発者があなたのAPIを呼び出すことができるようにするためには、いくつかの問題を解決する必要があります:

  • 最初に解決すべき問題は、外部の開発者がAPI情報にアクセスできるようにする方法です。これには、APIアクセスアドレス、説明、パラメータの制約、使用例などが含まれます。このような詳細な情報は、外部の開発者がAPIを理解し、効果的に使用するために不可欠です。
  • 2番目の問題は、APIの保護に関するものです。これはAPIプロデューサーにとって非常に重要です。許可された開発者のみが有効なAPI資格情報を使用してAPIにアクセスし、使用できるようにすることが不可欠です。
  • 最後に、コミュニケーションとコラボレーションのコストを削減するために、APIの消費はできるだけセルフサービスであるべきです。

これらの問題を解決し、APIの消費を最適化するために、開発者ポータルの概念が導入されました。

開発者ポータル

開発者ポータルは、外部の開発者がAPIを発見し、アクセスし、詳細なドキュメントを確認し、APIをテストし、有効なAPI資格情報を取得できるようにします。これは外部の開発者向けのセルフサービスプラットフォームとして機能し、APIに効率的にアクセスできるようにし、APIプロデューサーの負担を軽減します。

開発者ポータルは通常、管理サイトと開発者サイトの2つのサイトで構成されます。管理サイトはAPIプロデューサー(以下、管理者と呼ぶ)が使用し、開発者サイトはAPI消費者(以下、開発者と呼ぶ)が使用します。

開発者ポータルの管理サイトは、管理者がAPIのリリースと廃止を効果的に管理する上で重要な役割を果たします。リリースされたAPIのみが開発者サイトに表示されます。管理者はまた、QPS制限や認証要件などのポリシーを適用して、APIが保護されるようにすることもできます。さらに、管理者は開発者サイトからのリクエストを確認できます。これには、開発者アカウントの登録や特定のAPIのサブスクリプションリクエストが含まれます。一部の開発者ポータル製品では、管理者が開発者サイトの外観をカスタマイズするオプションも提供しています。例えば、ロゴを置き換えたり、スローガンを変更したりすることができます。

開発者サイトはAPI消費者向けに設計されています。ここでは、開発者は管理者が公開したすべてのAPIを表示し、その詳細情報を確認し、APIのサブスクリプションを申請できます。サブスクライブしたAPIのアクセス資格情報を作成し、APIドキュメントを参照してそれらを統合する方法を学ぶことができます。

一部の開発者ポータルはAPI呼び出し分析を統合しており、管理サイトで開発者の視点から特定のAPIの呼び出し回数とレイテンシを表示します。このデータは、APIの将来の反復と最適化のための意思決定の基礎として役立ち、そのパフォーマンスを向上させるのに役立ちます。

APIエコシステムが進化し続ける中で、APIの収益化の概念がますます注目されています。開発者ポータルは、APIの収益化のための貴重なツールとなっています。管理者はAPIに対して複数のサブスクリプションプランを作成し、異なるクォータやAPI呼び出し回数に基づいて異なる料金を請求することができます。

今後のAPI7 DevPortal

API7.aiは、ユーザーに比類のないAPI管理サービスを提供することに尽力しています。私たちは、最新の製品であるAPI7 DevPortalを発表できることを嬉しく思います。これは、Apache APISIXに基づいて構築されたエンタープライズレベルのAPIゲートウェイソリューションである**API7 Enterprise**とシームレスに統合する包括的な開発者ポータル製品です。

API7 DevPortalは、APIのサブスクリプションや開発者登録の承認などの機能を提供し、顧客のニーズに対応するように設計されています。私たちの開発者ポータルを使用することで、顧客はゲートウェイプロキシされたAPIを簡単に公開し、開発者サイトでAPIに関する詳細情報を開発者に提供できます。

API7 DevPortal

さらに、ワークフローを合理化して生産性を向上させ、収益成長を促進することの重要性を理解しています。そのため、API7 DevPortalは今後2つの重要な反復を経る予定です。

  • まず、クライアントの承認ワークフローと統合します。一部のクライアントは、さまざまな承認操作を管理するための統一された承認プラットフォームを持っています。私たちは、クライアントが既存の承認習慣を変更せずにAPI7 DevPortalを使用できるようにすることを目指しています。
  • 次に、APIの収益化をサポートし、クライアントが開発者に異なるレベルのサブスクリプションサービスを提供し、料金収集をサポートできるようにします。私たちはまもなくAPI7 DevPortalを市場にリリースする予定です。

この製品に興味がある場合は、こちらをクリックしてお問い合わせください。

まとめ

開発者ポータルは、APIの消費を管理する上で重要な役割を果たし、APIプロデューサーがセキュリティを損なうことなくAPI統合の問題を効果的に解決し、収益化を促進できるようにします。今日のAPI駆動の世界では、チームのAPI管理戦略に開発者ポータルを導入することを検討することが不可欠です。

Tags: