AWS Step Functions Popular2016年〜
Servicio para diseñar visualmente y ejecutar flujos de trabajo que combinan múltiples servicios de AWS
Qué hace
AWS Step Functions es un servicio que permite diseñar visualmente y ejecutar automáticamente flujos de trabajo (secuencias de pasos de procesamiento) que combinan múltiples servicios de AWS. Puede ejecutar pasos como funciones Lambda, tareas ECS, envío de mensajes SQS y operaciones DynamoDB de forma secuencial, en paralelo o con ramificación condicional. Gestiona automáticamente el estado de ejecución de cada paso e incorpora reintentos y manejo de excepciones ante errores.
Casos de uso
Se utiliza para flujos de trabajo de procesamiento de pedidos (verificación de inventario → pago → envío), pipelines de procesamiento de datos (obtención → transformación → almacenamiento), pipelines de entrenamiento de modelos de ML, flujos de aprobación, orquestación de microservicios y automatización de procesamiento ETL.
Analogía cotidiana
Se puede comparar con una receta de cocina. La receta (máquina de estados) tiene pasos escritos como cortar ingredientes → saltear → cocinar a fuego lento → emplatar. Step Functions sigue la receta automáticamente, y si algo falla (se quema), lo reintenta. También puede preparar varios platos simultáneamente (procesamiento en paralelo).
¿Qué es Step Functions?
AWS Step Functions es un servicio de orquestación serverless para construir flujos de trabajo de aplicaciones distribuidas. Los flujos de trabajo se describen en una definición JSON llamada máquina de estados, donde se define declarativamente el orden de ejecución de cada paso (estado), ramificación condicional, procesamiento en paralelo y manejo de errores. En la consola se puede visualizar en tiempo real el estado de ejecución del flujo de trabajo, identificando de un vistazo qué pasos tuvieron éxito o fallaron.
Tipos de estados
Step Functions tiene múltiples tipos de estados. El estado Task invoca funciones Lambda o APIs de servicios de AWS. El estado Choice ramifica según condiciones. El estado Parallel ejecuta múltiples ramas simultáneamente. El estado Wait espera un tiempo especificado. El estado Map repite el mismo procesamiento para cada elemento de un arreglo. Combinando estos se pueden expresar lógicas de negocio complejas.
Flujos de trabajo Express y Standard
Step Functions tiene 2 tipos de flujos de trabajo. Los flujos Standard admiten ejecuciones de hasta 1 año y conservan el historial de ejecución. Son adecuados para flujos de larga duración o procesamiento que requiere auditoría. Los flujos Express admiten ejecuciones de hasta 5 minutos y soportan más de 100,000 ejecuciones por segundo. Son adecuados para procesamiento de alta frecuencia y corta duración como datos IoT o transformación de datos en streaming. Para profundizar en el conocimiento práctico de los flujos Express y Standard, los libros especializados (Amazon) son útiles.
Cómo empezar
Para comenzar con Step Functions, cree una máquina de estados en la consola de Step Functions. Con el editor visual Workflow Studio, puede diseñar flujos de trabajo arrastrando y soltando. Agregue funciones Lambda como pasos, defina el orden de ejecución y tendrá un flujo de trabajo básico completo. Al hacer clic en "Iniciar ejecución", el flujo se ejecuta y puede verificar el progreso de cada paso en tiempo real.
Aspectos a tener en cuenta
- Los flujos Standard se cobran por transición de estado, así que tenga en cuenta los costos en flujos con muchos pasos
- Los flujos Express solo guardan el historial de ejecución en CloudWatch Logs; elija Standard si tiene requisitos de auditoría
- La capa gratuita incluye 4,000 transiciones de estado por mes de forma permanente