Présentation d’Azure Batch
Peu d’organisations ont les ressources nécessaires pour prendre en charge les déploiements permanents de plateformes de calcul extrêmement puissantes. Il est possible que ces dernières ne soient utilisées à leur capacité maximale que de façon occasionnelle. Plus généralement, vous avez besoin d’une solution de calcul flexible et évolutive, telle qu’Azure Batch, pour offrir la puissance de calcul nécessaire.
Dans le cadre du processus d’exécution d’une reconnaissance optique de caractères (OCR) sur les images chargées des compteurs de purification d’eau avec Azure Batch, vous devez comprendre les composants principaux d’un workflow Azure Batch.
Ici, vous allez explorer ce pour quoi Azure Batch est conçu et comment les composants Batch sont utilisés dans un workflow classique.
Tâches de calcul intensif et charges de travail parallèles
Certaines charges de travail nécessitent une puissance de calcul massive. La modélisation de risques financiers, le rendu d’images 3D, le transcodage de médias et l’analyse des séquences génétiques en sont des exemples. Dans certains cas, ces charges de travail peuvent être décomposées en sous-tâches distinctes et être exécutées en parallèle, de façon à ce que les tâches soient effectuées en beaucoup moins de temps. Trois machines virtuelles peuvent effectuer le travail en un tiers du temps.
Dans le cadre du projet de reconnaissance optique des caractères pour l’association, vous pouvez utiliser Azure Batch pour partitionner le travail d’exécution de l’OCR pour que le traitement s’effectue en parallèle et prenne beaucoup moins de temps.
Les composants d’Azure Batch
Vous pouvez utiliser Azure Batch pour ces tâches de calcul intensif parallèles à grande échelle sur Azure. Globalement, Azure Batch implique de nombreux composants fonctionnant conjointement. Tout doit se passer dans le contexte d’un compte Azure Batch, qui agit comme conteneur pour toutes les ressources Batch.
Pour certains cas d’usage, vous pouvez associer ce compte à un compte Stockage Azure pour télécharger des fichiers d’entrée et des applications à utiliser pendant l’exécution et stocker leurs résultats. Dans votre compte Azure Batch, vous pouvez créer des pools de nœuds de calcul virtuels, qui exécutent Windows ou Linux, en spécifiant leur nombre ainsi que leur taille de CPU et de mémoire qui sont gérés et planifiés pour vous par le service Azure Batch. Un compte Batch peut contenir de nombreux pools Batch.
Une fois que vous avez créé un ou plusieurs pools, vous créez des travaux individuels qui agissent comme des conteneurs logiques pour toutes les tâches que vous planifiez et qui peuvent partager des propriétés communes. Là encore, il est parfaitement possible d’avoir de nombreux travaux.
Enfin, vous créez des tâches, qui décrivent comment le travail doit réellement être effectué. Vous pouvez utiliser des tâches pour appeler directement la ligne de commande ou bien les tâches peuvent exécuter des applications que vous chargez sur Stockage Azure. Nous verrons tous les composants principaux d’Azure Batch travailler ensemble dans l’exercice suivant.
Workflow Azure Batch classique
À quoi ressemble donc réellement un workflow Azure Batch classique ? Comme le montre le graphique suivant, un scénario Azure Batch classique du monde réel nécessite des fichiers d’application et de données. Le workflow Batch commence par charger ces fichiers de données et d’application sur un compte Stockage Azure. Vous créez ensuite un pool Batch avec autant de nœuds de calcul virtuels Windows ou Linux que nécessaire. Vous pouvez également les mettre à l’échelle automatiquement au cas où les demandes de vos charges de travail varient au fil du temps.
Le service Batch s’occupe ensuite de mettre les nœuds en ligne et de planifier l’exécution des tâches sur les nœuds. Avant que les tâches démarrent l’exécution, elles peuvent télécharger à partir du stockage les fichiers de données et d’application dont elles ont besoin pour le traitement. Pendant l’exécution des tâches, il est possible d’interroger l’état des nœuds et la progression des tâches. Une fois que les nœuds ont terminé leurs tâches, le résultat des tâches peut être examiné ou envoyé vers Stockage Azure.