10のトップオープンソースAPIゲートウェイと管理ツール


マイクロサービスとAPI(Application Programming Interfacesの略)は、持続可能な最新のアプリケーション開発ではほとんど一般的になっています。 APIは、マイクロサービス(アプリケーションを小さく、自己完結型で管理しやすいサービス/ピースに構造化するアーキテクチャ設計)を駆動し、(APIの)コンシューマーが基盤となるサービスと対話して使用する方法を定義します。

企業やその他の組織にとって、APIはデジタルトランスフォーメーション戦略の中核になっています。 APIの使用の増加により、開発者によるAPI管理ソリューションの使用が増加し、APIを公開または外部の開発者、内部の開発者、およびその他のパートナーに公開しています。

API管理ツールは、次のことに役立ちます。

  • Expose microservices as managed APIs.
  • Combine several microservices to be exposed as APIs.
  • Apply security to internal and external microservices.
  • Expose legacy services as modern APIs.
  • Obtain business insights from the consumption of microservices and APIs, and much more.

あなたの会社のためのオープンソースAPI管理ソリューションを探していますか?次に、このガイドはあなたのためだけに作成されています。読み続けてください。

以下では、ITインフラストラクチャで使用できる上位10のオープンソースAPIゲートウェイとAPI管理ソリューションを共有しました。以下のリストは特定の順序で整理されていないことに注意してください。

1. Kong Gateway(OSS)

Kong Gateway(OSS)は、一般的なオープンソースの高度なクラウドネイティブAPIゲートウェイであり、ユニバーサル展開用に構築されています。どのプラットフォームでも実行できます。 Luaプログラミング言語で記述されており、ハイブリッドおよびマルチクラウドインフラストラクチャをサポートし、マイクロサービスおよび分散アーキテクチャ用に最適化されています。

Kongは、その中核として、高性能、拡張性、および移植性を実現するように構築されています。 Kongは、軽量、高速、スケーラブルでもあります。データベースなし、インメモリストレージのみを使用した宣言型構成、およびネイティブKubernativeCRDをサポートします。

Kongは、負荷分散(さまざまなアルゴリズムを使用)、ロギング、認証(OAuth2.0のサポート)、レート制限、変換、ライブモニタリング、サービスディスカバリ、キャッシング、障害の検出と回復、クラスタリングなどを備えています。重要なのは、Kongがノードのクラスタリングとサーバーレス機能をサポートしていることです。

サービスのプロキシの構成をサポートし、SSLを介してそれらを提供するか、WebSocketを使用します。アップストリームサービスのレプリカを介してトラフィックの負荷分散を行い、サービスの可用性を監視し、それに応じて負荷分散を調整できます。

さらに、Kongには、コマンドラインからKongクラスターを管理できるコマンドラインインターフェイスが付属しています。また、Kongは、プラグインとさまざまな種類の統合を使用して高度に拡張可能です。最大限の柔軟性を実現するために、RESTfulAPIを使用して管理できます。

2. Tyk

Tyk(Taikと発音)は、Goプログラミング言語を使用してゼロから作成された、オープンソースの強力で軽量なフル機能のAPIゲートウェイです。クラウドネイティブで高性能であり、オープンスタンダードに基づいて簡単に拡張およびプラグイン可能なアーキテクチャを備えています。

独立して実行でき、データストアとしてRedisのみが必要です。これにより、ユーザーは、レガシー、REST、GraphQL(そのままGraphQLをサポート)などのさまざまなサービスを安全に公開および管理できます。

Tykは、さまざまな認証方法、クォータ、レート制限、バージョン管理、通知とイベント、監視、分析など、非常に多くの機能を備えています。また、サービスディスカバリ、オンザフライトランスフォーム、仮想エンドポイントをサポートし、リリース前にモックアウトAPIを作成できます。

上記に加えて、TykはAPIドキュメントをサポートし、API開発者ポータルを提供します。これはCMS(コンテンツ管理システム)のようなシステムで、マネージドAPIを公開し、サードパーティの開発者がサインアップしてAPIに登録し、APIを管理できます。独自のキー。

重要なのは、Tyk API Gatewayのバージョンは1つだけであり、100%オープンソースであるということです。 Community Editionユーザーでもエンタープライズユーザーでも、同じAPIGatewayを利用できます。機能のロックアウトやブラックボックスがなく、完全な使いやすさに必要なすべての可能な部品が同梱されています。 Tykを使用すると、データがどのように処理されているかを正確に知ることができます。

