API Gateway Trends behind Features: Apache APISIX 3.0 vs. Kong 3.0
28 сентября 2022 года Kong выпустил новую версию Kong Gateway 3.0, которая представила новые функции и улучшения производительности. 21 сентября Apache APISIX, проект высшего уровня Apache Software Foundation, также выпустил предварительную версию Apache APISIX 3.0, представив десять ключевых моментов в экосистеме и функциональности.
Давайте подробнее рассмотрим версию 3.0 этих двух популярных проектов с открытым исходным кодом для API Gateway и выясним тенденции развития, стоящие за этими обновлениями.
Сначала рассмотрим восемь ключевых моментов Kong Gateway 3.0.
Восемь ключевых моментов Kong Gateway 3.0
| Ключевые моменты | OSS/Enterprise | Тип | Целевые пользователи | Улучшение | Поддерживает ли APISIX | Примечания |
|---|---|---|---|---|---|---|
| FIPS 140-2 | Enterprise версия | Соответствие | Североамериканские финансовые корпорации и правительства | Соответствие | Нет | Неприменимо |
| Управление секретами | обе версии | Соответствие | Финансовые корпорации | OSS: переменные окружения Enterprise: AWS Secrets Manager и HashiCorp Vault | Да | APISIX поддерживает HashiCorp Vault с декабря 2021 года в OSS: feat(vault): vault lua module, integration with jwt-auth authentication plugin Kong февраль 2022: feat(vaults) adds vaults beta support to kong |
| Порядок выполнения плагинов | Enterprise версия | Удобство использования | Крупные и средние предприятия со сложными сценариями | Увеличение гибкости бизнеса с помощью плагинов | Да | APISIX июнь 2022: feat: allows users to specify plugin execution priority Kong июль 2022: feat(plugins) add support for ordering |
| Kong Manager 3.0 | Enterprise версия | Удобство использования | Средние и крупные предприятия без большого количества технических команд | Лучшее управление API для корпоративных пользователей | Да | Неприменимо |
| Глубокая поддержка WebSocket | Enterprise версия | Функциональность | Корпоративные пользователи, активно использующие WebSocket | Проверка схемы WebSocket и ограничение размера фреймов WebSocket | Да, частично | Kong декабрь 2016: feat(proxy) supports websockets APISIX поддерживает проксирование запросов WebSocket и может использоваться с плагинами, такими как limit-conn, с января 2020: feature: upstream support websocket enable |
| OpenTelemetry | обе версии | Функциональность | Крупные и средние предприятия со сложными цепочками вызовов бизнеса | Улучшение наблюдаемости | Да | Kong июнь 2022: feat(plugins) opentelemetry plugin APISIX январь 2022: feat: add opentelemetry plugin |
| Улучшения производительности | обе версии | Производительность | Облачные провайдеры, быстрорастущие SaaS-провайдеры | Снижение затрат на серверы | Да | Apache APISIX превосходит другие API Gateway по производительности с момента открытия исходного кода в 2019 году. |
| Новый механизм маршрутизации | обе версии | Производительность | Облачные провайдеры, быстрорастущие SaaS-провайдеры | Решение проблем производительности с большим количеством API и снижение затрат на серверы | Да | Kong июль 2022: feat(router) new DSL based router support and tests fix APISIX август 2019: feature: supported to use router lua-resty-radixtree |
Мы можем выделить три тенденции из ключевых моментов Kong Gateway 3.0:
- Инвестиции Kong в безопасность и соответствие требованиям в финансовом секторе относительно велики, что можно проанализировать с точки зрения соответствия FIPS 140-2 и управления секретами.
-
Соответствие FIPS 140-2: FIPS 140-2 — это стандарт компьютерной безопасности, используемый североамериканскими финансовыми компаниями и правительствами для утверждения модулей шифрования. Kong Gateway 3.0 Enterprise Version построен на основе BoringSSL и адаптирует плагины для соответствия требованиям стандарта. Поддержка FIPS 140-2 в Kong отражает этап развития компании: после семи лет итераций Kong постепенно сосредоточился на платящих пользователях, стремясь удовлетворить потребности финансовых компаний и правительств.
-
Управление секретами: Целевые пользователи этой функции также являются финансовыми предприятиями. Kong Gateway 3.0 позволяет пользователям безопасно хранить конфиденциальную информацию в AWS Secrets Manager и HashiCorp Vault, к которым Kong может получить доступ во время выполнения. Таким образом достигается более высокий уровень защиты безопасности.
-
Из ссылок на PR каждого ключевого момента можно узнать, что большинство из восьми ключевых моментов Kong Gateway 3.0 были реализованы в Apache APISIX раньше.
-
Kong Gateway 3.0 имеет относительно значительное улучшение производительности по двум причинам:
-
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 реализовал аналогичную функцию маршрутизации с использованием Lua-resty-radixtree в августе 2019 года. Выражения APISIX поддерживают произвольные переменные NGINX и имеют более богатые операторы. Помимо обычных числовых и строковых сравнений, поддерживаются регулярные выражения, массивы и IP-адреса.
Большинство из этих восьми ключевых моментов в версии Kong Gateway 3.0 ориентированы на Enterprise версию. Следующие два графика могут более наглядно отразить тенденции технологического развития Kong.


