Ya conoces SQS (colas) y SNS (notificaciones). Ahora veremos EventBridge, un servicio de eventos más moderno y potente que lleva las ideas de la mensajería un paso más allá. Es la columna vertebral de muchas arquitecturas dirigidas por eventos en AWS.

Qué es EventBridge

EventBridge es un bus de eventos (event bus): una especie de «autopista central» por la que circulan eventos de toda tu aplicación y de los servicios de AWS. Los servicios publican eventos en el bus, y EventBridge los dirige automáticamente a los destinos adecuados según unas reglas.

   Fuentes de eventos              EventBridge                Destinos
   ┌──────────────┐         ┌──────────────────┐        ┌──────────────┐
   │ Tu aplicación│ ──────► │   Event Bus       │ ─────► │ Lambda        │
   │ Servicios AWS│ ──────► │  (+ reglas que     │ ─────► │ Cola SQS      │
   │ Apps SaaS    │ ──────► │   filtran y enrutan)│ ────► │ Topic SNS     │
   └──────────────┘         └──────────────────┘        │ Step Functions│
                                                         └──────────────┘

Analogía: EventBridge es como el sistema de clasificación de correo de una gran oficina. Llegan cartas (eventos) de muchos remitentes. Un clasificador (las reglas) lee cada carta y la envía al departamento correcto según su contenido. Nadie tiene que repartir a mano: el sistema enruta todo automáticamente según reglas predefinidas.

La pieza clave: las reglas

El corazón de EventBridge son las reglas. Una regla dice: «cuando llegue un evento que cumpla este patrón, envíalo a este destino». EventBridge examina cada evento y, si coincide con el patrón de una regla, lo dirige a su destino.

Regla: "si el evento es un pedido de más de 1000€"
        → enviar a la Lambda de revisión-manual

Regla: "si el evento es un nuevo usuario registrado"
        → enviar a la cola SQS de bienvenida

Lo interesante es que las reglas filtran por el contenido del evento. Un evento es básicamente un JSON con datos, y la regla puede mirar esos datos:

{
  "source": "tienda.pedidos",
  "detail-type": "PedidoCreado",
  "detail": {
    "importe": 1500,
    "pais": "ES"
  }
}

Una regla podría decir: «envía a revisión manual los eventos PedidoCreado con importe mayor de 1000». EventBridge filtra y enruta automáticamente, sin que tú escribas código de reparto.

EventBridge vs SNS: ¿en qué se diferencian?

Es la pregunta natural: SNS también difunde mensajes a varios destinos. ¿Para qué EventBridge? Las diferencias clave:

SNS EventBridge
Enrutado Todos los suscriptores reciben todo Filtrado avanzado por contenido: cada destino recibe solo lo que le interesa
Fuentes Lo que tú publiques Tu app + muchos servicios de AWS + apps SaaS externas
Reglas Filtrado básico Reglas potentes basadas en patrones de contenido
Enfoque Notificaciones rápidas, alto rendimiento Enrutado inteligente de eventos, integración

En resumen: SNS es simple y rapidísimo para difundir; EventBridge es más sofisticado, con filtrado avanzado por contenido e integración nativa con decenas de servicios de AWS y aplicaciones externas.

Regla práctica: usa SNS cuando solo necesitas difundir un mensaje a varios destinos de forma simple y veloz. Usa EventBridge cuando necesitas enrutar eventos de forma inteligente según su contenido, o integrar eventos de servicios de AWS y aplicaciones SaaS.

Una ventaja enorme: eventos de los propios servicios de AWS

EventBridge tiene un superpoder: muchos servicios de AWS emiten eventos a EventBridge automáticamente. Esto te permite reaccionar a cosas que pasan dentro de AWS sin programar nada especial:

  • «Cuando una instancia EC2 cambie de estado» → dispara una Lambda.
  • «Cuando se suba un objeto a S3» → enruta a un destino.
  • «Cuando una tarea de un servicio termine» → avisa a un sistema.

Ejemplo del mundo real: quieres recibir una alerta en Slack cada vez que alguien arranca una instancia EC2 grande (cara). Creas una regla en EventBridge: «cuando un evento indique que se ha lanzado una instancia de tipo grande, envíalo a una Lambda que avise por Slack». No tienes que programar ningún sistema de vigilancia: EventBridge ya recibe esos eventos de AWS, tú solo defines la regla.

Schedules: tareas programadas

EventBridge también permite programar eventos en el tiempo (lo que antes se llamaba «CloudWatch Events»). Puedes lanzar una acción según un horario, como una tarea recurrente:

"Cada día a las 02:00" → dispara la Lambda de copia de seguridad
"Cada lunes a las 09:00" → dispara el informe semanal

Es la forma serverless del clásico «cron» de los servidores: tareas que se ejecutan según un calendario, sin necesidad de un servidor encendido vigilando el reloj.

Lo que debes recordar

  • EventBridge es un bus de eventos: una «autopista central» donde los servicios publican eventos y EventBridge los enruta a sus destinos según reglas.
  • Las reglas filtran por el contenido del evento («si el importe > 1000 → revisión manual») y enrutan automáticamente, sin código de reparto.
  • Frente a SNS: EventBridge ofrece filtrado avanzado por contenido e integración nativa con muchos servicios de AWS y apps SaaS. Usa SNS para difusión simple y veloz; EventBridge para enrutado inteligente e integraciones.
  • Superpoder: muchos servicios de AWS emiten eventos a EventBridge, lo que te permite reaccionar a lo que pasa dentro de AWS sin programar vigilancia.
  • Con schedules, EventBridge ejecuta tareas programadas (el «cron» serverless).

En el último subcapítulo del capítulo uniremos todas estas piezas (SQS, SNS, EventBridge) en los grandes patrones que habilitan: pub/sub, desacoplamiento y saga.

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados