API Gateway Trends behind Features: Apache APISIX 3.0 vs. Kong 3.0

Yilia Lin

Yilia Lin

October 16, 2022

Products

Le 28 septembre 2022, Kong a publié la nouvelle version de Kong Gateway 3.0, qui a introduit de nouvelles fonctionnalités et des améliorations de performances. Le 21 septembre, Apache APISIX, un projet de premier plan de la Fondation Apache Software, a également publié la version préliminaire de Apache APISIX 3.0, présentant dix points forts en termes d'écosystème et de fonctionnalités.

Examinons de plus près la version 3.0 de ces deux projets populaires de passerelle API open source et découvrons les tendances de développement derrière ces mises à jour.

Commençons par les huit points forts de Kong Gateway 3.0.

Huit points forts de Kong Gateway 3.0

Points fortsOSS/EntrepriseTypeUtilisateur cibleAméliorationSi APISIX supporteNotes
FIPS 140-2Version EntrepriseConformitéSociétés financières et gouvernements nord-américainsConformitéNonNon applicable
Gestion des secretsLes deuxConformitéSociétés financièresOSS : variables d'environnement

Entreprise : AWS Secrets Manager et HashiCorp Vault
OuiAPISIX supporte HashiCorp Vault depuis décembre 2021 dans OSS : feat(vault): vault lua module, integration with jwt-auth authentication plugin

Kong février 2022 : feat(vaults) adds vaults beta support to kong
Ordre des pluginsVersion EntrepriseUtilisabilitéGrandes et moyennes entreprises avec des scénarios complexesAugmenter la flexibilité des plugins pour les entreprisesOuiAPISIX juin 2022 : feat: allows users to specify plugin execution priority

Kong juillet 2022 : feat(plugins) add support for ordering
Kong Manager 3.0Version EntrepriseUtilisabilitéMoyennes et grandes entreprises sans beaucoup d'équipes techniquesGérer les API mieux pour les utilisateurs entreprisesOuiNon applicable
Support approfondi de WebsocketVersion EntrepriseFonctionUtilisateurs entreprises utilisant intensivement websocketVérifier le schéma websocket et limiter la taille des trames websocketOui, partiellementKong décembre 2016 : feat(proxy) supports websockets

APISIX supporte le proxy de requêtes websocket, et peut être utilisé avec des plugins comme limit-conn en janvier 2020 : feature: upstream support websocket enable
OpenTelemetryLes deuxFonctionGrandes et moyennes entreprises avec des chaînes d'appels complexesAméliorer l'observabilitéOuiKong juin 2022 : feat(plugins) opentelemetry plugin

APISIX janvier 2022 : feat: add opentelemetry plugin
Améliorations de performancesLes deuxPerformanceFournisseurs de cloud, fournisseurs SaaS en croissance rapideRéduire les coûts des serveursOuiApache APISIX surpasse les autres passerelles API en termes de performances depuis son open-sourcing en 2019.
Nouveau moteur de routageLes deuxPerformanceFournisseurs de cloud, fournisseurs SaaS en croissance rapideRésoudre les problèmes de performances avec un grand nombre d'API et réduire les coûts des serveursOuiKong juillet 2022 : feat(router) new DSL based router support and tests fix

APISIX août 2019 : feature: supported to use router lua-resty-radixtree

Nous pouvons analyser trois tendances à partir des points forts de Kong Gateway 3.0 :

  1. L'investissement de Kong dans la sécurité et la conformité dans le secteur financier est relativement important, ce qui peut être analysé en termes de conformité avec FIPS 140-2 et la gestion des secrets.
  • Conformité avec FIPS 140-2 : FIPS 140-2 est une norme de sécurité informatique utilisée par les sociétés financières et les gouvernements nord-américains pour approuver les modules de chiffrement. Kong Gateway 3.0 Enterprise Version est construit sur BoringSSL et adaptera les plugins pour être compatibles avec les exigences de la norme. Le support de FIPS 140-2 par Kong reflète la phase de développement de Kong : après sept ans d'itération, Kong s'est progressivement concentré sur les utilisateurs payants, tendant à répondre aux besoins des sociétés financières et des gouvernements.

  • Gestion des secrets : Les utilisateurs cibles de cette fonction sont également les entreprises financières. Kong Gateway 3.0 permet aux utilisateurs de stocker en toute sécurité des informations sensibles dans AWS Secrets Manager et HashiCorp Vault, auxquels Kong peut accéder lors de l'exécution. De cette manière, un niveau de protection de sécurité plus élevé est atteint.

  1. À partir des liens PR de chaque point fort, nous pouvons constater que la plupart des huit points forts de Kong Gateway 3.0 ont été implémentés plus tôt par Apache APISIX.

  2. Kong Gateway 3.0 a une amélioration relativement significative en termes de performances pour deux raisons :

  • Kong ajoute une couche de cache sur le routage, améliorant considérablement les performances pour le benchmark. Cependant, le problème est que le cache devient invalide lorsque l'adresse URL change. Pour plus de détails, consultez le lien de code ci-dessous : atc.lua

  • Kong utilise Rust pour implémenter un tout nouveau moteur de routage, utilisant DSL pour augmenter l'expressivité de la couche de routage. Lors de la réception et de l'envoi de requêtes HTTP, vous pouvez écrire des expressions comme celle-ci :

    net.protocol == "https" && (http.method == "GET" || http.method == "POST")

    Dans les scénarios où la route demandée correspond à un hôte spécifique, l'expression suivante peut être écrite :

    (http.host == "example.com" && http.headers.x_example_version == "v2" ) || (http.host == "store.example.com" && http.headers.x_store_version == "v1")

    Nous pouvons comparer avec Apache APISIX. Apache APISIX a implémenté une fonction similaire d'expression de routage en utilisant Lua-resty-radixtree en août 2019. Les expressions d'APISIX supportent des variables NGINX arbitraires et ont des opérateurs plus riches. En plus des comparaisons numériques et de chaînes courantes, les expressions régulières, les tableaux et le ciblage IP sont également supportés.

