Clément Schanen

Intégration d'applicationsService régional

Step Functions

Permet de coordonner plusieurs tâches dans des workflows visuels

Cas d’utilisations

  • Orchestration de jobs de machine learning
  • Workflows ETL (Extract-Transform-Load)
  • Automatisation de processus métiers (onboarding, validation, transactions)
  • Traitement par lots (images/vidéos)

Concepts clés

  • State Machine : workflow qui définit un processus composé d’étapes
  • State : chaque étape du workflow (peut être une tâche, une attente, une décision, etc)
  • Task : étape qui exécute une unité de travail (ex : appel Lambda, envoi SNS…)
  • Amazon States Language (ASL) : langage JSON pour définir les workflows
  • Visual Workflow : console graphique pour concevoir et monitorer les exécutions

Intégrations

  • Plus de 200 intégrations AWS natives (Lambda, DynamoDB, ECS, SageMaker, SQS, SNS, Glue…)
  • Support des SDK Integrations : appel direct d’API AWS depuis un state machine
  • Peut orchestrer des services externes via API Gateway

Bonnes pratiques :

  • Gérer les erreurs avec des retries et fallbacks dans les tasks
  • Penser à écrire des steps idempotentes

Types de workflow

Workflow standards

  • Exactly-once execution (chaque exécution est unique)
  • Durée max : 1 an
  • Jusqu’à 2000 exécutions/sec
  • Facturation par transition d’état
  • Cas d’usage : processus longs (approbations, traitement de commandes, pipelines data…)

Workflow express

  • At-least-once execution (peut s’exécuter plusieurs fois)
  • Durée max : 5 minutes
  • Scalabilité massive (des milliers d’exécutions/sec)
  • Facturation par exécution, durée et mémoire utilisée
  • Cas d’usage : tâches courtes mais nombreuses (IoT, streaming, data ingestion…)

Types d’état

  • Pass : retourne une valeur sans traitement
  • Task : exécute une tâche (Lambda, ECS, Batch, SNS, SQS, Glue, etc)
  • Choice : branchement conditionnel
  • Wait : mise en pause
  • Succeed / Fail : termine le workflow en succès ou en erreur
  • Parallel : exécute plusieurs branches en parallèle
  • Map : exécute une étape sur une liste d’éléments (mode parallèle ou séquentiel)