Header Ads Widget

Ticker

6/recent/ticker-posts

4 beneficios comerciales de una arquitectura impulsada por eventos (EDA)

 


Es posible que haya escuchado muchos de los beneficios técnicos de la arquitectura basada en eventos (EDA): es altamente receptiva y puede ayudar a "desbloquear datos". Pero, ¿exactamente cómo puede EDA mejorar el resultado final? Eso es lo que discutiremos a continuación al profundizar en cuatro de los beneficios comerciales finales más importantes de una arquitectura impulsada por eventos. Para ayudarnos en el camino, discutiremos cada beneficio en el contexto del mismo escenario de ejemplo: una aplicación de comercio electrónico.

1. Desarrollo eficiente

El uso de una arquitectura impulsada por eventos puede mejorar significativamente la eficiencia del desarrollo en términos de velocidad y costo. Esto se debe a que todos los eventos pasan a través de un bus de eventos central, con el que los nuevos servicios pueden conectarse fácilmente. Los servicios no solo pueden escuchar eventos específicos, activando un nuevo código cuando corresponda, sino que también pueden enviar eventos propios al bus de eventos, conectándose indirectamente a los servicios existentes.

Desde el punto de vista del desarrollo, esto es mucho más eficiente (al menos a escala) que construir integraciones punto a punto. Es cierto que una arquitectura impulsada por eventos puede parecer más complicada para empezar, ya que la mayoría de los procesos tendrán que comenzar y terminar con algún tipo de evento, pero una vez que su aplicación esté en funcionamiento, será mucho más fácil agregar a esto que un monolito tradicional .

Nuestro Ejemplo

En nuestro escenario de ejemplo de una aplicación de comercio electrónico, supongamos que los envíos de pedidos se registran manualmente. Ahora queremos desarrollar un proceso que registre estos envíos automáticamente, utilizando las API de los transportistas postales.

Con una arquitectura impulsada por eventos, todo lo que tenemos que hacer es crear un servicio independiente que escuche eventos creados por pedidos . Luego, el servicio puede utilizar la API de los transportistas postales para registrar el envío y recuperar un número de seguimiento. Finalmente, el servicio puede publicar un evento actualizado de pedido que contiene el número de seguimiento. ¡Con suerte, ya existe un servicio de notificación que escucha los eventos de actualización de pedidos que enviarán el número de seguimiento a los clientes!

2. Mejor experiencia de usuario

Si desea aumentar la retención y el valor de por vida de los clientes, es imprescindible mejorar la experiencia del usuario de su aplicación. Una arquitectura impulsada por eventos puede ser increíblemente beneficiosa para la experiencia del usuario (aunque indirectamente), ya que lo alienta a pensar y construir en torno a… ¡eventos!

Para el usuario en un mundo cada vez más digital, el comportamiento impulsado por eventos y la capacidad de respuesta en tiempo real se están convirtiendo en una expectativa . Con los teléfonos inteligentes, los usuarios esperan un correo electrónico o una notificación automática cuando ocurren los eventos, tanto en contextos personales como profesionales. La comunicación de máquina a persona es el aspecto más identificable de esto, pero a medida que la comunicación de máquina a máquina se vuelve más prominente, lo que sucede con las API y el IoT, una arquitectura impulsada por eventos también facilitará la interacción con servicios de terceros. proporcionando una experiencia de usuario más completa y pegajosa.

"Los desarrolladores deben poder crear de forma rápida y coherente aplicaciones impulsadas por eventos que proporcionen valor comercial y reaccionen a las necesidades del cliente en tiempo real". Jonathan Schabowsky, arquitecto sénior de Solace

Nuestro Ejemplo

Volvamos a nuestra hipotética aplicación de comercio electrónico. Aquí, una arquitectura basada en eventos junto con un servicio de notificación basado en eventos realmente aumenta la experiencia del usuario. Siempre que actualicemos diligentemente el bus de eventos, el cliente siempre estará al día con sus pedidos. Por ejemplo, si un producto pedido está realmente agotado, los empleados pueden recibir capacitación para marcarlo en una interfaz web que se transmite al bus de eventos. Gracias al servicio de notificaciones, el usuario recibirá automáticamente un mensaje sobre su pedido.