La plupart de ces huit points forts dans la version 3.0 de Kong Gateway sont orientés vers la version entreprise. Les deux figures suivantes peuvent refléter plus intuitivement la tendance de développement technologique de Kong.

Le ratio des versions OSS et Entreprise dans les 8 points forts de Kong Gateway 3.0

Points forts supportés par Apache APISIX dans Kong Gateway 3.0

Les fonctionnalités publiées dans Kong Gateway 3.0 se concentrent sur le gouvernement, l'industrie financière et les grandes entreprises qui se préoccupent davantage de la conformité en matière de sécurité.

Analyse des huit points forts d'Apache APISIX 3.0

La passerelle API open source Apache APISIX a publié une préversion de la version 3.0, qui comprend dix points forts de la version 3.0 d'Apache APISIX. L'auteur a sélectionné les huit points les plus critiques pour analyse. Ces huit points forts concernent tous les versions open source, en se concentrant sur les améliorations de l'écosystème et de la technologie.

Points fortsTypeUtilisateur cibleAméliorationSi Kong supporte
Support complet d'ARM64ÉcosystèmeEntreprises migrant massivement vers le cloudRéduire les coûts des serveursOui, partiellement
Client gRPCPerformanceExigences d'optimisation d'APISIXOptimisationNon
Support amélioré de la découverte de servicesÉcosystème, FonctionEntreprises dépendant des microservicesNon
Cadre xRPCÉcosystème, FonctionEntreprises InternetRéduire les coûts des serveursNon
Observabilité sur L4FonctionGrandes et moyennes entreprises avec des fonctions métier complexesAméliorer l'observabilitéNon
Support de Gateway APIÉcosystèmeEntreprises InternetGérer les API mieux pour les utilisateurs entreprisesOui
Plus de plugins : OpenFunction, ClickHouse, Elasticsearch, SAML, CASÉcosystème, FonctionEntreprises InternetVariables d'environnement pour OSS, AWS Secrets Manager et HashiCorp Vault pour EntrepriseNon
Plan AIIntelligenceEntreprises InternetProblèmes de performances avec un grand nombre d'API et réduction des coûts des serveursNon

Une autre information que nous pouvons tirer du tableau ci-dessus est qu'Apache APISIX s'améliore en termes d'écosystème et de fonctionnalités. Parmi ces points forts, il y a deux points principaux.

  • Plan AI : En plus du plan de données et du plan de contrôle, Apache APISIX ajoute un plan AI dans la version 3.0, qui soulage les développeurs d'applications et d'opérations de la pression d'utilisation et de maintenance (O&M) grâce à l'apprentissage et à l'analyse du trafic API et de la configuration. Par exemple, les deux scénarios suivants peuvent être automatiquement optimisés par le plan AI :

    1. Détecter les API sans authentification et envoyer des avertissements de risque aux gestionnaires.
    2. Accélérer le traitement en sautant les étapes inutiles pour les API qui ne sont configurées qu'avec des plugins dans l'étape d'accès, comme l'authentification.

    Le plan AI apporte de nouvelles possibilités au traitement du trafic. À l'avenir, un préchauffage automatique des services en amont et la détection des menaces de sécurité pourront tous être traités par le plan AI.

  • Support complet d'ARM64 : ARM64 est devenu une architecture de serveur très courante pour les fournisseurs de cloud. Divers fournisseurs de cloud ont commencé à déployer des serveurs basés sur l'architecture Arm comme AWS Graviton et GCP Tau T2A. Apache APISIX a effectué un test de régression CI complet sur ARM64 pour garantir la fluidité lorsque les utilisateurs exécutent Apache APISIX sous l'architecture Arm. Les utilisateurs y attachent une grande importance. La comparaison des performances de l'architecture ARM avec GCP et AWS a reçu près de 100 commentaires sur Hacker News.

Conclusion

Kong Gateway 3.0 a fait de nouveaux progrès en matière de conformité, d'utilisabilité, de fonctionnalités et de performances, en se concentrant davantage sur la conformité en matière de sécurité pour les entreprises. Toutes les fonctionnalités introduites par Apache APISIX 3.0 sont open source tout en accordant plus d'attention à l'écosystème et à l'exploration de nouvelles technologies.

Voyons comment Kong et Apache APISIX vont itérer et se développer à l'avenir !

Tags: