10の最高のAPI管理ツール

現代のビジネスの世界は、ソフトウェアとAPIを駆使しています。パブリックであろうとプライベートであろうと、どんなアプリケーションでも、本当に役立つためには強力で便利なAPIが必要です。APIの構築と保守は大変な作業であるため、ソフトウェアのクラス全体がAPI管理の周りに出現したのも不思議ではありません。

ほとんどのAPI管理製品は、ルーティングとプロキシ、データとURLの変換、ダッシュボードと分析、ポリシーと制限、ドキュメントジェネレーターなどの開発者ツールなどの機能の共通のクラッチを提供します。ここでは、APIのフルサービススイートから特定のシナリオに焦点を当てたツールまで、すべてを提供する10の人気のあるAPI管理ツール(オープンソースプロジェクト、商用製品、クラウドサービス、およびそれらの組み合わせ)について説明します。

3スケール

もともとはクローズドソース製品でしたが、3scaleはRed Hatに買収され、約2年間の作業の後にオープンソースになりました。オープンソースプロジェクトはApacheライセンスの下で自由に使用できますが、RedHatは商業的にサポートされているSaaS実装を提供します。

3scaleの機能は、このまとめの他の製品と一致しています。APIのバージョン管理、アクセス制御とレート制限、セキュリティ制御、および分析があります。3scaleは、APIのドキュメントを作成するための開発者ポータルやCMSなどの開発者向けの機能も提供します。3scaleは、請求や支払いサービスとの統合など、APIを収益化するためのネイティブツールも提供します。

実稼働環境で3scaleを自分でインストールする場合は、OracleDatabaseとOpenShiftが必要になります。テスト用の最小限の3scaleインストールでも、シングルノードのOpenShiftクラスターであるMinishiftが必要であるため、できるだけ早く開始したい場合は、3scaleの無料の90日間試用版を使用することをお勧めします。

Proバージョンは、5,000の開発者アカウント、毎日500,000のAPI呼び出し、および最大3つのAPIで月額$ 750から始まります。エンタープライズバージョン(価格はお問い合わせください)は、これらの制限のほとんどを取り除きます。

大使

Ambassadorは、Kubernetesと連携するように構築されたオープンソースのAPI管理システムです。アンバサダーは、マイクロサービスのネットワーク抽象化を処理するEnvoyプロキシの上に実装されているため、手間のかかる作業のほとんどはEnvoyとKubernetesによって行われます。

Ambassadorの機能セットは、URLの書き換えとリクエストのルーティング、フィルタリング、認証とアクセス制御、レート制限とタイムアウト、ロギング、トラブルシューティング、可視化ツールとの統合など、他のほとんどのAPI管理ツールと一致しています。

ただし、Ambassadorの機能の大部分は、ランタイム管理と、Kubernetesおよびその他のKubernetesツール(Prometheusなど)との統合を中心に展開しています。アンバサダーは、APIの設計と宣言型構成を完全にユーザーに任せます。APIバージョン管理などの機能はネイティブではサポートされていません。あなたは自分でそのようなことを扱わなければなりません。そのため、Ambassadorは、一般的なAPI管理ソリューションとしてではなく、Kubernetesデプロイメントの一部としてAPIを操作するのに最適です。

アピマン

Apiman(以前の「JBossApiman」)は、Javaで構築されたRedHatオープンソースプロジェクトです。まだRedHatによって保守されていますが、API管理におけるRed Hatの活発な開発のほとんどは、3Scale製品に移行したようです。

Apimanは、APIの公開と管理、これらの機能への役割ベースのアクセスの提供、APIの使用に関するポリシーの設定、ランタイムと課金の指標の収集、これらすべての要素のトップダウンの組織構造の作成などの基本に集中しています。

Apimanは、セキュリティ、リソース(レート制限など)、データの変換、キャッシュ、ロギングに関するAPIのポリシーを設定できます。ポリシーはJSONを介して構成されているため、人間とマシンの両方が読み取りおよび編集できます。セキュリティポリシーはユーザーIDまたはロールによって適用でき、APIは大まかにまたは厳密に制御できます。URLにリビジョンIDが含まれ、その使用に関連するコントラクトがないAPIを公開できます。または、APIキーを要求して、それらのバージョン管理方法を綿密に管理することもできます。

基本を超えたほとんどすべてはあなたの責任です。たとえば、Apimanのプラグインは多数ありますが、それらは通常、コアプロジェクトメンテナによって提供されるApiman機能の小さな拡張になります。

DreamFactory

