En los últimos años la tendencia de descentralizar servicios ha llevado a las compañías a optar por arquitecturas de microservicios. El problema es que en ocasiones la transmisión de información entre estos microservicios puede convertirse en un cuello de botella que hace peligrar el correcto funcionamiento de los servicios. Por eso es importante contar con una plataforma que permita la gestión de datos e intermediación de mensajes entre servicios en tiempo real y de forma distribuida.
Apache Kafka es una plataforma unificada open source de alto rendimiento y de baja latencia para manipular fuentes de datos en tiempo real y de forma distribuida, que permite manejar millones de registros al día. Comenzó en 2011 como un proyecto de Apache Software Foundation para ser un sistema de cola de mensajes, pero finalmente evolucionó a una plataforma de transmisión de datos. Está escrito en Java y Scala, y es horizontalmente escalable y tolerante a fallos. Permitirte publicar y suscribirte a flujo de datos (similar a una cola de mensajes), contar con un sistema de almacenamiento de registros persistente, y procesar flujos de datos en tiempo real.
En decide4AI utilizamos Apache Kafka al igual que grandes compañías como Airbnb, Uber, Netflix, Goldman Sachs, LinkedIn, Microsoft, The New York Times o Target, para la recepción masiva y continua de eventos, su tratamiento en tiempo real y la explotación de la información resultante.
Por ejemplo, a través de Kafka podemos gestionar en tiempo real:
- La captura de los eventos de creación, modificación o borrado de información de los clientes de una compañía.
- El tratamiento de estos eventos (filtrado, enriquecimiento, clasificación, etc.)
- El volcado de la información en:
- Una base de datos para implementar consultas muy rápidas sobre la misma.
- Un lago de datos para su explotación analítica.
Beneficios de utilizar Apache Kafka
Kafka es actualmente bajo nuestro punto de vista la mejor herramienta en el mercado para el procesamiento de eventos en tiempo real. Tiene mucha robustez y un performance enorme, algo que puede verse en sus numerosos casos de éxito. Su gran capacidad de escalabilidad y las opciones que ofrece de securización a nivel de tránsito de la información y a nivel de la información en reposo, suponen una gran ventaja competitiva frente a otros competidores. Además, Apache Kafka se ofrece tanto en modo on-premise como en modo SaaS en Cloud (Confluent). La opción Cloud asegura un servicio con SLAs muy altos sin tener que preocuparse de su mantenimiento.
En decide4AI utilizamos Kafka porque nos permite ofrecer a nuestros clientes una gran velocidad de procesamiento, un aseguramiento de la disponibilidad de la información a un nivel altísimo, y una gran escalabilidad.
También es importante remarcar que cuenta con un ecosistema de conectores desde/hacia multitud de sistemas, en constante crecimiento.
En definitiva… Apache Kafka es una herramienta muy poderosa en el procesamiento y transmisión de datos en tiempo real. En decide4AI la utilizamos para procesar, almacenar y conectar los datos de aplicaciones y servicios de forma segura en tiempo real, para poder ofrecer una mayor agilidad y seguridad a nuestros clientes.
¿Quieres conocer qué otras tecnologías y herramientas utilizamos en decide4AI?
Si quieres saber más sobre decide4AI y mantenerte al tanto de futuros webinar o eventos, síguenos en las redes sociales (Linkedin, Twitter, Youtube).