En cuanto al aspecto de máquina a máquina, considere el servicio de registro de envío descrito anteriormente. Dado que el registro de envío se basa en eventos, el transportista postal se actualiza en tiempo real . Como resultado, el cliente puede seguir rastreando su pedido a través de los canales del operador sin ningún espacio o demora.

3. Menores costos de funcionamiento

El uso de una arquitectura basada en eventos también puede reducir los costos de funcionamiento de su aplicación. Dado que los eventos se envían a los servicios a medida que suceden, no es necesario que los servicios se interroguen entre sí para detectar cambios de estado continuamente. Esto lleva a que se realicen significativamente menos llamadas, lo que reduce el consumo de ancho de banda y el uso de la CPU, lo que en última instancia se traduce en menores costos operativos. Además, aquellos que utilizan una puerta de enlace de API de terceros o un proxy pagarán menos si se les factura por llamada.

Nuestro Ejemplo

Supongamos que nuestra aplicación de comercio electrónico tiene su propio servicio de procesamiento de pagos. Con una arquitectura impulsada por eventos , ese servicio puede enviar un evento de pedido pagado cuando se ha finalizado el pago, actualizando automáticamente otras partes de la aplicación. De esta manera, no es necesario sondear el estado de pago de cada pedido cada pocos segundos.

Puede que no importe mucho para un sitio de comercio electrónico de inicio, pero los pagos de comercio electrónico son increíblemente exigentes a escala empresarial. Independientemente, el punto sigue en pie: una arquitectura impulsada por eventos conduce a menos llamadas, lo que en última instancia conduce a menores costos de funcionamiento (proporcionalmente al rendimiento de la aplicación).

4. Resistencia

Por último, pero no menos importante, una arquitectura basada en eventos puede hacer que su aplicación sea más resistente. Si un servicio falla, puede reiniciarse automáticamente y reproducir eventos desde el bus de eventos. Después de hacerlo, puede actualizar otros servicios enviando eventos propios a la transmisión. Claro, puede haber algunos retrasos, pero eso es mejor que la aplicación que no responde a un evento en absoluto, como podría ser el caso con otras arquitecturas.

Hay otro aspecto del aspecto de resiliencia de las arquitecturas impulsadas por eventos, y eso radica en el hecho de que los servicios individuales están muy poco acoplados. Dado que los servicios no se comunican entre sí directamente, sino a través de un bus de eventos, un servicio que falla no significa necesariamente que otros también lo hagan.

“En un modelo síncrono, un servicio debe estar disponible y ser receptivo para poder comunicarse. Cuando un servicio no está disponible, todo el sistema puede bloquearse o incluso averiarse ... Con las arquitecturas controladas por eventos, los eventos no requieren una respuesta y son inherentemente asincrónicos, lo que significa que los eventos se pueden consumir y procesar más tarde, si un servicio está ocupado o indisponible." Sameer Parulkar, director de marketing de productos de RedHat.com

Nuestro Ejemplo

Para este último ejemplo, veamos una vez más el servicio de registro automático de envíos que habilitó nuestra arquitectura impulsada por eventos. Supongamos que este servicio falla y solo se reinicia media hora después. A pesar del accidente, puede reproducir todos los nuevos pedidos del bus del evento, registrar todos los envíos uno por uno y transmitir actualizaciones de pedidos con los números de seguimiento.

De hecho, esto daría lugar a una demora de treinta minutos en que cada cliente reciba su información de envío. Sin embargo, los envíos se seguirían registrando sin que se produjeran daños duraderos ni confusión. Además, ningún otro servicio debería haberse visto afectado: la creación de pedidos, el procesamiento de pagos y es probable que la mayoría de las notificaciones hayan funcionado según lo previsto.

Resumen

Hay muchas cosas que me gustan de las arquitecturas basadas en eventos, especialmente en este panorama digital cada vez más receptivo. Desde una perspectiva empresarial, los ejecutivos pueden esperar un desarrollo más rápido y económico, una experiencia de usuario mejorada, menores costos de funcionamiento y una mayor capacidad de recuperación al comprar una arquitectura impulsada por eventos. ¡Con suerte, nuestro ejemplo de comercio electrónico ilustra cómo surgen estos beneficios comerciales!

Publicar un comentario

0 Comentarios