A principio de año comentamos la importancia de un API Gateway en tu arquitectura de microservicios. Hoy quiero presentarte a Kong, un API Manager Open Source. Prácticamente todas las aplicaciones basadas en microservicios deberían consumirse mediante una API Gateway, para que interactúe como un único punto de entrada en el conjunto de microservicios, enrutando las solicitudes y la traducción de protocolos.
Hay muchos API Gateway managers y estos son algunos de los más comunes: WSO2, AWS API Gateway, 42crunch, 3scale y Kong. Por lo general, son herramientas de fácil gestión, y cada una tiene sus pros y contras.
Kong API Gateway
Kong es una aplicación programada en Lua que se ejecuta en Nginx aprovechando el módulo lua-nginx. Esta base permite que Kong sea extensible a través de una arquitectura de scripts Lua (denominados "complementos") que se pueden cargar en ‘caliente’, mientras está en ejecución.
En Mashape LLC, antiguo nombre de la compañía, en la actualidad Kong Inc, se construyó Kong originalmente para asegurar, administrar y extender más de 15.000 API y microservicios para su API Marketplace, con más de miles de millones de solicitudes por mes para más de 200.000 desarrolladores. Hoy en día, Kong se utiliza en implementaciones muy críticas en organizaciones tanto grandes como pequeñas. Durante los últimos años se ha ganado el éxito, dando servicios a empresas como Skyscanner, Harvard University, HealthCare.gov, Yahoo!, The New York Times, Nokia, Intel, GIPHY o Ferrari.
Características de Kong API Gateway
Veamos algunas de sus características:
- Escalable: Kong está orientado a escalar sin dificultad. Escalará horizontalmente, simplemente agregando más máquinas.
- Modular: Kong se puede ampliar agregando nuevos complementos, que se configuran fácilmente a través de la API de administración RESTful de Kong.
- Se ejecuta desde cualquier infraestructura: Kong se ejecuta en cualquier lugar. Puedes ejecutar Kong en cloud o en entornos locales.
- API first: Toda su configuración se realiza mediante API, como el propósito de API Gateway manda! :). Aunque puedes añadir un front-end de gestión como Konga.
- Complementos: Al utilizar la programación Lua, dispones de un sinfín de scripts que te ayudarán a adaptar a Kong a las necesidades de tu negocio. Aquí te facilito una lista de complementos.
- Open-source: El core de Kong es Open-Source, aunque Kong Inc ofrece una versión Enterprise para facilitarte la gestión de tu API Gateway, incluso Kong Cloud, la versión Enterprise como SaaS para empezar a disponer de una solución API Gateway de inmediato.
Ventajas de Kong
Kong te permite conectar todos tus microservicios y API’s de forma escalable y flexible. Acelerando tus servicios al disminuir la latencia de tus desarrollos. Kong se encarga de facilitarte todo lo necesario para satisfacer la demanda de tus necesidades y gestión de API Gateway.
Podrás usar los complementos para ampliar y conectar servicios en entornos híbridos y multicloud, independientemente del proveedor.
Acelera la innovación utilizando la robusta biblioteca de complementos de Kong y así podrás reducir las tareas de codificación redundantes de tu equipo.
Te permite mejorar la organización de los datos en tiempo real para garantizar el cumplimiento de tus políticas de negocio.
Kong se adapta a todo tipo de arquitecturas, desde aplicaciones monolíticas, microservicios, mesh o serverless, pronto hablaremos de este concepto Serverless API.
Además, también dispone de Kubernetes, para que no tengas que administrar un clúster de Kong. El Kubernetes Ingress Controller de Kong implementa autenticación, transformaciones y otras funcionalidades en los clúster Kubernetes para garantizar la máxima disponibilidad.
Conclusiones
Con Kong no tendrás excusa para implementar un API Gateway en tus servicios, se adaptará a tus necesidades, sean arquitecturas monolíticas, microservicios, múltiples API’s o Serverless. Además de garantizarte una alta disponibilidad escalando y reduciendo la latencia como Open-Source.
¿Tus servicios ya disponen de un API Gateway? Recuerda que si tienes cualquier duda solo tienes que contactarnos y te ayudamos a despegar tus proyectos.
Photo by Teodor Kuduschiev on Unsplash
Referencias: