Amazon EventBridge

Bus de eventos serverless que enruta eventos desde servicios AWS, aplicaciones SaaS y aplicaciones personalizadas, siendo el núcleo de la arquitectura dirigida por eventos

Descripción general

Amazon EventBridge (anteriormente CloudWatch Events) es un bus de eventos serverless que conecta de forma desacoplada las fuentes de eventos con los destinos de procesamiento. Filtra eventos de servicios AWS (cambios de estado de instancias EC2, creación de objetos S3, resultados de despliegue de CodePipeline, etc.), eventos de partners SaaS (Zendesk, Datadog, Auth0, etc.) y eventos de aplicaciones personalizadas según reglas, enrutándolos a más de 20 targets como Lambda, SQS, SNS, Step Functions y API Gateway. El pattern matching de eventos permite procesar solo los eventos que coinciden con condiciones específicas.

Diseño de buses de eventos y reglas

El bus de eventos de EventBridge es el canal por donde fluyen los eventos. El bus de eventos predeterminado recibe eventos de servicios AWS, los buses de eventos personalizados reciben eventos específicos de aplicaciones, y los buses de eventos de partners reciben eventos de partners SaaS. Las reglas enrutan eventos a targets basándose en patrones de eventos (condiciones de filtro en formato JSON) o programaciones (expresiones cron). Los patrones de eventos permiten filtrar por fuente del evento, tipo y valores de campos de detalle. Están disponibles operadores de filtrado como coincidencia de prefijo, coincidencia de sufijo, rango numérico y verificación de existencia. Se pueden configurar hasta 5 targets por regla, implementando un patrón de fan-out que distribuye un evento simultáneamente a múltiples targets.

Scheduler y Pipes

EventBridge Scheduler es una función que genera eventos programados mediante expresiones cron o rate. Es el sucesor de las reglas cron de CloudWatch Events, ofreciendo una programación más flexible. Incluye funciones como programaciones de una sola vez (ejecución única en una fecha y hora específicas), especificación de zona horaria y ventanas de tiempo flexibles (ejecución aleatoria dentro de un rango de tiempo especificado). EventBridge Pipes es una función que simplifica las integraciones punto a punto desde una fuente a un target. Obtiene eventos de fuentes como colas SQS, streams de Kinesis y streams de DynamoDB, y los entrega al target tras un filtrado opcional y enriquecimiento (transformación mediante Lambda). Con Pipes se pueden realizar integraciones como SQS a Lambda a Step Functions sin código de pegamento Lambda.

Patrones de uso en la práctica

El uso más común de EventBridge es la automatización basada en eventos de servicios AWS. Patrones como notificar a Slack cuando una instancia EC2 pasa a estado terminated, cambiar automáticamente un security group cuando GuardDuty detecta una amenaza, o notificar al equipo cuando falla un despliegue de CodePipeline. En arquitecturas de microservicios, se recomienda el patrón dirigido por eventos que utiliza el bus de eventos para la comunicación entre servicios. El servicio de pedidos publica un evento de "pedido confirmado" en EventBridge, y los servicios de inventario, pagos y notificaciones procesan el evento de forma independiente. El servicio equivalente en Azure es Azure Event Grid, que implementa arquitecturas dirigidas por eventos de manera similar. Desde los fundamentos hasta aplicaciones avanzadas de EventBridge, se puede aprender sistemáticamente en libros (Amazon).

共有するXB!