Tendencias de API Gateway detrás de las características: Apache APISIX 3.0 vs. Kong 3.0

Yilia Lin

Yilia Lin

October 16, 2022

Products

El 28 de septiembre de 2022, Kong lanzó la nueva versión de Kong Gateway 3.0, que logró nuevas funciones y mejoras de rendimiento. El 21 de septiembre, Apache APISIX, un proyecto de nivel superior de la Apache Software Foundation, también lanzó la versión preliminar de Apache APISIX 3.0, presentando diez aspectos destacados en términos de ecosistema y características.

Echemos un vistazo más de cerca a la versión 3.0 de estos dos populares proyectos de API Gateway de código abierto y descubramos la tendencia de desarrollo detrás de estas actualizaciones.

Primero, veamos los ocho aspectos destacados de Kong Gateway 3.0.

Ocho aspectos destacados de Kong Gateway 3.0

Aspectos destacadosOSS/EnterpriseTipoUsuario objetivoMejoraSi APISIX lo soportaNotas
FIPS 140-2Versión EnterpriseCumplimientoCorporaciones financieras y gobiernos de América del NorteCumplimientoNoNo aplicable
Gestión de secretosAmbosCumplimientoCorporaciones financierasOSS: variables de entorno

Enterprise: AWS Secrets Manager y HashiCorp Vault
APISIX soporta HashiCorp Vault desde diciembre de 2021 en OSS: feat(vault): módulo vault lua, integración con el plugin de autenticación jwt-auth

Kong en febrero de 2022: feat(vaults) añade soporte beta para vaults en kong
Orden de pluginsVersión EnterpriseUsabilidadEmpresas medianas y grandes con escenarios complejosAumentar la flexibilidad empresarial con pluginsAPISIX en junio de 2022: feat: permite a los usuarios especificar la prioridad de ejecución de plugins

Kong en julio de 2022: feat(plugins) añade soporte para ordenar
Kong Manager 3.0Versión EnterpriseUsabilidadEmpresas medianas y grandes sin muchos equipos técnicosGestionar APIs mejor para usuarios empresarialesNo aplicable
Soporte profundo de WebsocketVersión EnterpriseFunciónUsuarios empresariales que utilizan profundamente websocketVerificar el esquema de websocket y limitar el tamaño de los frames de websocketSí, parcialmenteKong en diciembre de 2016: feat(proxy) soporta websockets

APISIX soporta proxy de solicitudes websocket, y puede usarse con plugins como limit-conn en enero de 2020: feature: upstream soporta websocket enable
OpenTelemetryAmbosFunciónEmpresas medianas y grandes con cadenas de llamadas empresariales complejasMejorar la observabilidadKong en junio de 2022: feat(plugins) plugin opentelemetry

APISIX en enero de 2022: feat: añade plugin opentelemetry
Mejoras de rendimientoAmbosRendimientoProveedores de nube, proveedores de SaaS de rápido crecimientoReducir costos de servidoresApache APISIX ha superado en rendimiento a otras API gateways desde su lanzamiento en 2019.
Nuevo motor de enrutamientoAmbosRendimientoProveedores de nube, proveedores de SaaS de rápido crecimientoResolver problemas de rendimiento con un gran número de APIs y reducir costos de servidoresKong en julio de 2022: feat(router) nuevo soporte de router basado en DSL y corrección de pruebas

APISIX en agosto de 2019: feature: soporta el uso de router lua-resty-radixtree

Podemos analizar tres tendencias a partir de los aspectos destacados de Kong Gateway 3.0:

  1. La inversión de Kong en seguridad y cumplimiento en el sector financiero es relativamente grande, lo que se puede analizar en términos de cumplimiento con FIPS 140-2 y la gestión de secretos.
  • Cumplimiento con FIPS 140-2: FIPS 140-2 es un estándar de seguridad informática utilizado por empresas financieras y gobiernos de América del Norte para aprobar módulos de cifrado. Kong Gateway 3.0 Enterprise Version está construido sobre BoringSSL y adaptará los plugins para cumplir con los requisitos del estándar. El soporte de Kong para FIPS 140-2 refleja la fase de desarrollo de Kong: después de siete años de iteración, Kong se ha centrado gradualmente en usuarios pagos, tendiendo a satisfacer las necesidades de empresas financieras y gobiernos.

  • Gestión de secretos: Los usuarios objetivo de esta función también son empresas financieras. Kong Gateway 3.0 permite a los usuarios almacenar de manera segura información sensible en AWS Secrets Manager y HashiCorp Vault, a los que Kong puede acceder en tiempo de ejecución. De esta manera, se logra un mayor nivel de protección de seguridad.

  1. A partir de los enlaces de PR de cada aspecto destacado, podemos saber que la mayoría de los ocho aspectos destacados de Kong Gateway 3.0 fueron implementados antes por Apache APISIX.

  2. Kong Gateway 3.0 tiene una mejora relativamente significativa en el rendimiento por dos razones:

  • Kong añade una capa de caché en el enrutamiento, mejorando enormemente el rendimiento en los benchmarks. Sin embargo, el problema es que la caché se invalida cuando cambia la dirección URL. Para más detalles, consulta el enlace de código a continuación: atc.lua

  • Kong utiliza Rust para implementar un nuevo motor de enrutamiento, utilizando DSL para aumentar la expresividad de la capa de enrutamiento. Al recibir y enviar solicitudes HTTP, puedes escribir expresiones como esta:

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

    En escenarios donde la ruta solicitada coincide con un host específico, se puede escribir la siguiente expresión:

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

    Podemos comparar con Apache APISIX. Apache APISIX implementó una función similar de expresión de enrutamiento utilizando Lua-resty-radixtree en agosto de 2019. Las expresiones de APISIX soportan variables NGINX arbitrarias y tienen operadores más abundantes. Además de las comparaciones numéricas y de cadenas comunes, también se soportan expresiones regulares, arrays y direccionamiento IP.

