API Gateway 特性背后的趋势:Apache APISIX 3.0 与 Kong 3.0
2022年9月28日、Kongは新しいKong Gateway 3.0をリリースし、いくつかの新機能とパフォーマンスの向上を実現しました。9月21日には、Apache Software FoundationのトップレベルプロジェクトであるApache APISIXもApache APISIX 3.0のプレビュー版をリリースし、エコシステムと機能面で10のハイライトを紹介しました。
これらの人気のあるオープンソースAPI Gatewayプロジェクトのバージョン3.0を詳しく見て、これらのアップデートの背後にある開発トレンドを探ってみましょう。
まず、Kong Gateway 3.0の8つのハイライトを見てみましょう。
Kong Gateway 3.0の8つのハイライト
ハイライト | OSS/エンタープライズ | タイプ | ターゲットユーザー | 改善点 | APISIXがサポートしているか | 備考 |
---|---|---|---|---|---|---|
FIPS 140-2 | エンタープライズ版 | コンプライアンス | 北米の金融企業や政府機関 | コンプライアンス | いいえ | 適用外 |
Secrets Management | 両方 | コンプライアンス | 金融企業 | OSS: 環境変数 エンタープライズ: AWS Secrets ManagerとHashiCorp Vault | はい | APISIXは2021年12月からOSSでHashiCorp Vaultをサポートしています: feat(vault): vault lua module, integration with jwt-auth authentication plugin Kongは2022年2月: feat(vaults) adds vaults beta support to kong |
Plugin Ordering | エンタープライズ版 | ユーザビリティ | 複雑なシナリオを持つ大中規模企業 | プラグインによるビジネスの柔軟性を向上 | はい | APISIX 2022年6月: feat: allows users to specify plugin execution priority Kong 2022年7月: feat(plugins) add support for ordering |
Kong Manager 3.0 | エンタープライズ版 | ユーザビリティ | 技術チームが少ない中規模・大規模企業 | エンタープライズユーザーのためのAPI管理を改善 | はい | 適用外 |
Deep Websocket Support | エンタープライズ版 | 機能 | WebSocketを深く使用するエンタープライズユーザー | WebSocketスキームの検証とWebSocketフレームサイズの制限 | はい、部分的 | Kong 2016年12月: feat(proxy) supports websockets APISIXはWebSocketリクエストプロキシをサポートし、2020年1月にlimit-connなどのプラグインと組み合わせて使用可能: feature: upstream support websocket enable |
OpenTelemetry | 両方 | 機能 | 複雑なビジネスコールチェーンを持つ大中規模企業 | 可観測性の向上 | はい | Kong 2022年6月: feat(plugins) opentelemetry plugin APISIX 2022年1月: feat: add opentelemetry plugin |
Performance Improvements | 両方 | パフォーマンス | クラウドベンダー、急成長中のSaaSベンダー | サーバーコストの削減 | はい | Apache APISIXは2019年のオープンソース化以来、他のAPIゲートウェイを凌ぐパフォーマンスを維持しています。 |
New Routing Engine | 両方 | パフォーマンス | クラウドベンダー、急成長中のSaaSベンダー | 大量のAPIによるパフォーマンス問題を解決し、サーバーコストを削減 | はい | Kong 2022年7月: feat(router) new DSL based router support and tests fix APISIX 2019年8月: feature: supported to use router lua-resty-radixtree |
Kong Gateway 3.0のハイライトから、以下の3つのトレンドを分析できます:
- Kongは金融セクターのセキュリティとコンプライアンスへの投資が比較的大きく、FIPS 140-2への準拠とSecrets管理の観点から分析できます。
-
FIPS 140-2への準拠: FIPS 140-2は、北米の金融企業や政府機関が暗号化モジュールを承認するために使用するコンピュータセキュリティ標準です。Kong Gateway 3.0エンタープライズ版はBoringSSLに基づいて構築され、標準の要件に準拠するためにプラグインを適応させます。KongのFIPS 140-2サポートは、Kongの開発段階を反映しています: 7年間のイテレーションを経て、Kongは徐々に有料ユーザーに焦点を当て、金融企業や政府のニーズを満たす方向に進んでいます。
-
Secrets Management: この機能のターゲットユーザーも金融企業です。Kong Gateway 3.0では、ユーザーはAWS Secrets ManagerやHashiCorp Vaultに機密情報を安全に保存でき、Kongは実行時にそれらにアクセスできます。これにより、より高いレベルのセキュリティ保護が実現されます。
-
各ハイライトのPRリンクから、Kong Gateway 3.0の8つのハイライトのほとんどがApache APISIXによって先に実装されていることがわかります。
-
Kong Gateway 3.0はパフォーマンス面で比較的大きな改善が見られます。その理由は2つあります:
-
Kongはルーティングにキャッシュ層を追加し、ベンチマークのパフォーマンスを大幅に向上させました。ただし、URLアドレスが変更されるとキャッシュが無効になるという問題があります。 詳細は以下のコードリンクを参照してください: atc.lua
-
KongはRustを使用して新しいルーティングエンジンを実装し、DSLを使用してルーティング層の表現力を向上させました。 HTTPリクエストの受信と送信時に、次のような式を書くことができます:
net.protocol == "https" && (http.method == "GET" || http.method == "POST")
特定のホストにマッチするリクエストルートのシナリオでは、次のような式を書くことができます:
(http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")
Apache APISIXと比較すると、Apache APISIXは2019年8月に**Lua-resty-radixtree**を使用して同様のルーティング式機能を実装しています。 APISIXの式は任意のNGINX変数をサポートし、より豊富な演算子を持っています。一般的な数値や文字列比較に加えて、正規表現、配列、IPターゲティングもサポートしています。
Kong Gateway 3.0バージョンのこれらの8つのハイライトのほとんどはエンタープライズ版に偏っています。以下の2つの図は、Kongの技術開発トレンドをより直感的に反映しています。
Kong Gateway 3.0でリリースされた機能は、セキュリティコンプライアンスをより重視する政府、金融業界、大企業に焦点を当てています。
Apache APISIX 3.0の8つのハイライトの分析
オープンソースAPI GatewayであるApache APISIXは、バージョン3.0のプレビューをリリースし、Apache APISIX 3.0バージョンの10のハイライトを紹介しました。著者は最も重要な8つのポイントを分析のために選びました。これらの8つのハイライトはすべてオープンソース版向けで、エコシステムと技術的改善に焦点を当てています。
ハイライト | タイプ | ターゲットユーザー | 改善点 | Kongがサポートしているか |
---|---|---|---|---|
ARM64の完全サポート | エコシステム | 大規模なクラウド移行を行う企業 | サーバーコストの削減 | はい、部分的 |
gRPCクライアント | パフォーマンス | APISIXの最適化要件 | 最適化 | いいえ |
強化されたサービスディスカバリーサポート | エコシステム、機能 | マイクロサービスに依存するビジネス | いいえ | |
xRPCフレームワーク | エコシステム、機能 | インターネット企業 | サーバーコストの削減 | いいえ |
L4での可観測性 | 機能 | 複雑なビジネス機能を持つ大中規模企業 | 可観測性の向上 | いいえ |
Gateway APIのサポート | エコシステム | インターネット企業 | エンタープライズユーザーのためのAPI管理を改善 | はい |
より多くのプラグイン: OpenFunction, ClickHouse, Elasticsearch, SAML, CAS | エコシステム、機能 | インターネット企業 | OSSの環境変数、エンタープライズ向けのAWS Secrets ManagerとHashiCorp Vault | いいえ |
AIプレーン | インテリジェンス | インターネット企業 | 大量のAPIによるパフォーマンス問題とサーバーコストの削減 | いいえ |
上記の表から得られるもう一つの情報は、Apache APISIXがエコシステムと機能面で改善されていることです。これらのハイライトの中で、以下の2つのポイントが主なものです。
-
AIプレーン: データプレーンとコントロールプレーンに加えて、Apache APISIX 3.0ではAIプレーンを追加し、APIトラフィックと設定の学習と分析を通じて、アプリケーションと運用開発者の使用と運用の負担を軽減します。例えば、以下の2つのシナリオはAIプレーンによって自動的に最適化されます:
- 認証のないAPIを発見し、管理者にリスク警告を送信します。
- アクセス段階でのみプラグインが設定されているAPI(例: 認証)に対して、不要な段階をスキップして処理を高速化します。
AIプレーンはトラフィック処理に新しい可能性をもたらします。将来的には、アップストリームサービスの自動ウォームアップやセキュリティ脅威の検出などもAIプレーンを通じて処理される可能性があります。
-
ARM64の完全サポート: ARM64はクラウドベンダーの非常に主流なサーバーアーキテクチャとなっています。AWS GravitonやGCP Tau T2Aなど、さまざまなクラウドベンダーがArmアーキテクチャに基づくサーバーの展開を開始しています。Apache APISIXはARM64に対して包括的なCI回帰テストを行い、ユーザーがArmアーキテクチャでApache APISIXを実行する際のスムーズさを確保しています。ユーザーはこれを非常に重視しています。GCPとAWSでのARMアーキテクチャのパフォーマンス比較は、_Hacker News_で100近いコメントを集めました。
結論
Kong Gateway 3.0は、コンプライアンス、ユーザビリティ、機能、パフォーマンスの面で新たな進展を遂げ、エンタープライズのセキュリティコンプライアンスにさらに焦点を当てています。Apache APISIX 3.0が導入したすべての機能はオープンソースであり、エコシステムと新技術の探求にさらに注目しています。
KongとApache APISIXが今後どのようにイテレーションと開発を進めるか、楽しみに待ちましょう!