APIエコシステムとは

枝が絡み合った植物

APIエコシステムの説明

APIエコシステムとは、相互接続されたアプリケーション・プログラミング・インターフェース(API)のネットワークと、それに関連するすべての要素を指します。これらの要素には、APIを構築・デプロイするチーム、APIを使用する開発者、データ交換のためにAPIに依存するアプリケーション、データベース、プラットフォーム、開発者ポータル、安全で価値のある統合を促進するセキュリティーガバナンス構造などが含まれる。

APIエコシステムに注目することは、組織のデジタル・トランスフォーメーションの一環としても、APIストラテジーやAPIファーストのビジネス・モデルを形成する上でも有効です。単にAPI自体ではなく、APIエコシステムを中心に据えて構築することで、組織は開発者と顧客体験の向上、APIの無秩序な増加を抑制、ITセキュリティーを強化、アプリケーション開発効率の向上など、戦略的およびビジネス上のメリットを生み出すことができます。

APIエコシステムの主要なコンポーネント

APIエコシステムの主要コンポーネントは、一般的に、テクノロジー(APIと関連するインフラストラクチャー)、人(プロバイダー、コンシューマー、コミュニティー)、ガバナンス(標準、ポリシー、サポート・システム、資産)の3つの主要カテゴリーに分類できます。

テクノロジー:APIとそれを支えるインフラストラクチャー

APIエコシステムの技術インフラストラクチャーにはいくつかの異なるコンポーネントがあり、それらがクモの網のようにさまざまな方法で接続されています。API自体は、Webの各部分を接続する放射状のスレッドであり、API Gateway、データベース、アプリケーション、サービス、その他のインフラストラクチャーは、Webの交差点、ハブ、フレームを形成します。

API

APIとは、ソフトウェア・プログラムが相互に通信してデータ、主要な機能、および特徴を交換できるようにする一連のルールまたはプロトコルです。APIを使用すると、アプリケーション所有者は、データとサービスを社内外のコンシューマーに簡単かつ安全に利用できるようにできます。

APIは今日、Enterpriseユーザーにとってますます重要になっています。企業は平均して 600以上のエンドポイントを本番環境で保有しており、決済処理会社、Eメールデータ強化会社、金融サービス会社など、ビジネス全体がAPIとして始まりました。

APIゲートウェイ

API Gatewayは、クライアント(Webアプリケーションやモバイル・アプリケーションなど)が複数のバックエンド・サービスにアクセスするための単一のエントリー・ポイントを提供し、同時にクライアントとサーバーのやり取りを管理するソフトウェア・レイヤーです。

API Gatewayは、APIリクエストとも呼ばれるAPI呼び出しを受信し、リクエストの性質に応じて1つ以上のバックエンド・サービスにルーティングします。ゲートウェイはリクエストされたデータをコンパイルし、1つの応答でクライアントに返します。ゲートウェイを使用すると、クライアントは複数の呼び出しで複数のエンドポイントをクエリーする必要がなく、1回のコールで複数の参考情報をクエリーできます。

たとえば、医療システムのサービスをOrchestrate® するAPI Gatewayによって、ユーザー向けアプリケーションが1回のAPI呼び出しで、患者の医療記録、支払い履歴、現在のスケジュールなど、複数の参考情報からデータを取得できるようになります。

API Gatewayは、次のような他のクリティカルなタスクも集中化します。

  • ロード・バランシングトラフィックを分散して、単一のサーバーの過負荷を防止する。

  • レート制限: 分散型サービス妨害(DDoS攻撃)など、過剰なトラフィックによってセキュリティ・プロトコルを圧倒する特定のタイプの攻撃のリスクを低減するために、ユーザーごとのリクエスト数を制限する。

  • 認証: OAuth(Open Authorization)などの検証方法とプロトコルを使用してアクセストークンを割り当て、一時的かつ特定のアクセスを可能にする。

データベース

データベースはAPIエコシステムの不可欠な部分であり、アプリケーションが機能するために必要な未加工データを保管します。APIは仲介役として機能するため、アプリケーションは安定かつ安全な方法でデータベースと対話できるようになります。APIは、アプリケーションがデータベースに対して作成、読み取り、更新、削除(CRUD)などのオペレーションを実行できるようにするインターフェースを提供します。

APIはアクセスを認証および検証することでセキュリティー層も提供し、許可されたクライアントのみが参考情報にアクセスできるようにします。また、APIはシステムに相互運用性をもたらし、異なるプログラミング言語で記述されたアプリケーションや、異なるプラットフォームで構築されたアプリケーションが同じデータベースにアクセスできるようにします。

アプリケーションとサービス

アプリケーションは、APIエコシステム全体の技術的なフロントエンドです。デジタルか人間かを問わずユーザーが操作するのは、モバイル・アプリケーション 、Webアプリ、デスクトップ・ソフトウェアなどのアプリケーションです(API自体ではなく)。

