Über Grenzen hinaus skalieren: Warum Sie Azure Compute Fleet für massive Workloads brauchen
Von Mirko Peters ·
Willkommen zurück bei unserer fortlaufenden Reise durch moderne Cloud-Architekturen. In unserer neuesten Podcast-Folge „Azure Compute Fleet – Simply Explained“ haben wir uns einem m…
Automatisch mit KI aus dem Originalbeitrag übersetzt. Englisches Original lesen

Willkommen zurück bei unserer fortlaufenden Reise durch moderne Cloud-Architekturen. In unserer aktuellen Podcast-Folge Azure Compute Fleet – Simply Explained haben wir uns einer enormen Herausforderung gewidmet, mit der moderne Unternehmen bei der Cloud-Infrastruktur konfrontiert sind. Wenn Sie schon einmal versucht haben, für einen anspruchsvollen Batch-Job, eine Simulation im Hochleistungsrechnen oder eine Pipeline zur Verarbeitung großer Datenmengen Hunderte oder Tausende virtueller Maschinen auf einmal bereitzustellen, kennen Sie den Frust, plötzlich an Kapazitätsgrenzen zu stoßen. In diesem Blogbeitrag vertiefen wir diese Konzepte. Wir zeigen, warum herkömmliche Methoden an ihre Grenzen stoßen und wie Azure Compute Fleet grundlegend verändert, wie Sie massive Rechenressourcen in der Cloud beschaffen und verwalten.
Was ist Azure Compute Fleet?
Azure Compute Fleet ist ein spezialisierter, verwalteter Dienst, der gezielt für Kapazitätsprobleme im großen Maßstab entwickelt wurde. Wenn Sie eine Workload von null auf Tausende Worker skalieren müssen, können Standardbereitstellungen schnell zum Engpass werden. Eine einzelne virtuelle Maschine zu erstellen ist unkompliziert. Eine Region aber um tausend identische virtuelle Maschinen einer exakt gleichen SKU zu bitten, ist eine völlig andere Herausforderung. Azure Compute Fleet verändert die grundlegende Frage, die Sie der Cloud stellen. Statt zu fragen: „Wie bekomme ich tausend identische VMs dieser exakten Größe?“, fragen Sie: „Wie bekomme ich die Rechenkapazität, die meine Workload benötigt, über eine Auswahl akzeptabler Optionen?“ Indem Sie Ihren Gesamtkapazitätsbedarf, akzeptable VM-Größen, regionale Präferenzen und Ihre Toleranz gegenüber On-Demand- bzw. günstigeren Spot-Preisen beschreiben, kann Azure gezielt über mehrere Verfügbarkeitspools hinweg suchen und die Ressourcen sichern, die Ihre Anwendung benötigt.
Warum Flexibilität zählt
Um zu verstehen, warum Compute Fleet so leistungsstark ist, müssen wir genau betrachten, wie Cloud-Kapazität funktioniert. Eine VM-SKU steht für eine bestimmte Kombination aus CPU, Arbeitsspeicher, Speicherarchitektur und Prozessorfamilie. Fordern Ihre Automatisierungsskripte nur eine einzige SKU an, kann Azure ausschließlich nach genau dieser Übereinstimmung suchen. Ist diese Familie in Ihrer Zielregion stark nachgefragt, bleibt die Bereitstellung entweder in der Warteschlange hängen oder schlägt vollständig fehl. Compute Fleet schafft Flexibilität, indem Sie eine breite Auswahl akzeptabler VM-Größen angeben können. Solange Ihre Workload so ausgelegt ist, dass sie auf diesen unterschiedlichen Hardwarekonfigurationen zuverlässig läuft, kann Azure Ihre Instanzen dynamisch verteilen. Bei großem Umfang erhöht diese Flexibilität die Wahrscheinlichkeit erheblich, genau die gesamte Rechenleistung zu erhalten, die Sie benötigen, und zwar genau dann, wenn Sie sie brauchen.
Bis zu 10.000 VMs in einem Fleet
Großflächige Infrastruktur manuell zu verwalten, führt schnell zur Erschöpfung im Betrieb. Eigene Orchestrierungsskripte für Bereitstellungswiederholungen, Ausweichgrößen für VMs und Überwachung über Dutzende Konfigurationen hinweg werden schnell zu einem kaum wartbaren Albtraum. Compute Fleet soll diesen betrieblichen Aufwand beseitigen: Ein einzelner Fleet-Auftrag unterstützt bis zu 10.000 virtuelle Maschinen. Sie definieren die Fleet-Parameter einmal, und Azure prüft das verfügbare Kontingent über alle zulässigen Optionen hinweg, ermittelt automatisch die optimale Kombination aus Ressourcen und startet die erforderlichen zugrunde liegenden VM-Gruppen. Diese native Funktion ermöglicht es Engineering-Teams, sich auf ihre eigentlichen Workloads zu konzentrieren, statt unzählige Stunden mit der Fehlersuche bei Infrastrukturzuweisungen zu verbringen.
Was Compute Fleet nicht leistet
Auch wenn Azure Compute Fleet ein Gamechanger bei der Kapazitätsbeschaffung ist, sollten Sie seine Grenzen kennen. Compute Fleet löst das Kapazitätsproblem, bestimmt oder ersetzt aber nicht Ihre gesamte Anwendungsarchitektur. Sie sind weiterhin vollständig dafür verantwortlich, die virtuellen Maschinen-Images, Netzwerkkonfigurationen, Sicherheitsgruppen und Anwendungssoftware bereitzustellen, die jeder Worker zur Ausführung benötigt. Compute Fleet weiß von sich aus nicht, ob Ihre Worker visuelle Spezialeffekte für Filme rendern, komplexe Finanzberechnungen durchführen, automatisierte Regressionstests ausführen oder rohe wissenschaftliche Telemetriedaten auswerten. Außerdem ersetzt es keine zentralen Architekturkomponenten wie Load Balancer, langlebige Nachrichtenwarteschlangen, die Anwendungslogik oder Mechanismen für die Notfallwiederherstellung. Seine eine, klar fokussierte Aufgabe ist es, große Mengen an Rechenkapazität zu beschaffen und zu verwalten, wenn mehrere akzeptable Konfigurationen zur Verfügung stehen.
Geeignete VM-Größen auswählen
Der Entwurf einer leistungsfähigen Fleet-Bereitstellung beginnt mit einer entscheidenden Architekturfrage: Welche VM-Größen kann Ihre Anwendung tatsächlich nutzen? Im Fleet-Maßstab sollte Ihr Hauptaugenmerk nicht darauf liegen, aus persönlicher Vorliebe einen bestimmten Prozessortyp festzulegen. Führen Sie stattdessen eine gründliche Analyse Ihrer Softwareanforderungen durch. Von welcher Anzahl an CPU-Kernen, welchen Speicherschwellen, welchen Leistungswerten des lokalen Speichers oder welchen Beschleunigertypen hängt Ihre Anwendung wirklich ab? Erfüllen mehrere VM-Familien diese betrieblichen Schwellenwerte, erweitert deren Zulassung den Suchraum für Azure erheblich. Sie müssen jedoch jede einzelne aufgenommene Größe sorgfältig validieren. Nehmen Sie niemals eine VM-Familie allein deshalb in Ihre Fleet-Konfiguration auf, weil sie günstiger erscheint, wenn Ihre Software bestimmte Befehlssatzerweiterungen, spezielle Treiber, besondere Speicherkonfigurationen oder bestimmte Hardwarefunktionen voraussetzt.
Kapazität vs. Preis
Eine weitere wichtige Entwurfsüberlegung betrifft den Ausgleich zwischen sofortigem Kapazitätsbedarf und allgemeiner Kostenoptimierung. Unterschiedliche Workloads erfordern völlig unterschiedliche Bereitstellungsstrategien. Eine nächtliche Berechnung von Finanzrisiken hat beispielsweise ein striktes Ausführungsfenster und muss abgeschlossen sein, bevor die globalen Märkte am nächsten Morgen öffnen. In diesem Szenario ist es weitaus wichtiger, garantierte Kapazität sofort zu erhalten, als den absolut niedrigsten Preis pro Kern zu sichern. Andere Workloads bieten dagegen enorme zeitliche Flexibilität. Hintergrundtests, langfristige Simulationen, die Verarbeitung von Datenrückständen und temporäre Entwicklungsumgebungen können oft kleine Verzögerungen beim Bereitstellen der vollen Kapazität tolerieren, wenn dafür die Infrastrukturkosten deutlich sinken. Compute Fleet gibt Organisationen die architektonische Freiheit, ihre Bereitstellungen auf diese unterschiedlichen betrieblichen Prioritäten zuzuschneiden.
Attributbasierte VM-Auswahl
Um die Konfiguration noch leistungsfähiger zu machen, bietet Azure einen attributbasierten Ansatz zur VM-Auswahl. In unseren jüngsten Podcast-Materialien wurde er als leistungsstarke Vorschaufunktion hervorgehoben. Anstatt Dutzende einzelner, exakter VM-SKUs manuell aufzulisten, erlaubt diese Funktion, allgemeine Merkmale zu definieren. Sie können Parameter wie minimale und maximale vCPUs, Speicherbereiche, Anforderungen an lokalen NVMe-Speicher oder spezielle GPU-Beschleuniger festlegen. Azure ermittelt daraufhin dynamisch alle VM-Größen, die diesen Attributdefinitionen entsprechen, und nutzt sie. Das bietet eine außergewöhnliche Zukunftssicherheit, sobald Microsoft neuere, effizientere VM-Generationen in die Cloud einführt. Ihre Anwendungen müssen jedoch trotzdem gründlich gegen jedes neu zugeordnete Hardwareprofil validiert werden.
On-Demand-VMs
Eine robuste Fleet setzt voraus, die unterschiedlichen Rollen der verschiedenen Kaufmodelle zu verstehen. On-Demand-virtuelle Maschinen bilden das stabile, verlässliche Fundament Ihrer Fleet. Wenn Sie eine On-Demand-VM anfordern, zahlen Sie den standardmäßigen, planbaren Tarif, und Azure garantiert, dass die Ressource nicht allein deshalb zurückgefordert wird, weil die Nachfrage eines anderen Kunden steigt. Damit eignet sich On-Demand-Kapazität ideal für die absolute Mindestbasis an Rechenleistung, die Ihre Workload jederzeit zum Betrieb benötigt. Kritische Infrastrukturkomponenten wie Job-Koordinatoren, Listener für Nachrichtenwarteschlangen und primäre Basis-Worker sollten nahezu immer On-Demand-Kapazität nutzen, um eine unterbrechungsfreie Überwachung sicherzustellen.
Spot-VMs
Auf der anderen Seite des Einkaufsspektrums finden wir Spot-virtuelle-Maschinen. Spot-VMs ermöglichen es Ihnen, ungenutzte Azure-Rechenkapazität zu stark reduzierten Preisen zu nutzen, wodurch Sie im Vergleich zum regulären Pay-as-you-go-Tarif häufig bis zu neunzig Prozent sparen können. Der Preis für diese beachtlichen Einsparungen ist das Unterbrechungsrisiko. Azure behält sich das Recht vor, Spot-Kapazität mit kurzer Vorwarnzeit zurückzufordern, wenn die regionale Nachfrage diese physischen Ressourcen benötigt. Daher eignen sich Spot-VMs besonders für fehlertolerante Workloads, bei denen Worker mitten in einer Aufgabe ausfallen können, ohne schwerwiegende Fehler zu verursachen – vorausgesetzt, Ihre Architektur ist so aufgebaut, dass unterbrochene Vorgänge sicher wiederholt werden können.
Spot- und On-Demand-Kapazität kombinieren
Sie müssen sich nicht zwischen einer rein bedarfsorientierten Strategie und einem ausschließlich auf Spot-VMs basierenden Ansatz entscheiden. Tatsächlich kombinieren die widerstandsfähigsten Architekturen beide Bezugsmodelle in einer einheitlichen Flotte. Wenn Sie On-Demand-VMs für Ihre dauerhafte Steuerungsebene und grundlegenden Worker einsetzen, garantieren Sie einen planbaren Mindestdurchsatz. Gleichzeitig können Sie Ihre Flotte mit Spot-VMs erweitern, um große Rechenlasten zu einem Bruchteil der üblichen Kosten zu bewältigen. Falls Azure einen Teil Ihrer Spot-Worker während eines Kapazitätsengpasses zurückfordert, arbeiten Ihre zentralen On-Demand-Worker ungestört weiter. So entsteht ein überzeugendes wirtschaftliches Gleichgewicht zwischen finanziellen Einsparungen und betrieblicher Stabilität.
Auf Unterbrechungen auslegen
Azure Compute Fleet verwaltet die zugrunde liegende Kapazitätszuweisung zuverlässig und verarbeitet die Benachrichtigungen bei Spot-Unterbrechungen. Die Daten Ihrer Anwendung, die ausschließlich im Arbeitsspeicher eines einzelnen Workers liegen, kann der Dienst jedoch nicht schützen. Damit Sie die Leistung einer Flotte wirklich nutzen können, muss Ihre Workload von Grund auf so entwickelt sein, dass sie das Beenden von Workern verkraftet. Betrachten Sie zum Beispiel eine verteilte Video-Rendering-Pipeline. Ist ein Projekt in einzelne Aufgaben zum Rendern von Frames aufgeteilt und wird eine Spot-VM von Azure zurückgefordert, während sie Frame 412 verarbeitet, sollte diese Aufgabe automatisch wieder in Ihrer zentralen Nachrichtenwarteschlange landen, damit ein anderer verfügbarer Worker sie übernehmen kann. Dasselbe Architekturmuster eignet sich gleichermaßen für wissenschaftliche Simulationen, automatisierte Softwareerstellung, Continuous-Integration-Tests und umfangreiche Datenanalysen.
Zustand außerhalb des Workers speichern
Damit Ihre Anwendung in einer dynamischen Flottenumgebung bestehen kann, sollten Sie eine goldene Regel beachten: Bewahren Sie den Zustand vollständig außerhalb des Workers auf. Verlassen Sie sich nicht auf lokalen temporären Datenspeicher für kritische, dauerhaft benötigte Daten. Nutzen Sie stattdessen langlebige Speicherlösungen wie Azure Blob Storage, verwaltete relationale Datenbanken oder verteilte NoSQL-Speicher, um die maßgebliche Datenquelle zu pflegen. Verwenden Sie dauerhafte Warteschlangen, um Aufgaben über die Flotte zu verteilen, und stellen Sie sicher, dass Ihre Worker bei lang laufenden Vorgängen regelmäßig Checkpoints schreiben. Entwerfen Sie Ihre Aufgaben idempotent – das heißt, sie können mehrfach ausgeführt werden, ohne doppelte Datensätze oder beschädigte Ergebnisse zu erzeugen. Wenn eine Spot-VM unerwartet verschwindet, geht dann nur der winzige Teil der Arbeit verloren, der gerade in Bearbeitung war, und nicht Stunden nicht wiederherstellbarer Verarbeitungszeit.
Compute Fleet vs. Virtual Machine Scale Sets
Viele Entwickler fragen sich bei der Auseinandersetzung mit dieser Technologie, wie sich Compute Fleet von Azure Virtual Machine Scale Sets (VMSS) unterscheidet. Beide Dienste verwalten Gruppen virtueller Maschinen, lösen aber grundlegend unterschiedliche Probleme. Virtual Machine Scale Sets setzen in der Regel bei einer bestimmten Anwendungsebene an. Sie stellen eine Web-App, eine Microservices-API oder eine unternehmenskritische Fachanwendung hinter einem Load Balancer bereit, und VMSS skaliert die Anzahl identischer Instanzen abhängig vom eingehenden Netzwerkverkehr oder von CPU-Schwellenwerten nach oben oder unten. Compute Fleet geht dagegen von einer völlig anderen Prämisse aus: Wie kann ich schnell einen großen Pool flexibler Rechenkapazität bereitstellen, um einen Berg verteilter Arbeit abzuarbeiten?
Wann Virtual Machine Scale Sets einsetzen
Virtual Machine Scale Sets bleiben der unangefochtene Standard für langlaufende, durchgängig verfügbare Anwendungsebenen, deren Instanzen einheitliche Rollen übernehmen und dynamisch auf Anfragen von Benutzern reagieren müssen. Ideale Einsatzszenarien sind kundenorientierte Webanwendungen, öffentliche APIs, E-Commerce-Storefronts und Backend-Anwendungsserver hinter einem Azure LoadBalancer oder Application Gateway. In solchen Umgebungen stehen vor allem drei Aspekte im Mittelpunkt Ihres Designs: die kontinuierliche Verfügbarkeit der Anwendung, das reibungslose Weiterleiten des Live-Datenverkehrs und die Verwaltung rollierender Betriebssystem-Updates über identische Instanzen hinweg.
Wann Sie Compute Fleet einsetzen
Compute Fleet spielt dagegen seine Stärken aus, wenn die größte Herausforderung darin besteht, große Mengen an reiner Rechenleistung für asynchrone, batchorientierte oder unabhängige Aufgaben bereitzustellen. Typische Szenarien sind Hochleistungsrechen-Cluster, Batchverarbeitung im Finanzbereich, Molekularsimulationen, Datenerfassungspipelines im großen Maßstab, automatisierte Testsuiten, Render-Farmen für Medien und temporäre Worker-Pools. In diesen Architekturen übernimmt ein Worker eine abgegrenzte Arbeitseinheit, verarbeitet sie, schreibt das Ergebnis in persistenten Speicher und wechselt sofort zur nächsten Aufgabe. Fällt ein Worker aus, weist das System die Arbeitseinheit einfach einem anderen verfügbaren Knoten zu.
Beide lassen sich kombinieren
Das Beste an moderner Cloud-Architektur ist, dass Sie sich nicht auf ein einziges Werkzeug festlegen müssen. Azure Compute Fleet und Virtual Machine Scale Sets schließen sich nicht gegenseitig aus; sie können innerhalb desselben Unternehmensökosystems harmonisch zusammenarbeiten. Beispielsweise kann eine anspruchsvolle Unternehmensanwendung ein Virtual Machine Scale Set für ihr hochverfügbares Web-Frontend und ihre API-Ebene nutzen und so ein makellos reibungsloses Nutzererlebnis sicherstellen. Gleichzeitig kann dieselbe Anwendung im Hintergrund einen Azure Compute Fleet starten, der die rechenintensive nächtliche Datenverarbeitung im Data Warehouse, die Erstellung von Batch-Berichten oder komplexe Simulationen übernimmt. Indem Sie für jede Ebene das passende Werkzeug wählen, entsteht eine Architektur, die sowohl für Nutzer besonders reaktionsschnell als auch im großen Maßstab kosteneffizient ist.
Um diese Architekturen noch genauer zu beleuchten und praxisnahe Umsetzungstipps zu erhalten, hören Sie unbedingt unsere vollständige begleitende Podcast-Episode: Azure Compute Fleet – Simply Explained. Vergessen Sie nicht, unseren Podcast zu unterstützen, und bleiben Sie dran für weitere Deep Dives zum Cloud Engineering!
Unterstützen Sie diesen Podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support.