hace 9 años
En el vertiginoso mundo del desarrollo de software moderno, la arquitectura orientada a eventos (EDA) se ha convertido en un paradigma fundamental para construir aplicaciones ágiles, escalables y en tiempo real. Sin embargo, a medida que las organizaciones adoptan la EDA, se enfrentan al desafío de gestionar la creciente complejidad de los flujos de eventos, las API basadas en eventos y las aplicaciones que los consumen y producen. Aquí es donde entra en juego el portal de eventos, una herramienta esencial que ofrece una solución integral para orquestar este ecosistema dinámico.
https://www.youtube.com/watch?v=PLY1Ks8JEfJR6za1LYULYqO_jgPHWa_0tw
- ¿Qué es Exactamente un Portal de Eventos?
- ¿Por Qué las Organizaciones Necesitan un Portal de Eventos?
- ¿Quiénes Utilizan los Portales de Eventos y Por Qué?
- ¿En Qué se Diferencia un Portal de Eventos de un Registro de Esquemas?
- ¿Cómo Ayuda un Portal de Eventos a Construir Aplicaciones Orientadas a Eventos?
- ¿Cómo Ayuda un Portal de Eventos a Gestionar, Monitorizar y Gobernar Sistemas Orientados a Eventos?
- ¿Qué es una Malla de Eventos (Event Mesh) y Cómo se Relaciona con un Portal de Eventos?
- Conclusión
- Preguntas Frecuentes (FAQs)
¿Qué es Exactamente un Portal de Eventos?
Un portal de eventos es una plataforma de software diseñada para capacitar a las organizaciones de TI en la creación, el intercambio y la administración eficiente de flujos de eventos, APIs basadas en eventos y aplicaciones impulsadas por eventos, todo ello dentro del marco de una arquitectura orientada a eventos. Imagina un centro de control centralizado donde los productores y consumidores de eventos pueden conectarse, colaborar y definir políticas de uso y suscripción a estos flujos.

