AWS Certified Cloud Practitioner

Servicios de integración de aplicaciones

Conoce los servicios de integración de aplicaciones de AWS que conectan componentes desacoplados: Amazon SQS para colas de mensajes, Amazon SNS para publicación/suscripción, Amazon EventBridge para enrutar eventos y AWS Step Functions para orquestar flujos de trabajo.

Principiante 16 minutos 4 Objetivos de aprendizaje
  1. Explicar por qué los servicios de integración de aplicaciones te ayudan a construir sistemas desacoplados y orientados a eventos
  2. Describir qué hace cada uno: Amazon SQS, Amazon SNS, Amazon EventBridge y AWS Step Functions
  3. Comparar una cola de mensajes (SQS) con un tema de publicación/suscripción (SNS)
  4. Asociar una necesidad de integración descrita con el servicio correcto de AWS

Por qué esto importa

Una aplicación moderna casi nunca es un solo programa. Son muchas partes pequeñas que se pasan trabajo entre sí: una capa web recibe un pedido, otro componente cobra la tarjeta, un tercero actualiza el inventario y un cuarto envía un correo. Si esas partes se llaman directamente entre ellas, un componente lento o caído puede congelar todo el sistema.

Los servicios de integración de aplicaciones resuelven esto. Dejan que las partes de una aplicación se comuniquen sin estar acopladas de forma rígida, algo que se llama desacoplamiento. Los componentes pasan mensajes o eventos a través de un servicio administrado en lugar de llamarse directamente, así que una parte puede fallar, ir lenta o escalar por su cuenta sin romper al resto. El examen CLF-C02 evalúa 4 de estos servicios a nivel de reconocimiento: Amazon SQS, Amazon SNS, Amazon EventBridge y AWS Step Functions. Tu trabajo es asociar una necesidad descrita con el servicio correcto.

Amazon SQS: colas de mensajes

Amazon Simple Queue Service (Amazon SQS) es una cola de mensajes totalmente administrada. Un productor pone mensajes en la cola y un consumidor los saca para procesarlos uno por uno, a su propio ritmo. La cola guarda los mensajes mientras tanto, así que el productor y el consumidor nunca tienen que estar disponibles al mismo tiempo.

Esta es la forma clásica de desacoplar un front-end rápido del trabajo más lento del back-end. Imagina un sitio que recibe fotos. En lugar de hacer esperar al usuario mientras se redimensiona cada foto, el sitio deja un mensaje en una cola de SQS y responde de inmediato. Un worker aparte lee la cola y redimensiona las fotos cuando puede. Si el worker se atrasa o se reinicia, los mensajes esperan a salvo en la cola.

SQS ofrece 2 tipos de cola que conviene reconocer por nombre:

  • Las colas estándar dan el máximo rendimiento y entrega al menos una vez, con orden de mejor esfuerzo.
  • Las colas FIFO (primero en entrar, primero en salir) garantizan que cada mensaje se procese exactamente una vez, en el orden exacto en que se envió.

Piensa en SQS como punto a punto: cada mensaje está pensado para que un solo consumidor lo maneje.

Amazon SNS: publicación/suscripción (fan-out)

Amazon Simple Notification Service (Amazon SNS) es un servicio administrado de mensajería de publicación/suscripción (pub/sub). Los publicadores envían mensajes a un tema (topic), y el tema envía una copia de cada mensaje a cada suscriptor. Esto es de muchos a muchos, o fan-out: un mensaje llega a varios destinos a la vez.

Los suscriptores pueden ser colas de SQS, funciones de AWS Lambda, endpoints HTTP/S e incluso usuarios finales por SMS, correo y notificaciones push al celular. Así que SNS es el servicio al que recurres cuando un mismo evento necesita disparar varias reacciones en paralelo, o cuando necesitas enviar notificaciones a personas.

