ENES

AWS Step Functions

Un diagrama de flujo que corre: encadena pasos, reintenta fallas y recuerda dónde iba.

Un diagrama de flujo con un inicio, un paso de validación que reintenta, dos pasos en paralelo, una espera y un final

AWS Step Functions orquesta procesos que tienen muchos pasos. Describís una máquina de estados: paso A, después B; si B falla reintentalo tres veces; después C y D en paralelo; esperá 24 horas; después E. Cada paso llama a algo, casi siempre una función AWS Lambda, pero también tareas de Amazon ECS, Amazon SQS, Amazon DynamoDB y la mayoría de las APIs de AWS. Step Functions corre el flujo, sabe exactamente en qué punto está cada ejecución y lo muestra como un diagrama en vivo.

El problema que resuelve: apenas un proceso tiene varios pasos, alguien tiene que contestar '¿y si el paso 3 falla cuando el paso 2 ya cobró la tarjeta?'. Escribir esa lógica adentro de una función gigante es frágil, y un proceso que se cae se olvida de todo. Una máquina de estados guarda su estado fuera de tu código, así que una ejecución puede quedar en pausa días y retomar, y una falla en un paso dispara el reintento o la compensación que definiste.

Ejemplo: una solicitud de préstamo. Validar el formulario (Lambda), consultar el historial crediticio (una API externa con timeout de 2 minutos y reintentos), después en paralelo calcular la oferta y generar el PDF. Después esperar la firma del solicitante, hasta 7 días, en pausa y sin costo. Después abrir la cuenta. Si algún paso falla del todo, sale una notificación por Amazon SNS.

Las definiciones se escriben en un dialecto de JSON llamado Amazon States Language, o se dibujan en el Workflow Studio visual. Los workflows estándar pueden correr hasta un año; los Express son para flujos cortos y de mucho volumen que terminan en menos de cinco minutos.

Para quedarse

Para seguir leyendo

Términos relacionados

Más de AWS