AWS SNS y Step Functions para comunicación y workflows visuales
Clase 67 de 76 • Curso de AWS Certified Solutions Architect Associate
Resumen
AWS proporciona herramientas fundamentales como Simple Notification Service (SNS) y AWS Step Functions, diseñadas ambas para mejorar la eficiencia y comunicación en las aplicaciones. Estos servicios permiten implementar fácilmente comunicaciones masivas, integraciones flexibles y procesos automatizados mediante diagramas visuales y claramente definidos.
¿Qué es AWS Simple Notification Service (SNS)?
AWS SNS es un servicio completamente gestionado por AWS que facilita la entrega eficiente y confiable de mensajes a usuarios finales o sistemas de aplicaciones. Este servicio sigue un modelo de arquitectura conocido como "publicador-suscriptor", donde se crean temas (topics) específicos a los que suscribirse o enviar mensajes.
¿Cómo funciona la arquitectura de publicador-suscriptor?
La arquitectura consiste en:
- Publicadores: Aplicaciones o servicios que envían mensajes.
- Temas (Topics): Canales lógicos donde se recibe y gestiona la comunicación.
- Suscriptores: Servicios o aplicaciones que reciben mensajes.
¿Qué protocolos admite AWS SNS?
SNS soporta protocolos variados, entre ellos:
- HTTP y HTTPS (HTTP seguro).
- Email y Email JSON.
- Amazon SQS.
- AWS Lambda.
- SMS, entre otros.
Esto permite integraciones inteligentes y flexibles con servicios internos y externos.
¿Qué ventajas ofrece el uso de SNS en arquitectura?
- Entrega de mensajes a nivel global y con alta disponibilidad.
- Capacidad de "fan out": distribución simultánea de un mensaje hacia múltiples receptores.
- Integración eficiente con otros servicios AWS como CloudWatch para monitoreo.
- Opciones avanzadas como filtrado de mensajes según intereses específicos de los suscriptores.
¿Qué son AWS Step Functions y para qué sirven?
AWS Step Functions facilitan la creación y gestión visual de workflows complejos, coordinando aplicaciones distribuidas y microservicios de manera clara y eficiente. Emplean una interfaz amigable con conceptos sencillos como estado inicial, pasos posteriores y estados de decisión.
¿Cuáles son las características destacadas de Step Functions?
- Editor visual (Canvas) con capacidad para arrastrar y soltar estados.
- Definición de workflows mediante Amazon State Language (ASL).
- Dos tipos principales de workflows: estándar (para procesos largos y menos frecuentes) y express (para ejecuciones rápidas y frecuentes).
- Integración natural con otros servicios, como Lambda, SNS, bases de datos y contenedores.
¿Cuáles son los tipos principales de workflows en Step Functions?
- Estándar: adecuado para ejecuciones prolongadas (hasta un año), ofrece historial detallado, manejo robusto de errores y reintentos.
- Express: diseñado para alta frecuencia y corta duración (máximo 5 minutos), costos operativos reducidos y sin historial detallado.
¿Cómo son usados en casos prácticos estos servicios?
AWS SNS es ideal en notificaciones tipo push, monitoreo continuo, alertas instantáneas y distribución masiva de información.
AWS Step Functions, por su parte, es usado en escenarios complejos como:
- Coordinación de procesos escalonados (por ejemplo, evaluación de riesgos crediticios).
- Ejecución de workflows relacionados con machine learning o análisis de datos.
- Automatización visual de tareas repetitivas o vinculadas a eventos específicos.
Ambos servicios, por tanto, contribuyen a optimizar aplicaciones haciéndolas escalables, robustas, efectivas y muy integradas en el contexto serverless de AWS.
Te invito a compartir tus propios casos de uso o ideas de aplicación utilizando AWS SNS y Step Functions. ¿Qué aplicaciones visualizas posibles para tus proyectos?