Un diseño muy común es SNS junto con SQS. El publicador envía un mensaje a un tema de SNS, y el tema lo entrega a varias colas de SQS. Cada cola alimenta a un consumidor distinto, así que facturación, envíos y analítica pueden reaccionar al mismo evento de pedido sin saber nada unos de otros.

La forma más rápida de distinguir SNS y SQS: SQS es una cola de la que un consumidor saca mensajes, mientras que SNS envía cada mensaje a muchos suscriptores.

Amazon EventBridge: el bus de eventos

Amazon EventBridge es un bus de eventos serverless. Un bus de eventos recibe un flujo de eventos y enruta cada uno al lugar correcto según reglas que tú defines. Una regla hace coincidir eventos por su contenido y luego envía los que coinciden a uno o más destinos, como una función de Lambda, una cola de SQS o Step Functions.

Lo que distingue a EventBridge es de dónde vienen los eventos. Puede recibir eventos de tus propias aplicaciones, de muchos servicios de AWS y de aplicaciones SaaS de terceros como Zendesk o Shopify. Eso lo vuelve la opción natural para construir sistemas orientados a eventos que reaccionan a la actividad de herramientas que no controlas.

Una forma simple de fijar la diferencia: SNS difunde un mensaje a sus suscriptores, mientras que EventBridge inspecciona cada evento y lo enruta por reglas, incluidos eventos de socios SaaS.

AWS Step Functions: orquestar flujos de trabajo

Los primeros 3 servicios mueven mensajes o eventos individuales. AWS Step Functions es distinto: coordina toda una secuencia de pasos como un solo flujo de trabajo.

Defines los pasos como un flujo visual (una máquina de estados), y Step Functions los ejecuta en orden, pasa datos de un paso al siguiente, reintenta los pasos que fallan y rastrea el estado de todo el proceso. Esto es orquestación. Encaja en cualquier tarea de varios pasos donde el orden y el manejo de errores importan, como procesar un pedido, correr un pipeline de datos o aprobar una solicitud.

Imagina un flujo de pedido: validar el pago, luego reservar el inventario y luego enviar una confirmación. Si reservar el inventario falla, Step Functions puede reintentarlo o desviarse a otra ruta, sin que tengas que escribir la lógica para rastrear en qué punto va el proceso.

Comparación lado a lado

ServicioQué esÚsalo cuando
Amazon SQSCola de mensajes administrada (basada en pull)Necesitas desacoplar componentes y dejar que un consumidor procese mensajes a su ritmo
Amazon SNSMensajería pub/sub (basada en push)Un mensaje debe distribuirse a muchos suscriptores, o necesitas notificar a personas por SMS, correo o push
Amazon EventBridgeBus de eventos serverlessNecesitas enrutar eventos por reglas, sobre todo desde servicios de AWS o apps SaaS
AWS Step FunctionsOrquestación de flujos de trabajoNecesitas correr un proceso de varios pasos en orden, con reintentos y manejo de errores

Consejos para el examen

  • Los servicios de integración de aplicaciones existen para desacoplar las partes de una aplicación, así pueden fallar y escalar de forma independiente.
  • Amazon SQS es una cola de mensajes. Un consumidor saca cada mensaje. Las colas estándar favorecen el rendimiento; las colas FIFO garantizan el orden y el procesamiento exactamente una vez.
  • Amazon SNS es pub/sub. Distribuye un mensaje a muchos suscriptores (colas de SQS, Lambda, HTTP, SMS, correo, push). SNS junto con SQS es el patrón clásico de fan-out.
  • Distingue SQS y SNS: SQS es una cola de la que lee un consumidor, SNS envía a muchos suscriptores a la vez.
  • Amazon EventBridge es un bus de eventos serverless que enruta eventos por reglas y puede ingerir eventos de aplicaciones SaaS.
  • AWS Step Functions orquesta flujos de trabajo de varios pasos con orden, reintentos y manejo de errores integrados. Elígelo cuando un escenario describe coordinar varios pasos.