Функции, выпущенные в Kong Gateway 3.0, ориентированы на правительство, финансовую отрасль и крупные предприятия, которые больше заботятся о безопасности и соответствии требованиям.
Анализ восьми ключевых моментов Apache APISIX 3.0
API Gateway с открытым исходным кодом Apache APISIX выпустил предварительную версию 3.0, которая включает десять ключевых моментов версии 3.0 Apache APISIX. Автор выбрал наиболее важные восемь моментов для анализа. Эти восемь ключевых моментов относятся к версии с открытым исходным кодом и сосредоточены на улучшениях в экосистеме и технологиях.
| Ключевые моменты | Тип | Целевые пользователи | Улучшение | Поддерживает ли Kong |
|---|---|---|---|---|
| Полная поддержка ARM64 | Экосистема | Компании, масштабно мигрирующие в облако | Снижение затрат на серверы | Да, частично |
| gRPC-клиент | Производительность | Требования к оптимизации APISIX | Оптимизация | Нет |
| Улучшенная поддержка сервисного обнаружения | Экосистема, Функциональность | Бизнесы, зависящие от микросервисов | Нет | |
| Фреймворк xRPC | Экосистема, Функциональность | Интернет-компании | Снижение затрат на серверы | Нет |
| Наблюдаемость на уровне L4 | Функциональность | Крупные и средние предприятия со сложными бизнес-функциями | Улучшение наблюдаемости | Нет |
| Поддержка Gateway API | Экосистема | Интернет-компании | Лучшее управление API для корпоративных пользователей | Да |
| Больше плагинов: OpenFunction, ClickHouse, Elasticsearch, SAML, CAS | Экосистема, Функциональность | Интернет-компании | Переменные окружения для OSS, AWS Secrets Manager и HashiCorp Vault для Enterprise | Нет |
| AI-плоскость | Интеллект | Интернет-компании | Проблемы производительности с большим количеством API и снижение затрат на серверы | Нет |
Еще одна информация, которую мы можем получить из приведенной выше таблицы, заключается в том, что Apache APISIX улучшается в экосистеме и функциональных аспектах. Среди этих ключевых моментов можно выделить два основных пункта.
-
AI-плоскость: В дополнение к плоскости данных и плоскости управления, Apache APISIX добавляет AI-плоскость в версии 3.0, которая снимает давление с разработчиков приложений и операторов через анализ и обучение на основе трафика API и конфигурации. Например, следующие два сценария могут быть автоматически оптимизированы AI-плоскостью:
- Обнаружение API без аутентификации и отправка предупреждений об рисках менеджерам.
- Ускорение обработки за счет пропуска ненужных этапов для API, которые настроены только с плагинами на этапе доступа, такими как аутентификация.
AI-плоскость открывает новые возможности для обработки трафика. В будущем автоматический прогрев вышестоящих сервисов и обнаружение угроз безопасности могут быть обработаны через AI-плоскость.
-
Полная поддержка ARM64: ARM64 стала очень популярной архитектурой серверов для облачных провайдеров. Различные облачные провайдеры начали выпускать серверы на основе архитектуры Arm, такие как AWS Graviton и GCP Tau T2A. Apache APISIX провел всесторонние регрессионные тесты CI на ARM64, чтобы обеспечить бесперебойную работу Apache APISIX под архитектурой Arm. Пользователи очень заботятся об этом. Сравнение производительности архитектуры ARM с GCP и AWS получило почти 100 комментариев на Hacker News.
Заключение
Kong Gateway 3.0 сделал новые шаги в области соответствия требованиям, удобства использования, функциональности и производительности, уделяя больше внимания безопасности и соответствию требованиям предприятий. Все функции, представленные в Apache APISIX 3.0, являются открытыми, при этом больше внимания уделяется экосистеме и исследованию новых технологий.
Давайте посмотрим, как Kong и Apache APISIX будут развиваться в будущем!