アプリケーション内で、ユーザーは、アプリケーションがアクションを完了するためにデータまたはサービスの外部ソースにアクセスすることを必要とするアクションを選択する場合があります。この交換はAPIを通じて完了します。API呼び出しまたはクエリーと呼ばれることが多いリクエストがAPIに送信され、リクエストされた参考情報を担当するバックエンド・サービスに要求がルーティングされます。要求されたデータは、APIを通じてクライアントに返されます。

マイクロサービス

マイクロサービス(マイクロサービス・アーキテクチャー)は、アプリケーションを個別に構築・運用できるさまざまな独立したサービスに分解するアプリケーション・アプローチです。マイクロサービスは「小さなサービス」ではなく、多くのサービスを1つのアプリケーションに統合するアーキテクチャー・アプローチです。マイクロサービスは柔軟性の点で役に立ち、サービスを独立して拡張したり再利用したりすることができます。

これらのサービスはすべて連携して動作し、多くの場合、APIまたはサービス・メッシュを介して通信します。APIはマイクロサービスを外部のアプリケーションやシステムに接続するためにも使用され、相互運用性とシームレスな統合を可能にします。

多くの場合、API Gatewayはこれらのサービスの前で使用され、入力されたAPIリクエストをフィールド化し、適切なサービス(または複数のサービス)にルーティングし、1つの包括的なレスポンスでクライアントに応答を返します。

CI/CDパイプライン

継続的統合/継続的デリバリー(CI/CD)パイプラインは、エコシステムの一部です。これらのパイプラインは、APIの開発、デプロイ、更新によく使用されるためです。

CI/CDパイプラインは、コードの作成、統合、テスト、デプロイのプロセスを自動化するワークフローです。開発者は独自にコードを記述し、Gitなどのツールを使用して変更を追跡でき、コードはテストおよび検証のためにパイプラインを自動的に動きます。検証されたコードは、テスト環境またはGitHubなどのリポジトリに統合されます。CI/CDパイプラインは、APIまたはソフトウェア開発の時間を短縮し、コストを削減し、エラーを早期に検知し、チームのコラボレーションを向上させる方法です。

CI/CDパイプラインはエンド・ユーザーには見えません。これは、コードを開発からデプロイメントに動きさせ、定期的な更新を通じてソフトウェアとAPIを継続的に改善するために使用される一般的な方法論です。

開発者ポータル

開発者ポータルは、開発者がAPIを理解、使用、統合、最適化するために必要なすべてのものを含むハブです。これは、APIエコシステム全体の基本的な部分です。開発者ポータルには通常、次のほとんどまたはすべてが含まれています。

  • APIドキュメンテーション:すべてのAPIエンドポイント、HTTP メソッドとリクエストパラメータ、エラーコード、リクエストとレスポンスの例、認証情報、およびAPIに関するその他の情報のリポジトリーです。

  • ガイドとチュートリアル:学習開始に役立つドキュメンテーションのセレクション。多くの場合、例やベスト・プラクティスなどが含まれています。

  • インタラクティブ・ツール:開発者がコードを書くことなくAPIを試すためのプレイグラウンドまたはサンドボックスです。

  • アナリティクス:開発者向けのダッシュボードで、コール量、レスポンスタイム、レート制限、使用クォータ、その他のメトリクスを含むAPIの使用状況を追跡できます。

  • サポート:FAQ、変更ログ、ホワイト・ペーパー、Webセミナー、リリース・ノート、連絡先情報などの有用な文書のセレクションです。
API管理プラットフォーム

API管理プラットフォームは、外部向けの開発者ポータルの内部向けバージョンのようなものです。API Managementシステムは、APIライフサイクル全体にわたるデプロイと解除、トラフィックの管理、エラーの追跡、セキュリティとガバナンスポリシーの適用、そして多くの場合、請求とサブスクリプションの管理のためのツールを使用して、API監視を担当するチームを制御します。

人々:プロバイダー、コンシューマー、コミュニティー

APIエコシステムの人的要素は、次の3つのグループに分類することもできます。

プロバイダー

APIプロバイダーは、エコシステムの中核となるAPIの作成と公開を担当する人々およびチームです。それらには以下のようなものが含まれることがあります。

  • 開発者は、フレームワークの選択、コードの記述、APIエンドポイントの作成、構成、構築、バグの発見と修復などの作業を行います。

  • API開発チームを率いるプロダクトマネージャーは、「これは誰のためのものか?」「これは何をするべきか?」「これは既存のIT環境にどのように適合するのか?」「どのような主要な機能が必要か?」といった重要な質問を投げかけ、それに答えます。APIプロダクト・マネージャーは多くの場合、パートナーシップを管理し、開発者やその他の利害関係者間の連絡役として活動します。

  • 継続的統合/継続的デリバリー(CI/CD)パイプラインの構築と自動化を支援するDevOpsエンジニアで、APIのデリバリー、テスト、最適化を合理化するために使用される自動化されたDevOpsワークフローです。

  • データ侵害やその他のセキュリティー脅威に対する保護を専門とするセキュリティー・エンジニア。APIはデータを公開するように設計されていますが、方法は限られているため、一般的な攻撃ベクトルとなります。APIセキュリティー・エンジニアは、APIと、それらが接続するアプリケーションおよびシステムの保護において重要な役割を果たします。

利用者