3. KrakenD

また、Goで記述され、パフォーマンスを念頭に置いて構築されたKrakenDは、ステートレスアーキテクチャで設計された、高性能のオープンソースでシンプルなプラグ可能なAPIゲートウェイです。どこでも実行でき、データベースを実行する必要はありません。シンプルな構成で、無制限のエンドポイントとバックエンドをサポートします。

KrakenDは、監視、キャッシング、ユーザークォータ、レート制限、サービス品質(同時呼び出し、サーキットブレーカー、および詳細なタイムアウト)変換、集約、(ソースのマージ)、フィルタリング(ホワイトリストおよびブラックリスト)、およびデコードを備えています。ロードバランシング、プロトコル変換、Oauthなどのプロキシ機能を提供します。 SSLやセキュリティポリシーなどのセキュリティ機能。

APIゲートウェイの動作は、手動で構成するか、APIを最初から視覚的に設計したり既存のAPIを再開したりできるGUIであるKrakenDesignerを使用して構成できます。さらに、KrakenDの拡張可能なアーキテクチャにより、ソースコードを変更することなく、追加の機能、プラグイン、埋め込みスクリプト、およびミドルウェアを追加できます。

4. Gravitee.ioAPIプラットフォーム

Gravitee.ioは、オープンソースのJavaベースの使いやすいAPI管理プラットフォームであり、組織がAPIを保護、公開、分析、および文書化するのに役立ちます。これには、次の3つの主要なモジュールが付属しています。

  • API Management (APIM): an open-source, simple yet powerful, flexible, lightweight, and blazing-fast API management (APIM) solution designed to give your organization full control over who accesses your APIs, when, and how.
  • Access Management (AM): a flexible, lightweight, versatile, and easy-to-use Open Source Identity And Access Management solution. It is based on OAuth2/OpenID Connect protocols and acts as an identity provider broker. It features a centralized Authentication and Authorization Service to secure your applications and your APIs.
  • Alert Engine (AE): a module that allows users to configure alerts and receive notifications to easily and efficiently monitor their API platform. It supports multi-channel notifications and suspicious behavior detection, and more.

さらに、Gravitee.ioにはCockpitが付属しています。これは、APIを設計し、フル機能のマルチテナンシーサポートを使用してすべての環境に公開するのに役立つツールです。これにより、プラットフォーム自体からGravitee.ioデプロイメントをスケーリングできます。そして、Gravitee.ioエコシステムを管理するために使用されるシンプルなコマンドラインツールであるgraviteeio-cli。

5. Gloo Edge

また、オープンソースでGoベースのGloo Edgeは、機能満載のKubernetesネイティブ入力コントローラー(Envoyプロキシ上に構築)であり、レガシーアプリ、マイクロサービス、サーバーレスをサポートする次世代のクラウドネイティブAPIゲートウェイです。 。また、環境と統合できるため、スケジューリング、永続性、およびセキュリティのためのお気に入りのツールを選択できます。

強力な機能レベルのルーティング(レガシーアプリ、マイクロサービス、サーバーレスの統合を可能にする)を提供し、さまざまな種類のテクノロジー、アーキテクチャ、およびさまざまなクラウドで実行されるプロトコルを使用して構築されたハイブリッドアプリケーションをサポートするように設計されています。

Gloo Edgeは、レート制限、回線遮断、再試行、キャッシング、外部認証、承認などのAPIゲートウェイ機能をサポートしています。また、変換、サービスメッシュ統合、完全自動検出、およびセキュリティもサポートします。

Gloo Edgeは、GraphQL、gRPC、OpenTracing、NATSなどのトップオープンソースプロジェクトを採用して、高品質の機能を提供します。さらに、将来表面化する可能性のあるオープンソースプロジェクトの統合をサポートします。

6.悟空APIゲートウェイ

Goku API Gatewayは、Goを使用して構築されたクラウドネイティブアーキテクチャを備えたオープンソースのマイクロサービスゲートウェイです。マイクロサービスアーキテクチャのAPIゲートウェイとして機能します。統合認証、フロー制御、セキュリティ保護のためのプラットフォームとして。内部OPENAPI開発プラットフォームとして。サードパーティAPIの統合プラットフォームとして。

