Q : Qu'est-ce qu'AWS Batch ?

AWS Batch constitue un ensemble de capacités de gestion par lot qui permet aux développeurs, scientifiques et ingénieurs d'exécuter facilement et efficacement plusieurs centaines de milliers de tâches de traitement par lot sur AWS. Ce service alloue dynamiquement la quantité et le type de ressources de calcul optimaux (par exemple, des instances optimisées pour le CPU ou la mémoire) en fonction des exigences de volume et de ressources spécifiques des tâches par lot envoyées. Avec AWS Batch, vous n'avez pas besoin d'installer ou de gérer des logiciels de traitement ou des clusters de serveurs par lot, ce qui vous permet de vous concentrer plutôt sur l'analyse des résultats et la résolution des problèmes. AWS Batch planifie et exécute vos charges de travail de traitement par lot à l'aide d'Amazon EC2 et des instances Spot.

Q : Qu'est-ce que le traitement par lot ?
Le traitement par lot représente l'exécution d'une série de programmes (connus sous le nom de « tâches ») sur un ou plusieurs ordinateurs sans aucune intervention manuelle de l'utilisateur. Les paramètres d'entrée sont prédéfinis par le biais de scripts, d'arguments de ligne de commande, de fichiers de contrôle ou de la langue de contrôle des tâches. Une tâche par lot donnée peut dépendre de la réalisation des tâches précédentes ou de la disponibilité de certaines entrées, ce qui rend le séquençage et la planification de plusieurs tâches considérables et incompatibles avec le traitement interactif.

Q : Quels sont les avantages du traitement par lot ?

  • Le traitement par lot peut déplacer la date de traitement d'une tâche à une date où une capacité supérieure ou moins onéreuse est disponible.
  • Il permet d'éviter que des ressources de calcul nécessitant des interventions manuelles et contrôles fréquents soient inactives.
  • Il accroît le rendement en pilotant une utilisation accrue des ressources de calcul.
  • Il permet d'établir des priorités dans les tâches en alignant l'allocation des ressources sur les objectifs commerciaux.

Q : Pourquoi utiliser AWS Batch ?
AWS Batch s'occupe de l'exécution des tâches et de la gestion des ressources de calcul, ce qui vous permet de vous concentrer sur le développement d'applications et l'analyse des résultats plutôt que sur la configuration et la gestion de l'infrastructure. Si vous songez à exécuter ou déplacer des charges de travail par lot sur AWS, envisagez d'utiliser AWS Batch.

Q : Pour quels cas d'utilisation le service AWS Batch est-il optimisé ?
AWS Batch est optimisé pour le traitement par lot et les applications qui sont dimensionnés par le biais de l'exécution de plusieurs tâches en parallèle. L'apprentissage approfondi, l'analyse génomique, les modèles de gestion des risques financiers, les simulations Monte-Carlo, le rendu d'animations, le transcodage de fichiers multimédia, le traitement d'images et les simulations techniques constituent d'excellents exemples d'applications de traitement par lot.


Q : Quelles sont les principales caractéristiques d'AWS Batch ?
AWS Batch gère les environnements de calcul et les files d'attente des tâches, ce qui vous permet d'exécuter facilement plusieurs milliers de tâches à n'importe quelle échelle à l'aide d'Amazon EC2 et des instances Spot EC2. Il vous suffit de définir et d'envoyer vos tâches par lot à une file d'attente. En réponse, AWS Batch décide de l'emplacement d'exécution des tâches, lançant des capacités AWS supplémentaires si nécessaire. AWS Batch surveille attentivement la progression de vos tâches. Lorsqu'une capacité n'est plus nécessaire, AWS Batch la supprime. AWS Batch vous offre également la possibilité d'envoyer des tâches faisant partie d'un pipeline ou d'un flux de travail, ce qui vous permet d'indiquer toutes les interdépendances existant entre celles-ci à mesure que vous les envoyez.

Q : Quels types de tâches par lot sont pris en charge par AWS Batch ?
AWS Batch prend en charge toute tâche pouvant être exécutée comme conteneur Docker. Les tâches spécifient leurs exigences en matière de mémoire et le nombre de vCPU.  

Q : Qu'est-ce qu'une ressource de calcul ?
Une instance EC2 représente une ressource de calcul AWS Batch.

Q : Qu'est-ce qu'un environnement de calcul ?
Un ensemble de ressources de calcul sur lequel les tâches sont exécutées constitue un environnement de calcul AWS Batch. AWS Batch prend en charge deux types d'environnements de calcul : les environnements de calcul opérés qui sont mis en service et régis par AWS et les environnements de calcul non opérés qui sont administrés par les clients. Les environnements de calcul non opérés fournissent un mécanisme pour tirer parti des ressources spécialisées telles que les hôtes dédiés, les configurations de stockage supérieures et Amazon EFS.

Q : Qu'est-ce qu'une définition de tâches ?
Une définition de tâches décrit la tâche devant être exécutée, les paramètres, les variables environnementales, les exigences en matière de calcul et d'autres informations utilisées pour optimiser l'exécution d'une tâche. Les définitions de tâches sont déterminées préalablement à l'envoi d'une tâche et peuvent être partagées avec d'autres personnes.

Q : Qu'est-ce que l'agent Amazon ECS et comment est-il utilisé par AWS Batch ?
AWS Batch a recours à Amazon ECS pour exécuter les tâches conteneurisées et nécessite donc l'installation de l'agent ECS sur les ressources de calcul dans vos environnements de calcul AWS Batch. L'agent ECS est préinstallé dans les environnements de calcul opérés.

Q : Dans quelle mesure le service AWS Batch facilite-t-il l'utilisation d'instances Spot EC2 ?
Les environnements de calcul AWS Batch peuvent être composés d'instances Spot EC2. Lors de la création d'un environnement de calcul opéré, il vous suffit de spécifier que vous souhaitez utiliser une instance Spot EC2, puis d'indiquer un pourcentage de la tarification à la demande sur lequel vous voulez enchérir et AWS Batch s'occupe du reste. Les environnements de calcul non opérés peuvent également comprendre les instances Spot que vous lancez, notamment celles lancées par la flotte d'instances Spot EC2.


Q : Quelle est la tarification applicable à AWS Batch ?
AWS Batch est disponible sans frais supplémentaires. Vous ne payez que pour les ressources AWS (par exemple, des instances EC2) que vous créez pour stocker et exécuter vos tâches par lot.


Q : Comment bénéficier du service ?
Consultez le guide de démarrage de notre documentation pour démarrer.

Q : Que dois-je mettre en service pour démarrer ?
Vous n'avez pas besoin de lancer manuellement vos ressources de calcul pour démarrer. La console Web AWS Batch vous guide tout au long du processus de création de votre premier environnement de calcul et de votre première file d'attente de tâches afin que vous puissiez envoyer votre toute première tâche. Les ressources de votre environnement de calcul augmentent à mesure que des tâches supplémentaires sont prêtes à être exécutées et diminuent à mesure que le nombre de tâches pouvant être exécutées baisse.