APIを使用してアプリケーションやシステムを統合し、新しい製品やサービスを構築する開発者です。API利用者はエコシステムの重要な部分です。結局のところ、APIがサービスを提供するのはこのコホートであるからです。

使用者は、内部、APIを提供するのと同じ組織の一部、アクセスが制限された外部、またはフルアクセス権の公開コンシューマーの場合があります。APIの設計とドキュメンテーションは、対象ユーザーによって異なる場合があります。

たとえば、プロバイダー組織が大規模なトラブルシューティングとサポートの必要性を軽減したいと考えている場合があるため、より自明のユーザー・エクスペリエンスはパブリックAPIにとって有益です。

コミュニティー

特にパブリックAPIの場合、コミュニティー(コンシューマーやその他の利害関係者で構成される幅広いグループ)が、APIエコシステム全体の重要な一部となり得ます。コミュニティーは通常、社内の開発者、オープンソースの寄稿者、愛好家、ビジネス・パートナー、およびデータやサービスにアクセスするためにAPIを使用するアプリケーションの日常的なユーザーで構成されます。コミュニティは、次の方法でAPIの改善と革新に貢献できます。

  • APIの新しいユースケースを作成または検知する

  • 監視、バグ、エラー、改善の機会の発見

  • Reddit、スタックOverflow、GitHubなどのプラットフォーム上でのサポートとドキュメンテーションのアドホックなシステムの構築

  • ベスト・プラクティスやその他の基準の定着と永続化をサポート

  • 他の開発者、ユーザー、顧客にAPIを宣伝

APIガバナンス

APIガバナンスとは、組織がAPIを開発、デプロイ、使用する方法を指示する基準、ポリシー、プラクティスを指します。APIガバナンスを構築する目標は、一貫性、信頼性、セキュリティー、効率性を促進することです。

APIガバナンスには、スタイル・ガイド、セキュリティー・ポリシー、命名規則、バージョニング・ストラテジー、品質基準、インシデントおよび災害対応ポリシーなどが含まれます。医療を含む多くの業種・業務では、ガバナンスにはHIPAA要件やその他の業種・業務または地域固有の規制など、法的コンプライアンスの決定も含まれます。

強力なAPIエコシステムのメリット

APIエコシステムが成功すると、企業と開発者の両方に次のような大きなメリットがもたらされます。

Enterpriseのメリット

  • イノベーションの迅速化:企業は既存のサービスを基盤に構築できるため、新製品の市場投入までの時間を短縮できます。

  • リーチの拡大:サードパーティーの開発者は、新しいプラットフォームやユーザーにエンタープライズ・サービスを紹介する統合を作成します。

  • APIスプロールの軽減:整理されたAPIライブラリーと付随するドキュメンテーションにより、チームは既存のサービスを見つけて使用することができ、冗長なサービスやAPIの作成を防ぐことができます。

  • ビジネス価値と収益化:APIは、使用料、プレミアム階層を通じて、またはコア製品の採用を促進することで、利益創出要因になり得ます。

  • セキュリティの向上:効果的なAPIエコシステムは、OAuthの使用など、APIセキュリティー標準とプロトコルの一貫した実施を維持します。強力なエコシステム管理は、シャドウAPIの作成を減らすのに役立ちます。シャドウAPIはITチームの考慮や認識なしに構築されたアドホックAPIです。

  • 競合他社とネットワークの影響:外部開発者によるエンタープライズAPIの統合は、切り替えコストを押し上げ、定着性とロックイン効果を生み出します。開発者がプラットフォーム上で構築するものが増えるほど、プラットフォームの価値は高まり、競合他社が乗り越えることが困難な自己強化サイクルが生まれます。

開発者のメリット

  • 複雑さの軽減:ドメインに関する深い専門知識がなくても、シンプルなインターフェースで高度な機能にアクセスできます。

  • 差別化の重視:コモディティー化されたインフラストラクチャーではなく、独自の主要な機能の作成に重点を置きます。

  • 構成可能性:さまざまなプロバイダーのサービスを活用して、新しい革新的なアプリケーションを作成します。

  • キャリアの柔軟性:人気のあるAPIを使用して、企業やプロジェクト間でスキルを移転します。
Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

関連ソリューション
IBM API Connect

あらゆる種類のアプリケーション・プログラミング・インターフェース(API)をシームレスに開発、管理、保護、ソーシャル化します。

API Connectの詳細はこちら
IBM統合ソリューション

統合プラットフォーム・ソフトウェアによるシームレスな接続と自動化を通じて、ビジネスを強化します。

統合ソリューションはこちら
クラウド・コンサルティング・サービス

エージェント型AIの時代に、ハイブリッドクラウドの可能性を最大限に解き放つ

クラウド・コンサルティングの詳細はこちら
次のステップ

IBM API Connectは、セキュリティーとガバナンスを強化しながら、最新のあらゆる種類のアプリケーション・プログラミング・インターフェース(API)をサポートします。生成AI(Gen AI)機能は手作業を自動化し、時間を節約し、品質を確保します。

  1. IBM API Connectの詳細
  2. IBMの統合ソリューションはこちら