Slide 1

Slide 1 text

Abril 2024 COMMUNITY DAY PERU

Slide 2

Slide 2 text

Lino Espinoza AWS Step Functions From Zero to Hero AWS Community Builder @Serverless Serverless

Slide 3

Slide 3 text

• 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

Slide 4

Slide 4 text

Step functions intro Agenda Qué tipo de workflow? Standard Express Optimización Patrones y mejores prácticas (como un workflow de Step Functions)

Slide 5

Slide 5 text

Introducción AWS Step Functions

Slide 6

Slide 6 text

AWS Step Functions – Simplicidad

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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.

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

AWS Step Functions – Estados (states) States (estados): Son elementos dentro de nuestra máquina de estado

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

Tipos AWS Step Functions

Slide 15

Slide 15 text

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)

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

AWS Step Functions – Circuit Breaker • Evitamos que un servicio vuelva a intentar otra llamada que previamente haya causado fallas o tiempos de espera repetidos.

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Gracias Abril 2024 COMMUNITY DAY PERU