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