Clément Schanen

CalculService régional

Batch

Permet d’exécuter des traitements par lots à grande échelle sans gérer l’infrastructure sous-jacente

Présentation

  • AWS Batch est un service permettant d’exécuter automatiquement des traitements par lots (batch jobs)
  • Les traitements sont exécutés dans des conteneurs Docker sur une infrastructure AWS
  • AWS Batch provisionne automatiquement les ressources nécessaires et adapte leur capacité en fonction de la charge

Cas d’usage

  • Calcul scientifique
  • Simulation
  • Traitement d’images ou vidéos
  • Analyse Big Data
  • Machine Learning
  • Génération de rapports
  • ETL Adapté aux traitements longs ou gourmands qui ne nécessitent pas d’interaction utilisateur

Fonctionnement

Job

  • Un job représente une tâche à exécuter
  • Exemples :
    • Lancer un script Python
    • Convertir une vidéo
    • Entraîner un modèle IA

Job Definition

  • Décrit la manière dont un Job doit être exécuté (image docker, vCPU, mémoire, variables d’environnement, rôle IAM)

Job Queue

  • Les jobs sont envoyés dans une file d’attente
  • AWS Batch décide automatiquement :
    • Quand exécuter le Job
    • Sur quelle infrastructure

Compute Environment

  • Infrastructure utilisée pour exécuter les Jobs
  • Deux possibilités :
    • Amazon EC2 (contrôle, large choix d’instances)
    • AWS Fargate (serverless)

Planification

  • Les jobs peuvent être :
    • Lancés manuellement
    • Déclenchés automatiquement
    • Exécutés selon des dépendances (attendre la fin d’un Job avant d’en lancer un autre)

Scalabilité

  • AWS Batch :
    • Provisionne automatiquement les ressources
    • Adapte la capacité selon la charge
    • Arrête les ressources inutilisées

Tarification

  • AWS Batch est gratuit, seules les ressources consommées sont facturées