Accéder à votre compte Batch à l’aide de la bibliothèque de client .NET

Effectué

Dans l’unité précédente, vous avez créé les comptes Azure Batch et Stockage Azure. Vous avez ensuite chargé ffmpeg en tant qu’application afin que les travaux Batch puissent l’utiliser pour leurs tâches. Examinons une fois de plus notre scénario.

Vous souhaitez automatiser le processus de conversion de fichiers vidéo MP4 en images GIF animées. Pour cela, vous créez une application qui peut charger des fichiers vidéo pour la conversion, lancer la conversion en parallèle sur tous les fichiers chargés, surveiller la progression et finalement télécharger les résultats.

Dans cette unité, nous allons examiner les bibliothèques de client Azure Batch qui nous permettent d’accéder aux comptes Batch et Stockage que nous avons créés dans l’exercice précédent.

Bibliothèques de client Azure

Vous devez importer deux packages NuGet dans votre application. Le premier est la bibliothèque de client Azure Batch, Microsoft.Azure.Batch. Utilisez-la pour créer et supprimer des pools Azure Batch, créer et supprimer des travaux de charge de travail, créer et supprimer des tâches, et superviser les tâches en cours d’exécution.

La bibliothèque suivante que nous allons utiliser dans la solution est la bibliothèque de client Stockage Azure, Microsoft.Azure.Storage.Blob, qui vous permet de vous connecter aux fichiers d’un compte Stockage Azure et de les gérer. Utilisez cette bibliothèque pour gérer les fichiers dans le conteneur de stockage d’objets blob. L’application recherche toutes les vidéos chargées dans le dossier et donne au travail l’accès nécessaire pour écrire les vidéos converties des tâches.

La bibliothèque Azure Batch Management, Microsoft.Azure.Management.Batch, est une bibliothèque de tiers dont vous n’avez pas besoin pour votre application, car vous avez créé manuellement les comptes Batch et Stockage.

Nous allons ajouter les packages NuGet dont nous avons besoin dans l’unité suivante avec la commande dotnet add package.

Mode d’utilisation type

Avec les bibliothèques ci-dessus, voici l’approche classique de la configuration d’un processus de traitement par lots :

  1. Créer un compte de service Batch (API Gestion Batch).
  2. Créer un compte de stockage (API Stockage).
  3. Créer un client blob pour gérer le traitement des fichiers (API Stockage).
  4. Charger les fichiers à traiter (API Stockage).
  5. Créer un pool de nœuds de calcul (API Batch).
  6. Créer un travail à exécuter sur ces nœuds (API Batch).
  7. Ajouter une tâche au travail à exécuter (API Batch).
  8. Surveiller la progression de la tâche (API Batch).
  9. Télécharger les fichiers traités une fois l’opération terminée (API Stockage).
  10. Supprimer le conteneur de stockage d’entrée, supprimer le pool et supprimer la tâche (API Batch et API Stockage).

Pools Azure Batch

La gestion du calcul des ressources est une fonctionnalité puissante d’Azure Batch. En définissant des pools de ressources, vous pouvez définir Azure Batch sur un nombre spécifique de nœuds. C’est une bonne solution si la taille du traitement est bien définie et qu’il est nécessaire d’avoir un coût fixe connu. L’autre option consiste à permettre au pool d’effectuer automatiquement un scale-up ou un scale-down en fonction d’une formule que vous définissez. Cette approche peut prendre en compte les fluctuations de la demande et permettre à une application de s’adapter à cette demande. Cette approche présente également l’avantage de maintenir les coûts aussi bas que possible.

Quand vous créez des pools Azure Batch, vous spécifiez les attributs suivants :

  • Nombre cible de nœuds (limite par défaut : 100)
  • Système d’exploitation et version du nœud (plusieurs images Windows et Linux sont disponibles)
  • Type de nœud, dédié ou de basse priorité (les nœuds dédiés sont plus coûteux mais ne seront pas préemptés ; les nœuds de basse priorité sont moins chers, car ils tirent parti de la capacité excédentaire d’une région, mais leurs tâches peuvent être suspendues si les ressources sont requises ailleurs)
  • Les performances du nœud, comme le processeur, la mémoire et la taille de stockage
  • Stratégie de mise à l’échelle automatique (la mise à l’échelle est contrôlée par une formule que vous spécifiez, par exemple en fonction du pourcentage d’utilisation du processeur)
  • Stratégie de planification des tâches (contrôle du nombre maximal de tâches qu’un nœud peut exécuter en parallèle et choix de la répartition des tâches entre les nœuds)
  • Tâches de démarrage à exécuter au lancement des nœuds (utilisées pour configurer le nœud de manière à pouvoir exécuter les tâches, comme l’installation des applications obligatoires)
  • Configuration du réseau (options liées au sous-réseau et au réseau virtuel)
  • Packages d’applications (permettent de déployer facilement les applications sur chaque nœud d’un pool)