Ir al contenido principal

Event Streaming

Se trata de la recopilación de eventos de datos en tiempo real de varias fuentes de eventos.

¿Qué es?

Event streaming o flujo de eventos es la recopilación de eventos de datos en tiempo real de varias fuentes de eventos. Las fuentes pueden incluir bases de datos, aplicaciones de software, sensores, dispositivos móviles, y servicios de infraestructura o en el Cloud. Los eventos se recopilan en forma de flujos de datos o streams sin vincular y se guardan en registros para su recuperación, manipulación, o procesamiento en el futuro. Las fuentes de los eventos se refieren, por lo general, a quienes producen los datos. Los consumidores de los eventos pueden reaccionar en tiempo real o de forma retrospectiva, y también pueden crear nuevos Event streaming (procesamiento de flujos de datos).

Las plataformas de Event streaming son una clase amplia de middleware orientado a mensajes (MoM), las cuales los organizan por temas, en lugar de hacer colas de mensajes y temas de forma tradicional. También difieren en cómo los organizan, ya que en las tecnologías MoM tradicionales no se asegura el orden de los mensajes a menos que se realice una configuración específica FIFO (primero en entrar, primero en salir). 

Otra diferencia importante de la cola de mensajes tradicional es la permanencia de los registros. Las colas de mensajes generalmente procesan los mensajes y luego los descartan. El Event streaming permanece en registros históricos de todas las transacciones, y, en consecuencia, es una fuente de información para el análisis y la inteligencia de datos generales.

Propuesta de valor de la capacidad

Las plataformas de Event streaming normalmente pueden escalar y lograr manejar un billón de eventos por día y ofrecer garantías temporales más fiables que los MoM tradicionales. Un Event streaming es un registro de solo adición de eventos ordenados. Esto las vuelve muy rápidas y durables; en cambio, las tecnologías de mensajería tradicionales, por lo general, descartan los eventos de la cola o tema una vez que se leyeron. La tecnología es el apoyo fundamental de una arquitectura event-driven y se la conoce normalmente como la columna de eventos.

La arquitectura event-driven está asociada a diversas ventajas clave en monolitos de aplicaciones más tradicionales:

  • Acoplamiento impreciso entre servicios y componentes.
  • Desacoplamiento preciso de productores y consumidores.
  • Capacidad de escalar servicios o componentes individuales.
  • Despliegue independiente de los componentes y servicios.
  • Alta afinidad en la nube.
  • Mensajería basada en inserción asincrónica.
  • Tolerancia a fallas y mejor resiliencia.
  • Capacidad de desarrollar segmentaciones de procesamiento.
  • Capacidad para que los brókeres sofisticados reduzcan la complejidad del código.
  • Event streaming en tiempo real para ciencia de datos y aprendizaje automático.

La arquitectura y la tecnología van de la mano con la arquitectura de los microservicios, pero también se utilizan cada vez con mayor frecuencia en situaciones de integración de datos más tradicionales. Los conectores de sistemas, aplicaciones, y tecnologías comunes permiten que los datos se ofrezcan a escala para consumo en cualquier parte de la empresa. 

Usos habituales o casos de uso

  • Mensajería, por ejemplo, como reemplazo de un bróker de mensajería tradicional.
  • Seguimiento de actividad en sitios web, por ejemplo, el seguimiento de la actividad del usuario.
  • Métricas, por ejemplo, para el seguimiento de datos operativos de diversas aplicaciones.
  • Acumulación de registros, por ejemplo, la abstracción de la información de registros a partir de registros basados en archivos tradicionales.
  • Procesamiento de flujos, por ejemplo, el procesamiento de datos en segmentaciones que constan de varias etapas.

Muchas empresas de distintas industrias que implementan iniciativas de transformación digital están utilizando los Event streaming como uno de los principales facilitadores de la tecnología. Casi todas las industrias pasan por situaciones en donde un enfoque even-driven puede brindar resultados innovadores:

  • Industria automotriz: seguimiento y control de eventos de vehículos, automóviles sin conductores, ciudades inteligentes, etc.
  • Fábricas: eventos de planta, eventos de líneas de fabricación a partir de dispositivos de IoT.
  • Atención médica: eventos de equipos hospitalarios y de pacientes.
  • Venta minorista: entendimiento de los comportamientos del cliente, eventos de procesamiento de pedidos.
  • Logística: seguimiento de eventos en la cadena de suministro.