La mayoría de estos ocho aspectos destacados en la versión de Kong Gateway 3.0 están sesgados hacia la versión empresarial. Las siguientes dos figuras pueden reflejar de manera más intuitiva la tendencia de desarrollo tecnológico de Kong.

La proporción de las versiones OSS y Enterprise en los 8 aspectos destacados de Kong Gateway 3.0

Aspectos destacados soportados por Apache APISIX en Kong Gateway 3.0

Las características lanzadas en Kong Gateway 3.0 se centran en el gobierno, la industria financiera y grandes empresas que están más preocupadas por el cumplimiento de seguridad.

Análisis de los ocho aspectos destacados de Apache APISIX 3.0

El API Gateway de código abierto Apache APISIX lanzó una vista previa de la versión 3.0, que incluye diez aspectos destacados de la versión 3.0 de Apache APISIX. El autor seleccionó los ocho puntos más críticos para su análisis. Estos ocho aspectos destacados son todos para versiones de código abierto, centrándose en mejoras de ecosistema y tecnológicas.

Aspectos destacadosTipoUsuario objetivoMejoraSi Kong lo soporta
Soporte completo de ARM64EcosistemaEmpresas migrando a la nube a gran escalaReducir costos de servidoresSí, parcialmente
Cliente gRPCRendimientoRequisitos de optimización de APISIXOptimizaciónNo
Soporte mejorado de descubrimiento de serviciosEcosistema, FunciónNegocios que dependen de microserviciosNo
Marco xRPCEcosistema, FunciónEmpresas de internetReducir costos de servidoresNo
Observabilidad en L4FunciónEmpresas medianas y grandes con funciones empresariales complejasMejorar la observabilidadNo
Soporte para Gateway APIEcosistemaEmpresas de internetGestionar APIs mejor para usuarios empresariales
Más plugins: OpenFunction, ClickHouse, Elasticsearch, SAML, CASEcosistema, FunciónEmpresas de internetVariables de entorno para OSS, AWS Secrets Manager y HashiCorp Vault para EnterpriseNo
Plano AIInteligenciaEmpresas de internetProblemas de rendimiento con un gran número de APIs y reducción de costos de servidoresNo

Otra información que podemos obtener de la tabla anterior es que Apache APISIX mejora en aspectos de ecosistema y funcionalidad. Entre estos aspectos destacados, hay dos puntos principales:

  • Plano AI: Además del plano de datos y el plano de control, Apache APISIX añade un plano AI en la versión 3.0, que alivia a los desarrolladores de aplicaciones y operaciones de la presión de uso y O&M (operación y mantenimiento) mediante el aprendizaje y análisis del tráfico y configuración de API. Por ejemplo, los siguientes dos escenarios pueden ser optimizados automáticamente por el plano AI:

    1. Descubrir APIs sin autenticación y enviar advertencias de riesgo a los administradores.
    2. Acelerar el procesamiento omitiendo etapas innecesarias para APIs que solo están configuradas con plugins en la etapa de acceso, como la autenticación de identidad.

    El plano AI abre nuevas posibilidades para el procesamiento de tráfico. En el futuro, un calentamiento automático de servicios upstream y la detección de amenazas de seguridad podrían ser procesados a través del plano AI.

  • Soporte completo para ARM64: ARM64 se ha convertido en una arquitectura de servidor muy popular para proveedores de nube. Varios proveedores de nube han comenzado a lanzar servidores basados en arquitectura Arm como AWS Graviton y GCP Tau T2A. Apache APISIX ha realizado pruebas de regresión CI completas en ARM64 para garantizar la fluidez cuando los usuarios ejecutan Apache APISIX bajo la arquitectura Arm. Los usuarios se preocupan mucho por esto. La comparación de rendimiento de la arquitectura ARM con GCP y AWS ha recibido casi 100 comentarios en Hacker News.

Conclusión

Kong Gateway 3.0 ha logrado nuevos avances en cumplimiento, usabilidad, funciones y rendimiento, centrándose más en el cumplimiento de seguridad empresarial. Todas las funciones introducidas por Apache APISIX 3.0 son de código abierto, prestando más atención al ecosistema y la exploración de nuevas tecnologías.

¡Esperemos a ver cómo Kong y Apache APISIX iterarán y se desarrollarán en el futuro!

Tags: