Tendencias de API Gateway detrás de las características: Apache APISIX 3.0 vs. Kong 3.0
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 destacados | OSS/Enterprise | Tipo | Usuario objetivo | Mejora | Si APISIX lo soporta | Notas |
---|---|---|---|---|---|---|
FIPS 140-2 | Versión Enterprise | Cumplimiento | Corporaciones financieras y gobiernos de América del Norte | Cumplimiento | No | No aplicable |
Gestión de secretos | Ambos | Cumplimiento | Corporaciones financieras | OSS: variables de entorno Enterprise: AWS Secrets Manager y HashiCorp Vault | Sí | 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 plugins | Versión Enterprise | Usabilidad | Empresas medianas y grandes con escenarios complejos | Aumentar la flexibilidad empresarial con plugins | Sí | APISIX 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.0 | Versión Enterprise | Usabilidad | Empresas medianas y grandes sin muchos equipos técnicos | Gestionar APIs mejor para usuarios empresariales | Sí | No aplicable |
Soporte profundo de Websocket | Versión Enterprise | Función | Usuarios empresariales que utilizan profundamente websocket | Verificar el esquema de websocket y limitar el tamaño de los frames de websocket | Sí, parcialmente | Kong 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 |
OpenTelemetry | Ambos | Función | Empresas medianas y grandes con cadenas de llamadas empresariales complejas | Mejorar la observabilidad | Sí | Kong en junio de 2022: feat(plugins) plugin opentelemetry APISIX en enero de 2022: feat: añade plugin opentelemetry |
Mejoras de rendimiento | Ambos | Rendimiento | Proveedores de nube, proveedores de SaaS de rápido crecimiento | Reducir costos de servidores | Sí | Apache APISIX ha superado en rendimiento a otras API gateways desde su lanzamiento en 2019. |
Nuevo motor de enrutamiento | Ambos | Rendimiento | Proveedores de nube, proveedores de SaaS de rápido crecimiento | Resolver problemas de rendimiento con un gran número de APIs y reducir costos de servidores | Sí | Kong 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:
- 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.
-
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.
-
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.
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 destacados | Tipo | Usuario objetivo | Mejora | Si Kong lo soporta |
---|---|---|---|---|
Soporte completo de ARM64 | Ecosistema | Empresas migrando a la nube a gran escala | Reducir costos de servidores | Sí, parcialmente |
Cliente gRPC | Rendimiento | Requisitos de optimización de APISIX | Optimización | No |
Soporte mejorado de descubrimiento de servicios | Ecosistema, Función | Negocios que dependen de microservicios | No | |
Marco xRPC | Ecosistema, Función | Empresas de internet | Reducir costos de servidores | No |
Observabilidad en L4 | Función | Empresas medianas y grandes con funciones empresariales complejas | Mejorar la observabilidad | No |
Soporte para Gateway API | Ecosistema | Empresas de internet | Gestionar APIs mejor para usuarios empresariales | Sí |
Más plugins: OpenFunction, ClickHouse, Elasticsearch, SAML, CAS | Ecosistema, Función | Empresas de internet | Variables de entorno para OSS, AWS Secrets Manager y HashiCorp Vault para Enterprise | No |
Plano AI | Inteligencia | Empresas de internet | Problemas de rendimiento con un gran número de APIs y reducción de costos de servidores | No |
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:
- Descubrir APIs sin autenticación y enviar advertencias de riesgo a los administradores.
- 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!