Según Forrester, en su informe "Use EDA In Your Quest For Modern Applications", un portal de eventos, al igual que un portal de usuario de APIs, proporciona un espacio crucial para que los publicadores de eventos y los consumidores (también conocidos como sinks) se conecten y colaboren en las políticas de uso de eventos y la suscripción a los flujos de eventos. En esencia, actúa como un nexo que facilita la interacción y la gestión dentro del ecosistema de eventos.
¿Por Qué las Organizaciones Necesitan un Portal de Eventos?
En las etapas iniciales de la adopción de la arquitectura orientada a eventos, cuando solo algunos equipos dentro de una organización la implementan, la coordinación y el seguimiento pueden parecer manejables. No obstante, a medida que la EDA se expande y la variedad de brokers de eventos (como Kafka, Solace, entre otros) se multiplica, la complejidad aumenta exponencialmente. Mantener la visibilidad, fomentar la reutilización y evitar conflictos se vuelve una tarea ardua.
Analistas líderes de la industria, como Forrester, señalan que, al igual que las APIs, los eventos requieren una gestión de políticas y un portal de usuario dedicado. Este portal se convierte en un punto de acceso único donde los clientes pueden encontrar todo lo necesario para interactuar con los eventos de manera eficiente. La necesidad de un portal de eventos se intensifica a medida que la organización escala su adopción de EDA.
Gartner también destaca esta necesidad en su informe "Top 3 Trends in Application Architecture That Enable Digital Business", señalando que si bien la mayoría de las organizaciones cuentan con infraestructura básica de procesamiento de eventos, carecen de las herramientas de productividad de alto nivel que faciliten a los desarrolladores el diseño, desarrollo, prueba y gestión de aplicaciones centradas en eventos. Además, se observa una falta de herramientas para la gobernanza, publicación y administración de interfaces basadas en eventos.
¿Quiénes Utilizan los Portales de Eventos y Por Qué?
Dentro del contexto de la arquitectura orientada a eventos, los portales de eventos atienden a tres audiencias principales dentro de las organizaciones de TI:
- Arquitectos: Utilizan los portales de eventos para definir, discutir y revisar los eventos, las definiciones de datos y las relaciones entre aplicaciones. Este uso facilita la planificación estratégica y la alineación arquitectónica.
- Desarrolladores: Se benefician de los portales de eventos para descubrir, comprender y reutilizar eventos de manera más sencilla en diversas aplicaciones, líneas de negocio e incluso entre organizaciones externas. La reutilización acelera el desarrollo y reduce la redundancia.
- Científicos de Datos: Los portales de eventos les permiten comprender mejor los datos impulsados por eventos y descubrir nuevas perspectivas al combinar diferentes flujos de eventos. Esto abre la puerta a análisis más profundos y a la extracción de valor de los datos en tiempo real.
Para todos estos usuarios, la capacidad de visualizar dónde residen las diferentes versiones de aplicaciones y eventos es una ventaja significativa de los portales de eventos. Esta visibilidad mejora la colaboración y la toma de decisiones.
¿En Qué se Diferencia un Portal de Eventos de un Registro de Esquemas?
Un registro de esquemas es una herramienta que ayuda a descubrir los eventos o mensajes que existen dentro de una organización y a comprender los esquemas de carga útil (payload schemas). Su propósito principal es asegurar que los flujos de eventos no fallen en tiempo de ejecución debido a diferencias en los esquemas. El registro de esquemas se centra en la validación de datos y la coherencia estructural.
Si bien la capacidad de descubrir eventos automáticamente y permitir que desarrolladores y arquitectos revisen un menú de lo disponible es útil, el objetivo principal de los registros de esquemas es garantizar que los flujos de eventos no colapsen en tiempo de ejecución debido a discrepancias de esquemas.
Sin embargo, para implementar y gestionar eficazmente eventos y aplicaciones impulsadas por eventos a escala empresarial, se necesita ir más allá de la validación de esquemas. Es crucial poder:
- Gobernar el comportamiento y el uso de los eventos.
- Utilizar una amplia variedad de esquemas de carga útil.
- Colaborar en el diseño y la implementación de eventos.
Los portales de eventos superan las limitaciones de los registros de esquemas al permitir el diseño integral de aplicaciones, eventos y esquemas en una sola herramienta. Además, generan diagramas de red interconectados que facilitan las revisiones de diseño en equipo. Esto asegura que la implementación de eventos y aplicaciones impulsadas por eventos esté alineada con el diseño, que los cambios estén controlados por versiones y que se realice un seguimiento adecuado.
¿Cómo Ayuda un Portal de Eventos a Construir Aplicaciones Orientadas a Eventos?
De manera similar a los portales de APIs, los portales de eventos proporcionan una interfaz de usuario y herramientas de automatización que aceleran y simplifican los diversos procesos asociados con el desarrollo de APIs y aplicaciones impulsadas por eventos, así como el diseño del flujo de eventos entre sistemas construidos según los principios de la arquitectura orientada a eventos.
Descubrimiento de Flujos de Eventos Existentes y Otros Activos EDA
La primera capacidad fundamental de un portal de eventos es la capacidad de analizar o escanear automáticamente un sistema para descubrir todos los brokers de eventos, flujos de eventos y puntos finales existentes. Esto incluye identificar qué flujos de eventos se mueven entre qué puntos finales y organizar esta información en un catálogo de búsqueda.
Gartner, en su informe "Using Event-Driven Integration with Enterprise Applications", recomienda favorecer los brokers de eventos con capacidades de tipo catálogo de eventos que rastreen y expongan los diferentes tipos de eventos que fluyen a través de sus temas.