Los Event streaming son comportamientos efectivos y, en consecuencia, se utilizan en gran medida en la inteligencia artificial y situaciones de aprendizaje de máquinas. Además, brindan oportunidades de análisis reales en tiempo real, lo que les permite a las empresas tomar decisiones empresariales más precisas y oportunas.

Prácticas de implementación recomendadas

La práctica recomendable de la implementación event-driven comienza con el diseño de datos en virtud de los eventos y, específicamente, la granularidad de los eventos. Al igual que las API, debemos diseñar eventos pensando en el consumidor. ¿Qué carga significa el evento que producimos para el suscriptor de dicho evento? Los eventos de granularidad muy fina pueden dejar al consumidor con la necesidad de acumular diversos eventos antes de poder actuar. Un ejemplo de esto podría ser un evento para todos los cambios de campo dentro de un registro que debe compilarse en una actualización de registro. Si los eventos tienen una granularidad muy gruesa, existe la posibilidad de omitir el comportamiento en el evento y el valor subyacente que el Event streaming puede brindar. 

El próximo paso es agrupar los datos relacionados con el evento. Es posible que haya una tendencia a desnormalizar todas las estructuras del evento, por lo que, en última instancia, pueden tornarse rígidas e imposibilitar el trabajo con ellas, en especial en cambios de estructuras de eventos. Naturalmente, la agrupación puede generar también la definición de requisitos de procesamiento de flujos. Tenemos que aceptar que las estructuras de los eventos pueden cambiar con el tiempo, pero debemos procurar no perder los suscriptores de los eventos. Un acoplamiento impreciso no implica una falta total de contrato entre el productor y el consumidor. El contrato depende de garantizar que el evento pueda interpretarse sin el conocimiento inherente del sistema o dispositivo subyacente que lo produjo. 

Las empresas necesitan estructurar, dimensionar, y dividir su arquitectura de eventos de forma adecuada. Las arquitecturas event-driven suelen ser bastante complejas. El rediseño general no es algo con lo que se recomienda lidiar después de una implementación. Los datos de eventos se dividen en la infraestructura y algo que a simple vista parezca un cambio leve puede tener efectos mucho mayores que los previstos. Trabajar con el proveedor de la tecnología y un socio como Chakray para asegurar tu configuración puede ayudar a evitar errores costosos en el proceso.

¿En qué se diferencian las tecnologías?

Existen diversos proveedores y tecnologías en el espacio de los Event streaming. Apache Kafka es uno de los más reconocidos y utilizados. No obstante, Microsoft Azure Event Grid/Hub, Google Pub/Sub, Amazon Kinesis y Solace PubSub+ también tienen una sólida adopción en el mercado. Los compradores también pueden acceder a diversas distribuciones de proveedores de Apache Kafka, cuya distribución más famosa es Confluent Kafka. No obstante, Microsoft, Amazon, y Aiven también proporcionan una implementación compatible con Kafka.

Confluent se distingue por su contribución continua y patrocinio del proyecto Apache Kafka, la cual tiene miembros fundadores del proyecto en la empresa. Confluent proporciona una cantidad de componentes y servicios únicos para Apache Kafka que no están disponibles en el mercado.

La selección de una tecnología adecuada para el Event streaming en algunas empresas puede estar impulsada por sus inversiones existentes de infraestructuras en el Cloud. Las empresas que han invertido considerablemente en Azure pueden elegir entre Event Grid o Event Hubs. Los que hayan invertido en Google pueden optar por Google Pub/Sub. Se aplican los mismos principios de éxito sin importar la tecnología subyacente.

¿Por qué elegir Chakray?

Como expertos en datos e integraciones, ayudamos a las empresas a transitar sus recorridos de Event streaming, establecer los cimientos correctos, desplegar la arquitectura adecuada, y determinar las capacidades correctas dentro de la empresa. En Chakray, consideramos el event-driven una parte más del marco de integración independiente. Es una herramienta y capacidad que desplegamos para resolver un problema empresarial o afrontar la necesidad de una empresa.

Puede que te interese...

Más información y lecturas sobre temas relacionados con esta página.

Ebook

El importante rol del CIO Event-Driven

Los analistas están informando a otros CIO de que la arquitectura Event-Driven es la fórmula secreta de la ventaja competitiva y del crecimiento El

Jamie Carter
Head of Business and Architecture Services
Chakray
Editing Team
legacy
Sudaraka Jayashanka
Managing Director
Jesús Amorós
Leader DevOps Engineer

Habla con nuestros expertos

Habla con nosotros sobre las capacidades que quieres implantar o mejorar en tu organización

Contáctanos