¿Qué es la arquitectura Event-driven?
Si bien la Arquitectura impulsada por eventos, Event-driven architecture (EDA) ha existido durante más de una década, todavía está alcanzado la adopción generalizada para crear aplicaciones modernas.
El tema clave del discurso de apertura de Werner Vogels, en la última keynote AWS re:Invent, destaca los beneficios de construir sistemas asincrónicos, débilmente acoplados, y cómo la arquitectura basada en eventos es la necesidad del momento para construir sistemas escalables globalmente.
Soluciones como Kafka, NATS, Solace, AWS Eventbride, Google Cloud Eventarc, Azure Event Grid, AxonIQ, Lightbend Akka, entre otros han compartido servicios prácticos serverless para facilitar la implementación de aplicaciones EDA.
Event-driven architectures are the ones that you should use to build applications that need to work at a global scale.
Dr. Werner Vogels (Amazon CTO)
Event-driven Architecture (EDA)
La arquitectura impulsada por eventos o EDA (por sus siglas en inglés) es una arquitectura asíncrona y distribuida, pensada para crear aplicaciones altamente escalables.
Se trata de un estilo de creación de software que utiliza eventos comerciales para desencadenar acciones. Ideal para empresas en rápido crecimiento que necesitan responder rápidamente a los cambios.
La arquitectura impulsada en eventos (EDA) describe una forma de crear tus aplicaciones para que los eventos comerciales desencadenen acciones dentro de los sistemas. Por ejemplo, un evento podría ser el cambio de una dirección de envío en un sistema que luego se transmite automáticamente a todos los servicios interelacionados.
Un beneficio importante de esta arquitectura es que es escalable y relativamente fácil de cambiar. La naturaleza inherentemente débilmente acoplada de EDA significa que es relativamente fácil realizar cambios en una parte particular de tus sistemas, sin romper nada más.
Una EDA bien diseñada se basará en eventos que sean significativos para el negocio. Los eventos pueden desencadenarse por la actividad del usuario, entradas externas, como la actividad de un sensor, o salidas de un sistema de análisis. Lo importante es la forma en que defines esos eventos, de modo que estés capturando algo importante para tu organización.
Al basar tus diseños en estos eventos desencadenantes, ganarás flexibilidad, pudiendo agregar nuevos comportamientos sin tener que rediseñar todo el sistema.
Conclusión
EDA es imprescindible donde la capacidad de respuesta y el tiempo de comercialización son clave, la arquitectura basada en eventos ofrece muchas ventajas. Y cuanto más implementes en tu sistema EDA, más fácil será realizar cambios en tu negocio.
Se adapta bien a las empresas que esperan crecer rápidamente y aquellas que operan en mercados que cambian rápidamente. Aunque EDA puede ser complejo.
La forma más fácil de construir una EDA es empezar por diseñar tus sistemas de esa manera desde el principio. Muchas de las plataformas nativas digitales de renombre de la actualidad adoptan diseños basados en eventos. Pero no todas las organizaciones pueden darse el lujo de empezar de nuevo. Y es perfectamente posible construir EDA sobre la infraestructura heredada.
Referencias:
· Las predicciones sobre tecnología de Werner Vogels para 2023 y más allá