API Gateway Trends behind Features: Apache APISIX 3.0 vs. Kong 3.0
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 forts | OSS/Entreprise | Type | Utilisateur cible | Amélioration | Si APISIX supporte | Notes |
---|---|---|---|---|---|---|
FIPS 140-2 | Version Entreprise | Conformité | Sociétés financières et gouvernements nord-américains | Conformité | Non | Non applicable |
Gestion des secrets | Les deux | Conformité | Sociétés financières | OSS : variables d'environnement Entreprise : AWS Secrets Manager et HashiCorp Vault | Oui | APISIX 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 plugins | Version Entreprise | Utilisabilité | Grandes et moyennes entreprises avec des scénarios complexes | Augmenter la flexibilité des plugins pour les entreprises | Oui | APISIX juin 2022 : feat: allows users to specify plugin execution priority Kong juillet 2022 : feat(plugins) add support for ordering |
Kong Manager 3.0 | Version Entreprise | Utilisabilité | Moyennes et grandes entreprises sans beaucoup d'équipes techniques | Gérer les API mieux pour les utilisateurs entreprises | Oui | Non applicable |
Support approfondi de Websocket | Version Entreprise | Fonction | Utilisateurs entreprises utilisant intensivement websocket | Vérifier le schéma websocket et limiter la taille des trames websocket | Oui, partiellement | Kong 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 |
OpenTelemetry | Les deux | Fonction | Grandes et moyennes entreprises avec des chaînes d'appels complexes | Améliorer l'observabilité | Oui | Kong juin 2022 : feat(plugins) opentelemetry plugin APISIX janvier 2022 : feat: add opentelemetry plugin |
Améliorations de performances | Les deux | Performance | Fournisseurs de cloud, fournisseurs SaaS en croissance rapide | Réduire les coûts des serveurs | Oui | Apache APISIX surpasse les autres passerelles API en termes de performances depuis son open-sourcing en 2019. |
Nouveau moteur de routage | Les deux | Performance | Fournisseurs de cloud, fournisseurs SaaS en croissance rapide | Résoudre les problèmes de performances avec un grand nombre d'API et réduire les coûts des serveurs | Oui | Kong 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 :
- 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.
-
À 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.
-
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.
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 forts | Type | Utilisateur cible | Amélioration | Si Kong supporte |
---|---|---|---|---|
Support complet d'ARM64 | Écosystème | Entreprises migrant massivement vers le cloud | Réduire les coûts des serveurs | Oui, partiellement |
Client gRPC | Performance | Exigences d'optimisation d'APISIX | Optimisation | Non |
Support amélioré de la découverte de services | Écosystème, Fonction | Entreprises dépendant des microservices | Non | |
Cadre xRPC | Écosystème, Fonction | Entreprises Internet | Réduire les coûts des serveurs | Non |
Observabilité sur L4 | Fonction | Grandes et moyennes entreprises avec des fonctions métier complexes | Améliorer l'observabilité | Non |
Support de Gateway API | Écosystème | Entreprises Internet | Gérer les API mieux pour les utilisateurs entreprises | Oui |
Plus de plugins : OpenFunction, ClickHouse, Elasticsearch, SAML, CAS | Écosystème, Fonction | Entreprises Internet | Variables d'environnement pour OSS, AWS Secrets Manager et HashiCorp Vault pour Entreprise | Non |
Plan AI | Intelligence | Entreprises Internet | Problèmes de performances avec un grand nombre d'API et réduction des coûts des serveurs | Non |
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 :
- Détecter les API sans authentification et envoyer des avertissements de risque aux gestionnaires.
- 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 !