DreamFactory API管理プラットフォームは、PHPのLaravelフレームワークを使用して構築されています。DreamFactoryは、無料のオープンソースオファリングとして、またはさまざまなレベルの商用サポートで利用できます(価格は非公開です)。これは、すでにPHPに投資していて、オープンソースの実装を掘り下げたい開発者にとっては当然の選択です。DreamFactoryは、Node.jsおよびPythonとのサーバーサイドスクリプト統合も提供します。

DreamFactoryの「Datamesh」機能は、そのすべての化身ですぐに利用でき、さまざまなデータベース製品を含む複数の異種データベース呼び出しからの結果を組み合わせて、単一のAPI呼び出しとして結果を返すことができます。同様に、複数のデータベースにわたるテーブルの更新を1つのAPI呼び出しに組み合わせることができます。

DreamFactoryのドキュメントには、利用可能なすべてのサービスの単一の正規の検索可能なリストがありません。情報はカテゴリ別に整理されているため、手動でドリルダウンして何が利用できるかを確認する必要があります。利点として、ドキュメントには、単純なアプリケーションのセットアップやさまざまなデータソースへの接続など、特定のユースケース向けのハウツービデオが多数含まれています。

コング

Kongは、最もよく知られているAPI管理ツールの1つであり、元々はMashape(Kongに改名)が独自のAPIマーケットプレイス製品を強化するために作成したものです。Kongは、オープンソース版、または追加の管理、監視、開発者機能を備えたエンタープライズグレードの商用製品(価格は非公開)で利用できます。Enterprise Editionは、オンプレミスまたは選択したクラウドサービスで実行できます。オープンソース製品とエンタープライズ製品の両方のドキュメントは豊富で詳細です。

Kongは、Kubernetes統合用のIngressコントローラーと、Kongの機能を既存のサービス展開に「注入」できるようにするサービスメッシュを提供します。Enterprise Editionは、新しいAPIの作成を容易にし、新しい開発者がAPIコードベースに慣れることを目的とした開発者ポータルを提供します。

Kongは通常データベースを使用しますが、JSON / YAML構成ファイルとメモリ内ストレージを使用して、データベースレスモードで実行することもできます。これは、単一の最小ノードのみを実行しているが、最大のパフォーマンスが必要な場合に最適です。

KrakenD

Goで書かれたKrakenDは、必要不可欠なものだけを提供しますが、重要な機能として高性能を売り込んでいます。KrakenDは、Goに組み込まれているほとんどのアプリケーションの場合と同様に、単一の自己完結型バイナリとして提供されます。または、ソースからコンパイルすることも、独自のアプリケーションを構築する場合はGoライブラリとして使用することもできます。

KrakenDは、手動でロールまたはマシンで生成できる構成ファイルを使用します。レート制限、応答の操作、転送、エンドポイントデバッグ、プロトコルセキュリティ対策(クリックジャッキングに対する保護など)、プロキシ、スタブ、およびメモリ内応答キャッシングはすべて、すぐにサポートされます。

KrakenDインスタンスは、高可用性のためにクラスター化できます。これを行うために追加のソフトウェアは必要ありません。KrakenD自体だけです。追加の作業をあまり行わずに、Kubernetesクラスター全体にKrakenDをデプロイすることもできます。サードパーティのミドルウェアの品揃えは、KrakenDGitHubリポジトリから入手できます。

価格は開示されていませんが、コンサルティングやトレーニングを含むエンタープライズサポートはKrakenDの作成者から利用できます。

MuleSoftAnypointプラットフォーム

MuleSoftのAnypointプラットフォームは、APIの設計、構築、ホスティング、管理、統合、および開発者サポートを単一の商用製品でカバーする、完全なサービスを目的としています。 

Anypointを使用すると、APIを最初から開発したり、他のMuleSoftの顧客によって作成されAnypointExchangeで共有されている既存のコネクタや統合を再利用したりできます。コネクタは、汎用プロトコル(ファイルアクセス、HTTP、電子メール)、データ変換用の言語モジュール(Java、JavaScript)、クラウドサービス(Amazon AWS)、商用アプリケーション(Salesforce、SAP)、およびオープンソースアプリケーション(MongoDB)で使用できます。

パートナーや一般の人々が利用するAPIを作成する場合、AnypointはAPI Community Managerを提供して、これらのAPIのWeb UI(MuleSoftが「ポータル」と呼ぶもの)を作成します。インタラクティブなドキュメント、パーソナライズ(ユーザーの地理的位置に基づいて出力を調整するなどの機能を含む)、およびAPI使用状況分析がすべて含まれています。

