Integración de aplicaciones: SQS, SNS, EventBridge, API Gateway y Step Functions
Los servicios de integración de aplicaciones permiten que diferentes componentes de una solución se comuniquen sin depender demasiado unos de otros. En AWS, esto es muy importante porque muchas arquitecturas modernas se construyen con varios servicios pequeños: una API, una función Lambda, una cola, una base de datos, un evento, un proceso de aprobación o una notificación.
Para el examen AWS Certified Cloud Practitioner CLF-C02 no necesitas diseñar una arquitectura distribuida avanzada, pero sí debes reconocer qué servicio encaja mejor según el caso de uso: SQS para colas, SNS para publicación y suscripción, EventBridge para eventos, API Gateway para exponer APIs y Step Functions para coordinar workflows.
1. Por qué integrar aplicaciones
Imagina una tienda online. Cuando un cliente realiza un pedido, pueden ocurrir muchas acciones: validar pago, guardar el pedido, enviar un correo, actualizar inventario, generar una factura, avisar a logística y registrar métricas. Podrías hacer que una sola aplicación lo hiciera todo en una única operación, pero eso genera dependencia fuerte: si una parte falla, puede afectar al proceso completo.
Los servicios de integración ayudan a separar responsabilidades:
- Un componente puede enviar un mensaje y continuar sin esperar a que todo se procese.
- Varios sistemas pueden reaccionar al mismo evento.
- Una API puede exponer un backend de forma controlada.
- Un flujo puede coordinar pasos con reintentos, ramas y errores.
- Los sistemas pueden absorber picos de tráfico sin romperse.
Ejemplo sencillo
Una aplicación recibe 10.000 pedidos en pocos minutos. En lugar de procesarlos todos directamente en el servidor web, los coloca en una cola SQS. Los consumidores procesan los mensajes a su ritmo. Así se desacopla la recepción del pedido del procesamiento posterior.
2. Concepto clave: desacoplamiento
El desacoplamiento significa reducir la dependencia directa entre componentes. Si el componente A depende demasiado del componente B, cualquier lentitud o fallo en B puede afectar directamente a A. Con una cola, un evento o un sistema de notificaciones, A puede enviar información y B puede procesarla después.
En CLF-C02, cuando una pregunta mencione desacoplar, procesamiento asíncrono, buffering o absorber picos, debes pensar rápidamente en servicios como Amazon SQS.
3. Comunicación síncrona y asíncrona
Hay dos formas de comunicación muy importantes:
- Síncrona: un sistema llama a otro y espera respuesta. Por ejemplo, una app llama a una API HTTP.
- Asíncrona: un sistema envía un mensaje o evento y no necesita esperar a que todo termine en ese momento.
API Gateway suele aparecer en escenarios síncronos, porque expone endpoints para que clientes o aplicaciones llamen a una API. SQS, SNS y EventBridge suelen aparecer en escenarios asíncronos, donde los componentes se comunican mediante mensajes o eventos.
4. Amazon SQS
Amazon Simple Queue Service, o SQS, es un servicio de colas de mensajes totalmente gestionado. Una cola permite que un productor envíe mensajes y que uno o varios consumidores los procesen después.
SQS es especialmente útil para:
- Desacoplar componentes.
- Absorber picos de tráfico.
- Procesar tareas en segundo plano.
- Evitar que un consumidor lento bloquee al productor.
- Crear arquitecturas más resilientes.
Escenario típico de examen
Una aplicación web recibe solicitudes que requieren procesamiento pesado. Para no hacer esperar al usuario, la aplicación coloca trabajos en una cola y varios workers los procesan después. El servicio más probable es Amazon SQS.
5. SQS Standard y SQS FIFO
En CLF-C02 puede aparecer una distinción básica entre colas Standard y FIFO:
- SQS Standard: alta escala y entrega al menos una vez. El orden exacto no está garantizado.
- SQS FIFO: conserva el orden de los mensajes y ayuda a evitar duplicados en escenarios donde el orden importa.
No necesitas entrar en configuración avanzada. La regla mental es sencilla: si la pregunta menciona que el orden de procesamiento es crítico, puede aparecer FIFO.
6. Visibilidad y mensajes no procesados
Un concepto útil para entender SQS es el visibility timeout. Cuando un consumidor lee un mensaje, el mensaje queda temporalmente invisible para otros consumidores. Si el consumidor lo procesa correctamente, lo elimina. Si no lo elimina, el mensaje puede volver a estar disponible para reintento.
Para CLF-C02 no necesitas configurar valores, pero sí entender que SQS ayuda a procesar mensajes de forma fiable y que puede soportar reintentos cuando algo falla.
7. Dead-letter queue
Una dead-letter queue, o DLQ, es una cola donde se envían mensajes que no han podido procesarse correctamente después de varios intentos. Sirve para investigar errores sin bloquear el flujo principal.
En preguntas de examen, si ves mensajes que fallan repetidamente y se necesita aislarlos para análisis, una DLQ puede formar parte de la solución.
8. Amazon SNS
Amazon Simple Notification Service, o SNS, es un servicio de publicación y suscripción. Un productor publica un mensaje en un tema, y SNS entrega ese mensaje a los suscriptores.
Los suscriptores pueden ser, entre otros:
- Colas SQS.
- Funciones Lambda.
- Endpoints HTTP/S.
- Correos electrónicos.
- SMS, según disponibilidad y caso de uso.
9. Patrón fanout con SNS y SQS
El patrón fanout aparece mucho en integración. Consiste en enviar un mismo mensaje a varios destinos. Un ejemplo típico es publicar un evento de pedido en SNS y que varias colas SQS lo reciban: una para inventario, otra para facturación y otra para logística.
Ejemplo tipo examen
Una empresa quiere que cuando se cree un pedido, varios sistemas lo procesen de forma independiente. La combinación SNS + SQS permite publicar el evento una vez y distribuirlo a varias colas.
10. SQS frente a SNS
Esta diferencia es clave para aprobar:
- SQS: cola. Un mensaje espera hasta que un consumidor lo procese.
- SNS: pub/sub. Un mensaje se publica a uno o varios suscriptores.
SQS se centra en desacoplar y guardar mensajes para procesamiento. SNS se centra en notificar o distribuir mensajes a varios destinos.
11. Amazon EventBridge
Amazon EventBridge es un bus de eventos serverless. Permite recibir eventos de servicios AWS, aplicaciones propias y aplicaciones SaaS, y enrutar esos eventos hacia destinos mediante reglas.
EventBridge aparece cuando el escenario habla de:
- Arquitecturas orientadas a eventos.
- Reaccionar a cambios en servicios AWS.
- Integrar aplicaciones SaaS.
- Crear reglas que envían eventos a distintos destinos.
- Programar eventos o tareas basadas en tiempo.
Ejemplo sencillo
Cuando se sube un archivo a un bucket S3, se genera un evento. EventBridge puede enrutar ese evento a una función Lambda, a una Step Function o a otro destino para iniciar procesamiento.
12. EventBridge no es simplemente una cola
Un error común es pensar que EventBridge es lo mismo que SQS. No lo es. SQS almacena mensajes en una cola hasta que un consumidor los procesa. EventBridge enruta eventos desde fuentes hacia destinos usando reglas.
Si la pregunta dice “cola”, “buffer”, “consumidor”, “procesamiento posterior” o “mensajes esperando”, SQS suele encajar. Si dice “eventos”, “reglas”, “bus de eventos”, “servicios AWS” o “SaaS”, EventBridge suele encajar.
13. Amazon API Gateway
Amazon API Gateway permite crear, publicar, proteger, monitorizar y gestionar APIs. Es muy común junto con AWS Lambda en arquitecturas serverless, pero también puede integrarse con otros backends.
API Gateway aparece en CLF-C02 cuando el escenario habla de:
- Exponer endpoints HTTP/REST.
- Crear una API para una aplicación web o móvil.
- Gestionar acceso a una API.
- Integrar clientes con funciones Lambda.
- Controlar tráfico, autenticación, throttling o versiones de API a alto nivel.
14. API Gateway y Lambda
Un patrón muy habitual es API Gateway + Lambda. API Gateway recibe una petición HTTP desde un cliente, como una web o app móvil, y llama a una función Lambda que ejecuta la lógica.
Para CLF-C02, lo importante no es programar la API, sino reconocer la arquitectura: clientes llaman a una API gestionada; API Gateway controla la entrada; Lambda ejecuta código sin servidores.
15. AWS Step Functions
AWS Step Functions permite coordinar procesos de varios pasos mediante workflows. Un workflow puede llamar a funciones Lambda, servicios AWS, tareas humanas o integraciones, y controlar estados, reintentos, errores y ramas de decisión.
Step Functions aparece cuando el escenario menciona:
- Orquestar varios pasos.
- Coordinar un proceso de negocio.
- Gestionar reintentos y errores.
- Crear flujos visuales.
- Ejecutar una secuencia de tareas dependientes.
Ejemplo tipo examen
Una empresa necesita validar una solicitud, llamar a varios servicios, esperar una respuesta, reintentar si falla una tarea y guardar el resultado final. Step Functions es la opción más clara para coordinar ese workflow.
16. Orquestación frente a coreografía
Esta diferencia ayuda a razonar muchas preguntas:
- Orquestación: hay un flujo central que coordina pasos. Step Functions encaja muy bien aquí.
- Coreografía basada en eventos: los servicios reaccionan a eventos sin un coordinador central fuerte. EventBridge, SNS y SQS pueden participar.
Para el examen, si la pregunta habla de un proceso con pasos definidos, estados y reintentos, piensa en Step Functions. Si habla de sistemas que reaccionan a eventos, piensa en EventBridge o SNS según el caso.
17. Comparativa principal para CLF-C02
| Servicio | Qué problema resuelve | Pista típica en el examen |
|---|---|---|
| Amazon SQS | Colas de mensajes para desacoplar productor y consumidor. | Cola, buffering, consumidor lento, procesamiento asíncrono. |
| Amazon SNS | Publicación y suscripción para enviar mensajes a varios destinos. | Notificaciones, pub/sub, fanout, varios suscriptores. |
| Amazon EventBridge | Bus de eventos para enrutar eventos entre servicios, apps y SaaS. | Eventos, reglas, event-driven, SaaS, servicios AWS. |
| Amazon API Gateway | Crear y gestionar APIs. | HTTP, REST, WebSocket, endpoint, API gestionada. |
| AWS Step Functions | Orquestar workflows con pasos, estados y reintentos. | Workflow, proceso con pasos, coordinación, reintentos. |
18. Tabla de decisión rápida
| Requisito del escenario | Respuesta más probable | Por qué |
|---|---|---|
| Un servicio produce mensajes y otro los procesa después | SQS | La cola desacopla productor y consumidor. |
| Un mensaje debe llegar a varios sistemas | SNS | Pub/sub y fanout distribuyen a suscriptores. |
| Varios servicios reaccionan a eventos de AWS o SaaS | EventBridge | Bus de eventos con reglas de enrutamiento. |
| Una aplicación móvil necesita llamar a un endpoint gestionado | API Gateway | Expone APIs HTTP/REST/WebSocket. |
| Un proceso tiene varios pasos, decisiones y reintentos | Step Functions | Orquesta workflows y estados. |
| Mensajes fallidos deben analizarse aparte | Dead-letter queue | Aísla mensajes que no pudieron procesarse. |
| El orden de mensajes es crítico | SQS FIFO | Conserva orden y evita duplicación en escenarios FIFO. |
19. SQS, SNS y EventBridge juntos
Estos servicios no son excluyentes. En arquitecturas reales se combinan. Por ejemplo:
- SNS puede enviar el mismo mensaje a varias colas SQS.
- EventBridge puede recibir eventos y enviarlos a Lambda o Step Functions.
- SQS puede proteger a un consumidor ante picos de eventos.
- Step Functions puede coordinar llamadas a varios servicios.
Para CLF-C02, no te compliques demasiado. Primero identifica el requisito principal. Luego elige el servicio que mejor encaja con esa palabra clave.
20. Patrones habituales de integración
Estos patrones aparecen con frecuencia en preguntas y explicaciones:
- Queue-based load leveling: usar una cola para absorber picos y procesar a ritmo controlado.
- Fanout: publicar un mensaje y entregarlo a varios destinos.
- Event-driven architecture: servicios que reaccionan a eventos.
- API façade: exponer una API gestionada delante de backends.
- Workflow orchestration: coordinar un proceso completo con estados y errores.
21. Servicios que se confunden
| Confusión habitual | Diferencia práctica |
|---|---|
| SQS vs SNS | SQS es cola; SNS publica a suscriptores. |
| SNS vs EventBridge | SNS distribuye mensajes por pub/sub; EventBridge enruta eventos con reglas y fuentes variadas. |
| EventBridge vs SQS | EventBridge enruta eventos; SQS almacena mensajes en una cola para consumidores. |
| API Gateway vs Step Functions | API Gateway expone APIs; Step Functions coordina workflows. |
| Lambda vs Step Functions | Lambda ejecuta código; Step Functions coordina varios pasos y servicios. |
| API Gateway vs Application Load Balancer | API Gateway gestiona APIs; ALB distribuye tráfico a targets como EC2, ECS o Lambda en algunos casos. |
22. Errores típicos
- Elegir SNS cuando la pregunta pide una cola donde los mensajes esperen a ser procesados.
- Elegir SQS cuando el requisito principal es enviar una notificación a muchos suscriptores.
- Pensar que EventBridge es solo otra cola.
- Usar API Gateway para coordinar procesos largos con muchos pasos, cuando Step Functions encaja mejor.
- Olvidar el patrón SNS + SQS para fanout desacoplado.
- Confundir orquestación de workflows con simple ejecución de código.
- No reconocer que SQS ayuda a absorber picos y evitar presión directa sobre consumidores.
- No asociar API Gateway con APIs HTTP/REST/WebSocket gestionadas.
- Olvidar que una DLQ ayuda con mensajes fallidos.
- Elegir Step Functions para simple notificación masiva.
23. Cómo razonar preguntas tipo examen
Cuando una pregunta mencione integración, busca primero la palabra clave:
- Si ves cola, buffer, consumidor o procesamiento asíncrono, piensa en SQS.
- Si ves notificar a varios, pub/sub o fanout, piensa en SNS.
- Si ves eventos, reglas, SaaS o arquitectura event-driven, piensa en EventBridge.
- Si ves API, endpoint HTTP, REST o WebSocket, piensa en API Gateway.
- Si ves workflow, pasos, estado, reintentos o orquestación, piensa en Step Functions.
Test del módulo · 12 preguntas
- Amazon SQS
- Amazon Route 53
- AWS KMS
- Amazon EBS
Ver respuesta y explicación
Respuesta: A. SQS permite desacoplar productor y consumidor mediante una cola de mensajes.
- Amazon SNS
- Amazon EFS
- AWS Shield
- AWS Artifact
Ver respuesta y explicación
Respuesta: A. SNS implementa publicación/suscripción y el patrón fanout.
- AWS Step Functions
- Amazon CloudFront
- AWS Budgets
- Amazon Macie
Ver respuesta y explicación
Respuesta: A. Step Functions orquesta workflows con estados, pasos y manejo de errores.
- Amazon API Gateway
- Amazon S3 Glacier
- AWS Organizations
- Amazon Redshift
Ver respuesta y explicación
Respuesta: A. API Gateway permite crear y gestionar APIs.
- Amazon EventBridge
- AWS DMS
- Amazon ECR
- AWS Artifact
Ver respuesta y explicación
Respuesta: A. EventBridge enruta eventos desde servicios AWS, aplicaciones y SaaS hacia destinos.
- Fanout con SNS y suscriptores como colas SQS
- Un único volumen EBS compartido por todos
- Una política SCP para enviar mensajes
- Un registro DNS ponderado
Ver respuesta y explicación
Respuesta: A. SNS puede publicar un mensaje a varios suscriptores, y SQS permite que cada sistema procese su copia de forma desacoplada.
- Dead-letter queue
- CloudFront distribution
- Dedicated Host
- Route 53 hosted zone
Ver respuesta y explicación
Respuesta: A. Una DLQ almacena mensajes que no pudieron procesarse tras varios intentos.
- SQS FIFO
- S3 Standard-IA
- CloudTrail Lake
- API Gateway Edge Cache
Ver respuesta y explicación
Respuesta: A. SQS FIFO está pensado para escenarios donde el orden de los mensajes importa.
- Amazon API Gateway
- AWS Artifact
- Amazon Athena
- AWS Backup
Ver respuesta y explicación
Respuesta: A. API Gateway suele exponer endpoints HTTP que invocan funciones Lambda.
- SQS es una cola; SNS es publicación/suscripción
- SNS es una base de datos; SQS es DNS
- SQS sirve para certificados TLS; SNS para cifrado KMS
- Son el mismo servicio con distinto nombre
Ver respuesta y explicación
Respuesta: A. SQS almacena mensajes en cola; SNS distribuye mensajes a suscriptores.
- Amazon EventBridge
- Amazon EBS
- AWS Pricing Calculator
- Amazon VPC
Ver respuesta y explicación
Respuesta: A. EventBridge usa reglas para enrutar eventos a destinos.
- AWS Step Functions
- Amazon SNS
- Amazon CloudFront
- AWS Shield
Ver respuesta y explicación
Respuesta: A. Step Functions coordina pasos de un workflow de forma explícita.
Resumen final
Los servicios de integración de aplicaciones ayudan a construir soluciones desacopladas y más resilientes. SQS se usa para colas y procesamiento asíncrono. SNS se usa para pub/sub y fanout. EventBridge se usa para eventos y reglas de enrutamiento. API Gateway expone APIs gestionadas. Step Functions coordina workflows con pasos, estados y reintentos.
Para aprobar CLF-C02, céntrate en reconocer escenarios. Si una pregunta habla de una cola, no te vayas a SNS. Si habla de notificar a muchos, no elijas SQS como primera opción. Si habla de eventos y reglas, piensa en EventBridge. Si habla de endpoints HTTP, piensa en API Gateway. Si habla de pasos coordinados, piensa en Step Functions.