Passer des limites : pourquoi vous avez besoin d’Azure Compute Fleet pour les charges de travail massives
Par Mirko Peters ·
Bienvenue à nouveau dans notre exploration continue des architectures cloud avancées. Dans notre dernier épisode de podcast, « Azure Compute Fleet – Simply Explained », nous avons abordé un m…
Traduit automatiquement par IA à partir de l'article original. Lire l'original en anglais

Bienvenue dans notre exploration continue des architectures cloud avancées. Dans notre dernier épisode de podcast, Azure Compute Fleet – Simply Explained, nous avons abordé un défi majeur auquel les entreprises modernes sont confrontées lorsqu’elles gèrent leur infrastructure cloud. Si vous avez déjà tenté de provisionner simultanément des centaines, voire des milliers de machines virtuelles pour un traitement par lots exigeant, une simulation de calcul haute performance ou un pipeline de traitement de données à grande échelle, vous connaissez déjà la frustration de vous heurter brutalement à une limite de capacité. Dans cet article de blog, nous allons approfondir ces concepts, en expliquant pourquoi les méthodes traditionnelles montrent leurs limites et comment Azure Compute Fleet change fondamentalement la manière dont vous acquérez et gérez des ressources de calcul massives dans le cloud.
Qu’est-ce qu’Azure Compute Fleet ?
Azure Compute Fleet est un service géré spécialisé, conçu précisément pour résoudre les problèmes de capacité à grande échelle. Lorsque vous devez faire passer une charge de travail de zéro à des milliers de workers instantanément, les méthodes de déploiement standard peuvent facilement créer des goulots d’étranglement. Créer une machine virtuelle unique est simple, mais demander à une région de fournir mille machines virtuelles identiques d’une référence SKU exacte est un défi d’une tout autre nature. Azure Compute Fleet modifie la question fondamentale que vous posez au cloud. Au lieu de demander « Comment obtenir mille machines virtuelles identiques de cette taille exacte ? », vous demandez « Comment obtenir la capacité de calcul dont ma charge de travail a besoin en utilisant diverses options acceptables ? » En décrivant vos besoins globaux en capacité, les tailles de machines virtuelles acceptables, vos préférences régionales et votre tolérance entre tarification à la demande et tarification Spot moins coûteuse, Azure peut rechercher intelligemment dans plusieurs pools de disponibilité pour sécuriser les ressources dont votre application a besoin.
Pourquoi la flexibilité est essentielle
Pour comprendre pourquoi Compute Fleet est si puissant, il faut examiner de près le fonctionnement de la capacité cloud. Une référence SKU de machine virtuelle correspond à une combinaison spécifique de processeur, de mémoire, d’architecture de stockage et de famille de processeurs. Si vos scripts d’automatisation ne demandent qu’une seule référence SKU précise, Azure ne peut rechercher que cette correspondance exacte. Si cette famille connaît une forte demande dans votre région cible, votre déploiement restera bloqué en file d’attente ou échouera purement et simplement. Compute Fleet introduit de la flexibilité en vous permettant de spécifier un large éventail de tailles de machines virtuelles acceptables. Tant que votre charge de travail est conçue pour s’exécuter correctement sur ces différentes configurations matérielles, Azure peut répartir vos workers dynamiquement. À très grande échelle, cette flexibilité augmente de façon exponentielle vos chances d’obtenir exactement la puissance de calcul agrégée dont vous avez besoin, au moment précis où vous en avez besoin.
Jusqu’à 10 000 machines virtuelles dans une seule flotte
Gérer manuellement une infrastructure à grande échelle est une recette idéale pour l’épuisement opérationnel. Écrire des scripts d’orchestration personnalisés pour gérer les nouvelles tentatives de déploiement, les tailles de machines virtuelles de secours et la supervision de dizaines de configurations différentes devient rapidement un cauchemar impossible à maintenir. Compute Fleet est conçu pour éliminer cette charge opérationnelle en prenant en charge jusqu’à 10 000 machines virtuelles au sein d’une seule demande de flotte. Vous définissez les paramètres de votre flotte une seule fois, et Azure évalue l’inventaire disponible parmi tous vos choix autorisés, identifie automatiquement la combinaison optimale de ressources et démarre les groupes de machines virtuelles sous-jacents nécessaires. Cette capacité native permet aux équipes d’ingénierie de se concentrer sur leurs charges de travail réelles, plutôt que de passer d’innombrables heures à résoudre les erreurs d’allocation d’infrastructure.
Ce que Compute Fleet ne fait pas
Si Azure Compute Fleet est un véritable changement de donne pour l’acquisition de capacité, il est important d’en comprendre les limites. Compute Fleet résout le problème de capacité ; il ne dicte pas et ne remplace pas l’ensemble de votre architecture applicative. Vous restez entièrement responsable des images de machines virtuelles, des configurations réseau, des groupes de sécurité et des logiciels applicatifs dont chaque worker a besoin pour s’exécuter. Compute Fleet ne sait pas, par nature, si vos workers effectuent le rendu d’effets visuels cinématographiques, exécutent des calculs financiers complexes, lancent des tests de régression automatisés ou analysent des données de télémétrie scientifique brutes. De plus, il ne remplace pas les composants architecturaux essentiels tels que les équilibreurs de charge, les files de messages durables, la logique applicative ou les mécanismes de reprise après sinistre. Sa mission unique et très ciblée consiste à acquérir et gérer de grandes quantités de capacité de calcul lorsque plusieurs configurations acceptables existent.
Choisir des tailles de machines virtuelles acceptables
Concevoir un déploiement de flotte efficace commence par une décision d’architecture déterminante : identifier les tailles de machines virtuelles que votre application peut réellement utiliser. À l’échelle d’une flotte, votre préoccupation principale ne doit pas être de réserver un modèle de processeur précis par simple préférence. Vous devez plutôt réaliser un audit approfondi de vos exigences logicielles. De quel nombre de cœurs de processeur, de quels seuils de mémoire, de quelles performances de stockage local ou de quels types d’accélérateurs votre application dépend-elle véritablement ? Si plusieurs familles de machines virtuelles satisfont ces seuils opérationnels, les autoriser toutes offre à Azure un espace de recherche beaucoup plus large. Vous devez toutefois valider rigoureusement chaque taille incluse. N’ajoutez jamais une famille de machines virtuelles à la configuration de votre flotte uniquement parce qu’elle semble moins chère, si votre logiciel exige des jeux d’instructions spécifiques, des pilotes particuliers, des configurations de stockage singulières ou des capacités matérielles précises.
Capacité et prix
Un autre enjeu de conception majeur consiste à arbitrer entre les besoins immédiats en capacité et l’optimisation globale des coûts. Chaque charge de travail appelle une stratégie de déploiement différente. Par exemple, un calcul nocturne de risque financier peut disposer d’une fenêtre d’exécution stricte et devoir se terminer avant l’ouverture des marchés mondiaux le lendemain matin. Dans ce cas précis, obtenir immédiatement une capacité garantie est bien plus critique que de viser le prix par cœur le plus bas possible. À l’inverse, d’autres charges de travail offrent une grande souplesse de planification. Les tests en arrière-plan, les simulations de longue durée, le traitement de données en attente et les environnements de développement temporaires peuvent souvent tolérer de légers retards dans l’obtention de la pleine capacité, en échange de coûts d’infrastructure nettement inférieurs. Compute Fleet offre aux organisations la liberté architecturale d’adapter leurs déploiements à ces priorités opérationnelles distinctes.
Sélection de machines virtuelles basée sur les attributs
Pour rendre la configuration encore plus puissante, Azure propose une approche de sélection de machines virtuelles basée sur les attributs, mise en avant dans nos récents contenus audio comme une fonctionnalité en préversion prometteuse. Plutôt que de vous obliger à lister manuellement des dizaines de références SKU de machines virtuelles exactes, cette fonctionnalité vous permet de définir des caractéristiques générales. Vous pouvez spécifier des paramètres tels que le nombre minimal et maximal de vCPU, des plages de mémoire, des besoins en stockage NVMe local ou des accélérateurs GPU spécialisés. Azure identifie alors dynamiquement et utilise les tailles de machines virtuelles correspondant exactement à ces définitions d’attributs. Cela offre une pérennité exceptionnelle, à mesure que Microsoft introduit dans le cloud des générations de machines virtuelles plus récentes et plus efficaces, même si vos applications doivent toujours faire l’objet d’une validation rigoureuse face à chaque nouveau profil matériel retenu.
Machines virtuelles à la demande
Construire une flotte robuste suppose de comprendre les rôles distincts des différents modèles d’achat. Les machines virtuelles à la demande constituent le socle stable et solide de votre flotte. Lorsque vous demandez une machine virtuelle à la demande, vous payez le tarif standard et prévisible, et Azure garantit qu’elle ne reprendra pas la ressource simplement parce que la demande d’un autre client augmente. La capacité à la demande est donc idéale pour la base minimale de calcul dont votre charge de travail a besoin pour rester opérationnelle en permanence. Les composants d’infrastructure critiques, tels que les coordinateurs de tâches, les écouteurs de files de messages et les workers de référence principaux, doivent presque toujours utiliser une capacité à la demande afin de garantir une supervision ininterrompue.
Machines virtuelles Spot
De l'autre côté du spectre des achats, on trouve les machines virtuelles Spot. Les VM Spot vous permettent d'exploiter la capacité de calcul Azure inutilisée à des remises importantes, pouvant souvent vous faire économiser jusqu'à quatre-vingt-dix pour cent par rapport aux tarifs standard à la demande. La contrepartie de ces économies considérables est le risque d'interruption. Azure se réserve le droit de récupérer la capacité Spot à tout moment, avec un préavis très court, lorsque la demande régionale exige de récupérer ces ressources physiques. Cela rend les VM Spot particulièrement intéressantes pour les charges de travail tolérantes aux pannes, où les workers peuvent disparaître en cours de tâche sans provoquer de défaillance critique, à condition que votre architecture soit conçue pour relancer en toute sécurité les opérations interrompues.
Combiner capacité Spot et capacité à la demande
Vous n'avez pas à choisir entre une stratégie purement à la demande et une approche exclusivement basée sur le Spot. En réalité, les architectures les plus résilientes combinent les deux modèles d'achat au sein d'une même flotte cohérente. En utilisant des VM à la demande pour votre plan de contrôle persistant et vos workers de base, vous garantissez un débit minimum prévisible. Parallèlement, vous pouvez enrichir votre flotte de VM Spot pour absorber une montée en charge de calcul massive, à une fraction du coût habituel. Si Azure récupère une partie de vos workers Spot pendant une tension sur la capacité, vos workers de base à la demande continuent de traiter les tâches sans interruption, ce qui crée un équilibre économique remarquable entre économies financières et stabilité opérationnelle.
Concevoir pour l'interruption
Si Azure Compute Fleet gère de manière fluide l'allocation sous-jacente de la capacité et envoie des notifications anticipées en cas d'interruption Spot, il ne peut pas protéger par magie les données applicatives stockées exclusivement dans la mémoire d'un worker. Pour tirer pleinement parti d'une flotte, votre charge de travail doit être conçue dès le départ pour gérer l'arrêt des workers. Prenons l'exemple d'un pipeline de rendu vidéo distribué. Si un projet est découpé en tâches de rendu d'images individuelles, et qu'une VM Spot est récupérée par Azure pendant le traitement de l'image 412, cette tâche doit automatiquement retourner dans votre file de messages centrale afin qu'un autre worker disponible puisse la prendre en charge. Ce schéma d'architecture s'applique tout aussi bien aux simulations scientifiques, aux builds logiciels automatisés, aux tests d'intégration continue et aux analyses de données massives.
Conserver l'état en dehors du worker
Pour survivre dans un environnement de flotte dynamique, votre application doit respecter une règle d'or : conserver son état entièrement en dehors du worker. Ne vous appuyez pas sur le stockage temporaire local du disque pour les données persistantes critiques. Utilisez plutôt des solutions de stockage durable comme Azure Blob Storage, des bases de données relationnelles managées ou des magasins NoSQL distribués pour maintenir la source de vérité. Employez des files d'attente durables pour répartir les tâches dans la flotte, et veillez à ce que vos workers écrivent des points de contrôle réguliers lors des opérations de longue durée. Concevez vos tâches comme idempotentes, c'est-à-dire capables d'être exécutées plusieurs fois sans créer de doublons ni corrompre les résultats. Lorsqu'une VM Spot disparaît de manière inattendue, vous ne devriez perdre qu'infime fraction du travail en cours, plutôt que des heures de traitement irrécupérables.
Compute Fleet et Virtual Machine Scale Sets
Une question fréquente que se posent les ingénieurs lorsqu'ils découvrent cette technologie est la comparaison entre Compute Fleet et Azure Virtual Machine Scale Sets (VMSS). Les deux services gèrent des groupes de machines virtuelles, mais ils sont conçus pour résoudre des problèmes fondamentalement différents. Les Virtual Machine Scale Sets partent généralement d'un niveau d'application précis. Vous déployez une application web, une API de microservices ou une application métier d'entreprise derrière un équilibreur de charge, et VMSS augmente ou réduit le nombre d'instances identiques en fonction du trafic réseau entrant ou de seuils de processeur. Compute Fleet, en revanche, part d'une prémisse totalement différente : comment acquérir rapidement un vaste pool de capacité de calcul flexible pour traiter une masse de travail distribué ?
Quand utiliser Virtual Machine Scale Sets
Les Virtual Machine Scale Sets restent la référence absolue pour les niveaux applicatifs continus et de longue durée, dont les instances jouent des rôles identiques et doivent réagir dynamiquement au trafic des utilisateurs. Les cas d’usage idéaux incluent les applications web destinées aux clients, les API publiques, les boutiques en ligne et les serveurs d’applications dorsaux placés derrière un Azure LoadBalancer ou une Application Gateway. Dans ces environnements, les principaux critères de conception sont le maintien en continu de la santé des applications, le routage fluide du trafic client en production et la gestion des mises à niveau progressives du système d’exploitation sur des instances identiques.
Quand utiliser Compute Fleet
À l’inverse, Compute Fleet brille lorsque votre principal défi consiste à obtenir une très grande puissance de calcul brute pour des tâches asynchrones, orientées traitement par lots ou indépendantes. Les scénarios types incluent les clusters de calcul haute performance, le traitement par lots en finance, les simulations de modélisation moléculaire, les pipelines d’ingestion de données à grande échelle, les suites de tests automatisées, les fermes de rendu média et les pools de workers temporaires. Dans ces architectures, un worker prend une unité de travail discrète, la traite, écrit le résultat final dans un stockage persistant, puis passe immédiatement à la tâche suivante. Si un worker disparaît, le système confie simplement cette unité de travail à un autre nœud disponible.
Vous pouvez utiliser les deux
Le plus bel atout de l’architecture cloud moderne est que vous n’avez pas à choisir un seul outil. Azure Compute Fleet et les Virtual Machine Scale Sets ne sont pas mutuellement exclusifs ; ils peuvent travailler en harmonie au sein d’un même écosystème d’entreprise. Par exemple, une application d’entreprise sophistiquée peut s’appuyer sur un Virtual Machine Scale Set pour alimenter son frontal web et son niveau API à haute disponibilité, garantissant ainsi une expérience utilisateur irréprochable. Dans le même temps, cette même application peut lancer un Azure Compute Fleet en arrière-plan pour gérer les lourds traitements de data warehousing nocturnes, la génération de rapports par lots ou des simulations complexes. En attribuant à chaque niveau l’outil qui lui convient, vous construisez une architecture à la fois très réactive pour les utilisateurs et économique à grande échelle.
Pour approfondir ces architectures et découvrir des conseils de mise en œuvre concrets, écoutez sans faute notre épisode de podcast complémentaire : Azure Compute Fleet – Simply Explained. N’oubliez pas de soutenir notre émission et restez à l’écoute pour de nouvelles plongées en profondeur dans l’ingénierie cloud !
Devenez mécène de ce podcast : https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.