Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sumeet Puri
Director de soluciones de tecnología
A medida que las empresas empiezan
a funcionar cada vez más
en tiempo real y se enfocan más en la
experiencia del cliente, la arquitectura
de las aplicaciones debe actualizarse
para satisfacer estas necesidades, y
la arquitectura basada en eventos
representa el gran paradigma”.
Sumeet Puri
Director de soluciones de tecnología
© Solace
Todos los derechos reservados. Ninguna parte de este trabajo se puede reproducir o almacenar en un sistema de
recuperación, ni transmitirse de ninguna forma o por ningún medio, ya sea electrónico o mecánico, a través de una
fotocopia, mediante una grabación o de otro tipo, sin el permiso de Solace. Para realizar consultas sobre permisos,
envíe un mensaje a legal@solace.com.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Conclusión. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Para que una empresa funcione en tiempo real, los eventos deben transmitirse entre
las aplicaciones y los microservicios que los procesan para que se pueda obtener infor-
mación y tomar decisiones de forma rápida. Para ser más receptivo y aprovechar las
nuevas tecnologías, como la nube, el IoT, los microservicios, entre otras, la arquitectura de
Cada proceso de negocio es, en esencia, una serie de eventos. En general, un “evento”
se puede describir como una notificación de cambio. Estos cambios pueden adoptar
diversas formas, pero todas tienen la estructura común de una acción que ocurrió en un
al igual que todos los caminos que se emprenden, empieza con un solo paso. Para dar
sus primeros pasos, debe tener un buen conocimiento de sus datos, pero, lo que es más
Sumeet Puri, director de tecnología y soluciones, explicará una estrategia segura sobre
cómo su empresa puede implementar la arquitectura basada en eventos con las herra-
mientas adecuadas para superar los desafíos que, posiblemente, enfrente en el camino.
Con su proceso de seis pasos comprobado en el campo, estará bien orientado para
zación.
solo se está volviendo más predominante. Esto se debe, principalmente, a que la arqui-
tectura orientada a servicios (SOA, por sus siglas en inglés); el proceso de extraer, trans-
formar y cargar (ETL, por sus siglas en inglés); y los procesos por lotes deben evolucionar
empresa en una arquitectura más receptiva, ágil y en tiempo real, debe considerar que
todo lo que ocurre en su empresa es un evento digital y, a la vez, debe pensar en esos
a través de eventos o adaptadores de eventos. Los eventos se enrutan entre estas aplica-
En otras palabras, en lugar de un proceso por lotes o un bus de servicio empresarial (ESB,
por sus siglas en inglés) que orquesta un flujo, los flujos empresariales se coreografían de
empresarial. Esto hace que sea mucho más fácil agregar nuevas aplicaciones,
ya que pueden aprovechar el flujo de eventos sin afectar a ningún otro sistema, hacer su
Estoy seguro de que, si está leyendo esto, entonces la respuesta es “sí”. Sin embargo,
la mayoría de las personas que trabajan en el sector de TI fueron formadas para pensar
de manera procedimental. Ya sea que haya comenzado con Fortran o C, como yo, o
llamadas a funciones síncronas o a las llamadas a procedimiento remoto (RPC, por sus
siglas en inglés) o a los servicios web a las API; todos síncronos. Existen excepciones a la
regla: los sistemas de front-office de los mercados de capitales siempre se han basado en
eventos porque tenían que ser en tiempo real desde el principio. Sin embargo, la mayoría
para el cliente. Cree soporte, elabore estrategias y asegúrese de que el próximo proyecto
eventos.
beneficios.
¿Cuáles son los candidatos para desempeñarse en tiempo real en su empresa? ¿El
generación que está desarrollando? ¿Tendría más sentido propagar los datos maestros,
como las actualizaciones de precios o los cambios de fórmulas de PLM, a las aplicaciones
clase en tiempo real gracias a los puntos de fidelidad de una aerolínea cuando se escanea
en el aeropuerto?
Al empezar con un proyecto pequeño, es posible que comience a encontrar las peculiar-
Tenga en cuenta que no todas las fuentes de datos son candidatas para la arquitectura
de datos y que se pueda modificar de forma fácil para enviar mensajes. Estos mensajes se
temprana porque los eventos, a menudo, están basados en el negocio, por lo que no
todas las partes interesadas tendrán conocimientos técnicos. Considere qué equipos se
verán afectados por la transformación y qué personas específicas deberán participar y dar
su aceptación para que el proyecto sea un éxito desde todo punto de vista.
vicios y de poner en marcha un servicio de contenedores que les permita a los microser-
muchos.
También es importante comenzar de manera correcta con el tiempo de diseño y tener las
herramientas para garantizar que los eventos se puedan describir y catalogar, y que se
Usted querrá tener una arquitectura lo suficientemente modular como para satisfacer
todos sus casos de uso y lo suficientemente flexible como para recibir datos de todos
los lugares donde estén implementados, ya sea en sitio, en la nube privada, en la nube
pública, entre otros. Aquí entra la plataforma de gestión de eventos con el tiempo de
Tener una plataforma de gestión de eventos, incluso los elementos más básicos, le
permite a su primer proyecto aprovecharla a medida que los microservicios y los eventos
Broker de Eventos
Un broker de eventos es el componente fundamental del tiempo de ejecución para
datos.
Un broker de eventos ideal utiliza protocolos abiertos y API para evitar la dependencia
broker de eventos apropiado con el paso del tiempo. Piense en la independencia que
TCP/IP les ofreció a los clientes al elegir equipos de red: los estándares abiertos crearon
sobre la marcha, y no tiene que limitarse a tener que consultar documentación cerrada o
Event Mesh
Aunque puede empezar con un solo broker de eventos en una única ubicación, a
menudo, las aplicaciones modernas están distribuidas. Ya sea en sitio, en múltiples nubes
Un evento que se origina en una tienda minorista puede tener que dirigirse a los sistemas
de una tienda local, al ERP centralizado, al lago de datos basado en la nube y a un socio
externo. Como tal, la distribución de eventos debe ser clara para los productores y los
consumidores. Estos se deben conectar a su broker de eventos local, al igual que usted o
yo nos conectamos a nuestro enrutador WiFi doméstico para acceder a todos los sitios
identifica fuentes de eventos en sitio hoy, es posible que vea que esos eventos residen
en la nube mañana.
Un Event Mesh es una red de brokers de eventos que enruta dinámicamente eventos
gracias a los enrutadores que convergen tablas de enrutamiento, el Event Mesh converge
suscripciones por tópicos con varias optimizaciones para transmitir eventos distribuidos.
aplicación:
Por supuesto, la forma en que implemente su Event Mesh ayudará a determinar el tipo
Event Portal
Un portal de eventos, al igual que un portal de API, es la visualización del diseño y del
tiempo de ejecución de su Event Mesh. Un portal de eventos les brinda a los arqui-
tectos una herramienta sencilla basada en GUI para definir y diseñar eventos de manera
gobernada. Además, los ofrece para que publicadores y suscriptores los utilicen. Una vez
que haya definido los eventos, puede diseñar microservicios o aplicaciones en el portal de
eventos.
un paso de documentación, esto ayudará a visualizar y describir los eventos que puede
tópicos son metadatos de eventos; etiquetas con la forma a/b/c, al igual que una URL
HTTP o una ruta de archivo, que describen el evento. El broker de eventos entiende los
tópicos y puede enrutar eventos en función de quién se haya suscrito a ellos, incluidas las
suscripciones comodín.
clatura de tópicos desde el principio y gobernarla. Una taxonomía sólida es, proba-
blemente, la inversión de diseño más importante que hará, por lo que es mejor no
apresurarse aquí. Tener una buena taxonomía ayudará de manera significativa con el
aplicaciones. Si desea obtener más información sobre las prácticas recomendadas para la
Veamos un ejemplo de los pedidos de Udders Ice Cream. Ha llegado un pedido del
sabor “ron con pasas” del sitio web de comercio electrónico Lazada en Singapur:
Evento Tópico
ciones heredadas a eventos) tienen tópicos como metadatos, los consumidores pueden
Alineación de la organización
La arquitectura basada en eventos comienza siendo pequeña y crece, pero, con el
tiempo, la organización debe evolucionar hacia un enfoque que priorice los eventos. Esto
de API deben empezar a pensar en las API basadas en eventos, en vez de solo en solic-
itudes/respuestas.
Con el proyecto piloto, a medida que identifique eventos y el flujo de eventos, el catálogo
inicial también sirve como punto de partida de eventos reutilizables, que las aplicaciones
Usted desea elegir el flujo que sea más adecuado para modernizar su estado actual o
son candidatos ideales, ya sea para la innovación o para reducir la deuda técnica a través
en una referencia para las futuras implementaciones. Elija un flujo que pueda ser su
solución.
ESB
API
GetPrice
Request Reply
API
GetPrice
Request Reply
API
Price Change
EVENT Exposure GetPrice
Price API Request Reply
API
“cambiar” es el verbo.
En una arquitectura existente que no está habilitada para eventos, el evento de cambio
de precio:
en eventos con un Event Mesh, las aplicaciones posteriores se suscriben a los eventos de
real. El Event Mesh filtra y solo propaga los eventos a los que se han suscrito las aplica-
Los eventos se ponen en cola y se dosifican para reducir la carga, lo que facilita su
API
Subscribe for
Price Update
Price EVENT
Expose
Change
Price EVENT
EVENT
API
Subscribe for
Price Update
EVENT
requiere para consumir fuentes de eventos, ya que cada microservicio manejará un solo
aspecto del flujo total de eventos. Se puede crear una nueva lógica empresarial con
uno del otro, la conexión entre ambos es muy fuerte. Con la coreografía de enrutamiento
de eventos, los microservicios son reactivos (responden a los eventos a medida que
ocurren) y están desacoplados, lo que significa que, si una aplicación falla, los servicios
problema.
Ahora, deberá identificar qué pasos deben realizarse de forma síncrona y cuáles pueden
ser asíncronos. Los pasos síncronos son los que deben ocurrir cuando la aplicación o API
Los eventos asíncronos pueden ocurrir después del hecho y, a menudo, en paralelo, como
las aplicaciones que no tienen problema con ser “eventualmente consistentes” se pueden
determina cómo se procesan. Debido a estas distinciones clave, debe mantener las partes
principio o con un portal de eventos, en el que puede visualizar y coreografiar los micros-
ervicios.
Uno de los problemas con un sistema basado en la API síncrona RESTful es que cada
paso del flujo comercial, cada microservicio, es secuencial. Cuando el sistema de POS de
Udders Ice Cream envía un pedido, ¿debe esperar a que se completen todos los pasos de
procesamiento del pedido, o solo algunos pasos obligatorios deben ser secuenciales?
Si piensa en ello, no es necesario que todos los procesos de “información” ocurran antes
de que los sistemas de punto de venta obtengan una confirmación del pedido, solo ralen-
del pedido deben ser secuenciales; todo lo demás se puede hacer de forma asíncrona.
Synchronous,
Parallel Path Cross Sell Data Lake Insights
Upsell Ingestor AI ML
Eventually Consistency Microservice Microservice Microservice
Deferred Execution
El Event Mesh proporciona una entrega garantizada, por lo que los microservicios que
no sean secuenciales pueden obtener los datos un poco después, pero de forma limitada
y garantizada. El flujo de eventos fluye hacia los sistemas de manera paralela, lo que
y los lagos de datos también pueden consumirlos. Las aplicaciones autorizadas recibirán
mentar para consumir estos eventos. Llamemos a las demás “aplicaciones preparadas
para API”. Este término significa que tienen una API que puede generar mensajes que
aplicación. Aunque se requiere cierto esfuerzo de desarrollo, puede hacer que estas
fuentes funcionen con su broker de eventos de forma bastante sencilla. Luego, están las
aplicaciones heredadas que no están preparadas de ninguna manera para enviar o recibir
¿Estado de la Basada en eventos Tiene una API REST/ No hay API basada en
API? de forma nativa SOAP con esquemas estándares, aunque puede
haber varias formas de
conectarla
tienen en cuenta el tópico y la taxonomía. Son en tiempo real, receptivas y usan el Event
de una API. En este caso, se puede usar un microservicio adaptador para suscribirse a la
API “nativa” (un Event Mesh puede convertir las API REST en tópicos), inspeccionar la
carga útil. Este enfoque funciona mejor que el enrutamiento basado en contenido,
ya que este requiere la gobernanza de las cargas útiles de formas muy estrictas que
Aplicaciones heredadas
Probablemente, tendrá algunos sistemas heredados que ni siquiera están habilitados
para API. Dado que la mayoría de los procesos de negocio consumen o aportan datos a
estos sistemas heredados, deberá determinar cómo integrarlos con su Event Mesh. ¿Va
haya una solicitud de datos o actualizaciones? ¿O aplicará mecanismos de salida para los
eventos y los almacenará en la memoria caché a nivel externo? En cualquier caso, deberá
averiguar cómo habilitar para eventos a los sistemas heredados que ni siquiera tienen una
perfectos para implementar juntos. Ahora bien, no puede esperar que todos sus eventos
evidente. Con la adopción de un Event Mesh, no importa dónde estén sus datos, por lo
y ML podrían estar en GCP. Es posible que cuente con fabricación y logística en China
o Corea y con un mercado en India o los Estados Unidos. Con el 5G a punto de desen-
necesita trabajar mano a mano con dos patrones, a 180 grados de distancia: híbrido/nube
Un proceso de gestión de pedidos para Udders Ice Cream puede ver estos microser-
Payload:
010010101010001010101011110101010101010
Store 010010101010001010101011110101010101010
del crédito consume el evento de pedido válido, que de manera similar produce los
siguientes eventos.
Order
Validator
Microservice
Published Event:
order/invalid/1.1/icecream/udders/rumrasin/sg/711
OrderInvalid Event
Subscribed Events:
All orders initiations, for payload
version 1.2, from Singapore
Order
Validator
Microservice
OrderInvalid Event
comercial de validar pedidos de los Estados Unidos con la nueva carga útil y modificar
Subscribed Events:
All orders initiations, for payload
version 1.2, from USA
Order
Validator
Microservice
OrderInvalid Event
Subscribed Event:
order/init/1.1/*/udders/*/*/711
Subscribed Events:
Only Udders orders initiations,
irrespective of version and product,
and country, but from 711 Udders
Icecream
Analytics
Microservice
OrderInvalid Event
Obtener una victoria rápida con el catálogo de eventos como el entregable principal es
Con suerte, gracias a la capacidad de realizar más acciones en tiempo real, podrá
conducirá a una mejor experiencia del cliente. Con la participación de los interesados,
Desde aquí, puede seguir nuevamente los pasos para los próximos proyectos. A medida
que avanza, el catálogo de eventos en su portal de eventos se completará con cada vez
más eventos. Los eventos existentes empezarán a ser reutilizados por nuevos consum-
idores y productores. Un catálogo más rico dará lugar a más oportunidades para el proce-
Mesh, mientras que los equipos de aplicación y LOB los utilizan/hacen sus aportes. Los
son patrones atractivos, dependiendo de cuán federados o centralizados sean los equipos
Conclusión
pensar de manera procedimental. Ya sea que haya comenzado con Fortran o C o Java
llamadas a funciones, a las llamadas a RPC, a los servicios web, a las API o a los flujos
proceso de pensamiento.
distribuido. Los eventos pueden flotar en un Event Mesh para que sus microservicios
plataforma y un conjunto de herramientas que los ayuden a trabajar juntos para lograr los
Con estos seis pasos, puede dar el salto al disponer de la estrategia y las herramientas
servicio. Solace es la única solución estable y eficaz que se adapta a las necesidades
únicas de los arquitectos que buscan implementar una arquitectura basada en eventos
donde ayuda a los CIO, los CTO y los arquitectos jefes en sus recor-
Acerca de Solace
Solace ayuda a las grandes empresas a modernizarse y a funcionar en “tiempo real”, al
brindarles todo lo que necesitan para hacer que su operación de negocio e interacción
con clientes sean basadas en eventos. Con PubSub+, la primera y única plataforma de
gestión de eventos del mercado, Solace brinda una manera integral de crear, documentar,
en solace.com.
Síganos en