Anypointは、ゴールド、プラチナ、チタンの3つの料金プランを提供しています。これらは、カスタマーサポートのレベルとエンタープライズ機能によって異なります。3つのプランすべてに無制限のAPIが含まれ、「プレミアム」コネクター(IBM AS / 400メインフレームコネクターなど)には追加料金がかかります。

Netflixズール

Netflixのエンジニアによって作成されたオープンソースプロジェクトであるZuulは、Netflixのビデオストリーミングサービスへのルーティングリクエストを処理するために社内で構築されました。少なくともNetflixからではなく、商用のZuul製品はありません。そのため、Zuulをスピンアップして、完全に自分で管理する必要があります。

ZuulはJavaで記述されており、一般的なJavaツール(Gradle、Ivy、Maven)を使用して起動して実行します。Zuulは、他のAPI管理システムと比較して比較的最小限の機能セットを提供し、サービス間でのインバウンドリクエストのフィルタリングとディスパッチに重点を置いています。Zuulは、サービスディスカバリ、負荷分散、接続プーリング、およびデバッグ機能(「リクエストパスポート」)を提供しますが、開発者のオンボーディングや自動ドキュメントなどのより高度な機能を欠いています。

Zuulはアクティブなプロジェクトであり、将来のバージョンで多くの新機能が計画されています。たとえば、次の「ブラウンアウトフィルタ」は、特定の機能を無効にして、アクティビティが多い時間帯にCPUを解放します。

Tyk

Tykには、デフォルトで、APIゲートウェイ、分析ツール、開発ポータル、管理ダッシュボードなど、多くの機能が含まれています。また、正式にリリースされる前にAPIをモックする機能、組み込みのリクエストキャッシュ(API定義に直接含めることができます)、さまざまなHTTPエラーコードの応答テンプレートも含まれています。

Tykには、それぞれ異なるユースケース向けの4つのエディションがあります。Tykのオープンソースリリースであるコミュニティエディションには、プロキシ、アクセス制御、変換、およびロギングを処理するゲートウェイのみが含まれています。独自の機能を直接ロールすることも、Tykのプラグインエコシステムを利用して、複数の言語をサポートすることもできます。

オンプレミス版では、ファイアウォールの背後でフル機能の商用製品を使用できます。シングルゲートウェイライセンス(基本的には開発者版)は無料で利用でき、API呼び出しの制限はありませんが、APIは商用環境では使用できません。商用利用のライセンスは年間3000ドルから始まります。

さまざまな人気のあるクラウドサービスで利用可能なクラウドおよびマルチクラウドエディションは、ホスト型サービスとしてTykを提供します。1日あたり1,000のAPI呼び出しをサポートする基本的なシングルクラウドバージョンは無料で利用できます(クラウドサービスプロバイダーが請求するものは別として)。プロレベルのプランは月額450ドルから始まります。

WSO2 API Manager

WSO2 API Managerは、Javaで構築されたオープンソース製品の中核です。この製品は、商用サポート付きのオンプレミスまたはクラウドでホストされた展開、またはクラウド管理サービスとして利用できます。

さまざまな展開オプションにより、さまざまな管理シナリオが可能になります。たとえば、オンプレミスのWSO2デプロイメントでは、クラウドでホストされる開発者ポータルを介してポリシーやその他の構成を適用し、変更をクラウドとプレミスの間で同期するか、クラウドから定期的にプッシュすることができます(必要な環境の場合)。ロックダウン)。

WSO2には、外部サービスをフックするために使用できる約200のコネクタがあります。Slack、Splunk、Kafka、Redis、Amazon S3など、多くは一般的な開発者の定番です。

もう1つのWSO2機能である「APIマイクロゲートウェイ」は、特定の種類の呼び出しが追加のセキュリティと低遅延を確実に受けるようにします。たとえば、ゲートウェイの管理に使用される呼び出し、またはマイクロサービス間でルーティングされる呼び出しは、この方法で処理できます。

WSO2の新しいアドオンにより、KubernetesのIstioサービスメッシュとの統合が追加されます。Istioは、管理するマイクロサービスによって公開されるAPIを管理しないため、WSO2はIstioが使用するEnvoyプロキシと統合します。

WSO2の商用サービスの価格は、最大100万回のAPI呼び出しを伴う2週間の無料トライアルから始まり、2,000万回の呼び出しで月額550ドルで継続し、そこから特注の構成にスケールアップします。