Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Community Day Peru 2024 - AWS Step Function From Zero to Hero

AWS Community Day Peru 2024 - AWS Step Function From Zero to Hero

A step-by-step guide to walk in your AWS Step Functions journey.

Lino Espinoza

April 24, 2024
Tweet

More Decks by Lino Espinoza

Other Decks in Technology

Transcript

  1. Lino Espinoza AWS Step Functions From Zero to Hero AWS

    Community Builder @Serverless Serverless
  2. • AWS Community Builder • Interesado en: • Arquitecturas basadas

    en eventos • Serverless • Actualmente trabajo en iO como Technical Lead • Me apasiona enseñar y dar charlas acerca de temas de tecnología y la nube. • Autodidacta y enfocado en siempre aprender algo nuevo. Acerca de mi
  3. Step functions intro Agenda Qué tipo de workflow? Standard Express

    Optimización Patrones y mejores prácticas (como un workflow de Step Functions)
  4. AWS Step Functions – Qué es? Es un servicio administrado

    por AWS, de escalado automático y es pay-per-use Los Step Functions están basados en máquinas de estado, y una máquina de estado es un flujo de trabajo (workflow). Estan compuestos por pasos llamados estados (states) Pueden ser usados para orquestar multiples servicios de AWS
  5. AWS Step Functions – Input / Output • Al ejecutar

    un Step Function, este recibe un JSON como input y translada dicha información al primer estado en el workflow • Cada uno de los states recibe dicho JSON como input, y usualmente pasan dicho JSON como output hacia el siguiente state • Es posible filtar, manipular y transformer el input y el output entre states.
  6. AWS Step Functions – Amazon State Language (ASL) StartAt (Requerido):

    Indica el estado donde el workflow inicia. 1 States (Requerido): Objeto que contiene un listado de states separados por coma. 2 Type (Requerido): Indica el tipo del state 3 OutputPath (Opcional): Es el path que selecciona una porción del input del state, que será enviado como output del state. 4 Next (Opcional): Nombre del siguiente state a ejecutarse cuando el actual state termine. 5 TimeoutSeconds (Opcional): Cantidad de segundos máxima que el state puede durar, en caso de excederse caera en el el error States.Timeout. 6 InputPath (Opcional): Es el path que selecciona una porción del input del state, que será enviado al state de tipo task para procesar. 7 End (Requerido): Determina el estado final del workflow 8
  7. AWS Step Functions – Integraciones Step Functions se integra con

    más de 220 servicios de AWS Step Functions soporta más de 10,000 acciones via API Sintáxis: Ejemplo: arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern] arn:aws:states:::aws-sdk:ec2:describeInstances
  8. AWS Step Functions – ASL - Intrinsic Functions • Ayudan

    a realizar operaciones básicas con la información del state sin utilizar un state de tipo task. • Se clasifican en: • Intrinsics para arrays • Intrinsics para realizar encoding/decoding • Intrinsics para manejar hash • Intrinsics para manipular JSON • Intrinsics para operaciones matemáticas (Math) • Intrinsics para operaciones con Strings • Intrinsics para generación de identificadores únicos (uuidv4) • Intrisincs para operaciones genéricas
  9. AWS Step Functions Workflow Studio Buscador de estados Contiene 2

    paneles: el panel de acciones que contiene la lista de APIs de servicios de AWS disponibles y el panel de flujo que nos brinda una lista de estados de flujo. Canvas Puedes arrastrar y soltar elementos del panel de acciones y flujo para crear un gráfico que muestre un flujo de trabajo (workflow) Panel de inspección Donde seleccionas una vista de tipo formulario para ver y editar las propiedades de la tarea seleccionada. Panel de información Brinda información sobre alguna API cuando necesitamos saber más.
  10. Standard Express VS • Alta duración (365 días máx) •

    Asíncronos • $ 0.025 por mil transiciones de estado • Alto volumen de transacciones • Cost-effective • Síncrono • Asíncrono • Corta duración (5 min) • $ 1.00 por 1 millón de peticiones + $ 0.06 por GB x hora (consumo de memoria)
  11. AWS Step Functions – Saga Pattern • Utiliza el manejo

    de errores para revertir secuencialmente los fallos en el sistema para transacciones de larga duración La “Saga” continúa
  12. AWS Step Functions – Circuit Breaker • Evitamos que un

    servicio vuelva a intentar otra llamada que previamente haya causado fallas o tiempos de espera repetidos.
  13. Mantengamos el contacto h i @ l i n o

    e s p i n o z a . c o m L I N K E D I N https://www.linkedin.com/in/linoespinoza