Diseño, Organización y Reutilización de Activos EDA
Las herramientas de visualización del flujo de eventos permiten mapear el flujo de eventos a través de múltiples sistemas, facilitando la gobernanza de las dependencias entre los sistemas. Esta capacidad es crucial para entender la arquitectura global y gestionar las interconexiones.
El catálogo y las herramientas de diseño de un portal de eventos también ayudan a organizar el sistema en dominios de aplicación, diseñar la interfaz asíncrona de publicación/suscripción de cada aplicación, crear eventos y su estructura de temas, y crear o importar definiciones de esquemas de carga útil en una variedad de formatos.
El catálogo de un portal de eventos proporciona a arquitectos y desarrolladores un lugar centralizado donde pueden publicar y compartir su trabajo para que otros lo examinen y reutilicen, ya sea por motivos de gobernanza y cumplimiento, o para su uso en sus propias aplicaciones impulsadas por eventos. Esta centralización fomenta la colaboración y la eficiencia.
Algunos portales de eventos incluso permiten utilizar generadores de código para generar código API específico del broker para las aplicaciones, y exportar definiciones de los flujos de eventos compatibles con AsyncAPI 2.0.0. Estas funcionalidades automatizan tareas y facilitan la integración con diferentes plataformas y estándares.
¿Cómo Ayuda un Portal de Eventos a Gestionar, Monitorizar y Gobernar Sistemas Orientados a Eventos?
Monitorización y Gobernanza
Además del "descubrimiento" inicial, un portal de eventos debe ser capaz de escanear continuamente el sistema para detectar los eventos que fluyen a través de todos los brokers de eventos y actualizar la representación visual de la jerarquía de temas de eventos que se está utilizando. La monitorización continua proporciona visibilidad en tiempo real del estado del sistema.
También deben proporcionar métricas y datos contextuales para comprender qué eventos fluyen desde y hacia qué puntos finales, permitiendo entender la linaje de datos y la utilización de eventos. Al proporcionar una comprensión profunda de estos aspectos, un portal de eventos puede ayudar a comprender el impacto asociado a la realización de cambios en aplicaciones, eventos y esquemas, permitiendo evitar problemas antes de pasar a producción. La gestión proactiva de riesgos se vuelve posible gracias a esta visibilidad.
Incorporación de Activos EDA en Herramientas y Procesos CI/CD y SDLC
La mayoría de los portales de eventos ofrecen plugins para integrarse con herramientas de desarrollo populares, lo que permite importar modelos EDA existentes, incorporar activos EDA en los pipelines de CI/CD, auditar y realizar cambios de forma segura o crear nuevas revisiones, y revertir para deshacer cambios o eliminaciones accidentales. Esta integración agiliza el ciclo de vida del desarrollo de software (SDLC) y mejora la eficiencia operativa.
¿Qué es una Malla de Eventos (Event Mesh) y Cómo se Relaciona con un Portal de Eventos?
Si bien un portal de eventos se centra en la gestión y organización de los eventos y la arquitectura EDA, una malla de eventos se enfoca en la infraestructura subyacente que permite la comunicación dinámica y eficiente entre los productores y consumidores de eventos.
Una malla de eventos, construida con brokers de eventos, es auto-gestionada, auto-aprendiz y auto-reparadora, permitiendo la transmisión automatizada y eficiente de eventos entre aplicaciones productoras y consumidoras, independientemente de dónde se ejecuten. El enrutamiento dinámico de mensajes crea una "internet de eventos" que enruta automáticamente los eventos entre aplicaciones y dispositivos conectados a brokers de eventos separados, que pueden residir en diferentes entornos de nube y on-premise.
En resumen, el portal de eventos es la herramienta de gestión y diseño, mientras que la malla de eventos es la infraestructura de comunicación que facilita el flujo de eventos. Ambos conceptos son complementarios en una arquitectura orientada a eventos robusta y escalable.
Conclusión
En un panorama tecnológico cada vez más impulsado por eventos, un portal de eventos se erige como una pieza fundamental para el éxito de la adopción de la arquitectura orientada a eventos. Proporciona las herramientas necesarias para descubrir, diseñar, gestionar, gobernar y monitorizar los eventos y las aplicaciones que los utilizan, simplificando la complejidad inherente a este paradigma y permitiendo a las organizaciones liberar todo el potencial de la EDA. Desde la mejora de la colaboración entre equipos hasta la optimización de los flujos de trabajo y la garantía de la gobernanza, un portal de eventos es una inversión estratégica para cualquier organización que busque construir aplicaciones modernas, ágiles y en tiempo real.
Preguntas Frecuentes (FAQs)
- ¿Es realmente necesario un portal de eventos si mi organización recién comienza con EDA?
Aunque al principio puede parecer opcional, un portal de eventos se vuelve crucial a medida que la adopción de EDA se expande. Implementarlo desde el principio puede prevenir problemas de gestión y gobernanza a futuro, ahorrando tiempo y recursos a largo plazo. - ¿Qué tipo de organizaciones se benefician más de un portal de eventos?
Organizaciones de todos los tamaños que estén adoptando o planeen adoptar la arquitectura orientada a eventos pueden beneficiarse significativamente. Especialmente aquellas con múltiples equipos de desarrollo, aplicaciones interconectadas y requisitos de gobernanza y cumplimiento. - ¿Se integra un portal de eventos con las herramientas que ya utilizamos (Kafka, CI/CD, etc.)?
La mayoría de los portales de eventos están diseñados para integrarse con brokers de eventos populares como Kafka y ofrecer plugins para herramientas de CI/CD y otras plataformas de desarrollo. Verifica la compatibilidad específica del portal de eventos que estés considerando. - ¿Cuál es la diferencia clave entre un portal de eventos y otras herramientas de monitorización de APIs?
Si bien algunas herramientas de monitorización de APIs pueden ofrecer ciertas capacidades de gestión de eventos, un portal de eventos se centra específicamente en la arquitectura orientada a eventos, ofreciendo funcionalidades de descubrimiento, diseño, gobernanza y gestión integral adaptadas a las necesidades de los eventos y los flujos de eventos. - ¿Qué características debo buscar al elegir un portal de eventos?
Busca características como el descubrimiento automático de eventos, herramientas de diseño visual, catálogo centralizado, capacidades de gobernanza y políticas, integración con herramientas de desarrollo, monitorización en tiempo real y soporte para diferentes esquemas y brokers de eventos. La facilidad de uso y la escalabilidad también son factores importantes a considerar.