高性能のHTTP転送と動的ルーティング、サービスオーケストレーション、マルチテナンシー管理、APIアクセス制御などを備えています。クラスターのデプロイと動的サービス登録、バックエンドの負荷分散、APIヘルスチェック、APIの切断と再接続機能、ホットアップデート(ノードを再起動せずに構成を継続的に更新)をサポートします。

Gokuには、構成を簡単にするための組み込みダッシュボード、機能を拡張するための強力なプラグインシステム、および開始/停止用のCLIも付属しています。 コマンドラインから悟空をロードします。

7. WSO2APIマイクロゲートウェイ

WSO2 API Microgatewayは、マイクロサービス向けのオープンソースのクラウドネイティブで開発者中心の分散型APIゲートウェイです。主にJavaを使用して構築されており、分散マイクロサービスアーキテクチャ内でAPIを作成、デプロイ、保護するプロセスを簡素化します。

WSO2 API Microgatewayは、メモリフットプリントが少ない軽量のステートレスコンテナであり、単一のAPIを介した複数のマイクロサービスの構成をサポートし、ランタイムサービスの検出もサポートします。これにより、レガシーAPI形式(要求と応答の両方)を最新の形式に変換して、最新のコンシューマーアプリに公開できます。

WSO2 API MicrogatewayはOpenAPI仕様(OAS)を使用するため、これにより、開発者はAPIの作成に協力して、APIを個別にテストできます。さらに、他のコンポーネントに依存せずに単独で実行できるため、拡張性が高くなります。

レート制限、サービスディスカバリ、リクエストとレスポンスの変換、負荷分散、フェイルオーバー、回線遮断、DockerとKubernetesのシームレスな統合などが特徴です。 OAuth2.0、APIキー、基本認証、相互TLSに基づく認証と承認を提供します。

8.フシオ

Fusioは、RESTAPIの構築と管理に使用されるオープンソースのPHPベースのAPI管理ソリューションです。これは、データベースからデータを要求および変換できるAPIエンドポイントを開発できるという意味でAPI管理プラットフォームです。さまざまなデータソースからAPIをすばやく構築するだけでなく、完全にカスタマイズされた応答を作成するために必要なすべてのツールを提供します。

これは、ビジネス機能、マイクロサービス、Javascriptアプリケーション、およびモバイルアプリを公開するために使用され、レート制限、承認、RPCサポート、検証、分析、ユーザー管理などの機能を提供します。

また、FusioはOpenAPI生成、SDK生成をサポートし、APIのpub/subを構築するのに役立つサブスクリプションレイヤーと、特定のルートに課金するシンプルな支払いシステムが付属しています。

Fusioには、APIと直接対話し、特定のYAML構成ファイルをデプロイできるコマンドラインクライアントが含まれています。 Fusio-CLIはすべてのFusioインストールに自動的に含まれますが、CLIクライアントをスタンドアロンで実行することもできます。 Fusioエコシステムには他にもいくつかのツールがあります。

9.アピマン

Apimanは、オープンソースのJavaベースのAPI管理ツールであり、非常に高速なランタイムを備えた豊富なAPI設計および構成レイヤーが付属しています。これはスタンドアロンシステムであり、個別のシステムとして実行することも、既存のフレームワークやプラットフォームに組み込むこともできます。

その主な機能は、APIの柔軟性とポリシーベースのランタイムガバナンス、豊富な管理レイヤー、および完全な非同期です。スロットリングとクォータ、一元化されたセキュリティ、請求とメトリック、およびその他の多くの機能をサポートします。

10.APIアンブレラ

API Umbrellaは、主にRubyを使用して構築されたオープンソースのAPI管理ソリューションです。これは、APIの前に配置されるプロキシであり、場所に関係なく、すべてのAPIとマイクロサービスへの単一のパブリックエントリポイントを作成できます。 APIキー、レート制限、分析、キャッシュなどの機能を提供します。

マルチテナンシーをサポートし、APIルーティング構成、ユーザー管理、表示分析など、APIUmbrellaのすべての側面を管理するための管理者が付属しています。 API Umbrellaでは、すべての管理機能はRESTAPIを介して利用することもできます。

今のところ以上です!この記事では、Linuxサーバーのインフラストラクチャで使用できる10のオープンソースAPIゲートウェイと管理ソリューションについて説明しました。あなたが遭遇した他の解決策を私たちに知らせてください、しかし私たちはこの記事で逃しました。