Auf Ampere-Altra-Servern

Azure auf ARM ist endlich da

27.09.2022
Von 
Simon Bisson ist freier Autor bei der Schwesterpublikation Infoworld.
Microsoft hat endlich seine auf ARM gehosteten virtuellen Maschinen vorgestellt, eine stromsparende Option für Ihren Cloud-nativen Code.
Die ersten ARM-basierten VMs von Azure laufen auf Ampere-Altra-Servern mit Unterstützung für die meisten gängigen Linux-Distributionen.
Die ersten ARM-basierten VMs von Azure laufen auf Ampere-Altra-Servern mit Unterstützung für die meisten gängigen Linux-Distributionen.
Foto: Ampere

Microsoft Azure hat jetzt zwei ARMs: den bekannten Azure Resource Manager (ARM) zur Bereitstellung und Verwaltung der Infrastruktur für Ihre Azure-Lösungen und neu eine Familie von Azure VMs, die auf Ampere ARM-basierten Prozessoren laufen. Diese neue Hardware-Option stellt eine große Veränderung für Microsofts Cloud dar, da sie darauf abzielt, mit den kundenspezifischen Graviton-Systemen von AWS gleichzuziehen.

Die Einführung von ARM-Hardware in Azure ist sowohl eine wirtschaftliche als auch eine technologische Entscheidung. Wenn Sie schon einmal eines der Hyperscale-Rechenzentren besucht haben, wurden Sie durch riesige Räume in stadiongroßen Gebäuden geführt, die mit Servern, Speicher- und Netzwerkhardware vollgestopft sind. Die neueren Gebäude sind bis zum Rand mit Racks über Racks mit der neuesten Hardware gefüllt, aber einige ältere Räume sind halb leer.

Warum ARM in der Cloud verwenden?

Diese halbleeren Rechenzentren waren ursprünglich für ältere, größere, weniger effiziente Server mit entsprechenden Stromversorgungen konzipiert. Neuere Hardware benötigt bei gleichem Energiebedarf viel weniger Platz, und der Austausch der ursprünglichen Stromversorgungen würde einen kompletten Abriss und Neuaufbau des Rechenzentrums erfordern. Als die ältere Hardware ausgemustert wurde, kamen neue Systeme hinzu, die die Stromversorgung auf dem vorhandenen Platz schnell an ihre Grenzen brachten.

Was wäre, wenn wir Systeme mit geringerem Energiebedarf einsetzen könnten? Plötzlich wären die leeren Hallen wieder voll, mit viel mehr Rechenleistung bei höherer Dichte, ohne dass die ursprünglichen Stromzuführungen ersetzt werden müssten. Die daraus resultierenden Einsparungen bei Strom und Infrastruktur könnten an die Nutzer weitergegeben werden. Genau das ist die Rolle von ARM in Azure: die Bereitstellung von Servern mit geringerem Stromverbrauch, die die Vorteile der verfügbaren Stromversorgung nutzen und gleichzeitig die wachsenden Anforderungen einer Branche unterstützen, die sich noch in den Anfängen des Cloud-nativen Übergangs befindet.

ARM auf Azure kommt genau rechtzeitig

Die ersten ARM-basierten VMs von Azure sind jetzt allgemein verfügbar und laufen auf Ampere Altra-basierten Servern mit Unterstützung für die meisten gängigen Linux-Distributionen, darunter Ubuntu, Red Hat und Debian. Obwohl Windows Server noch nicht verfügbar ist, haben Sie die Möglichkeit, ARM-Builds von Windows 11 Pro und Enterprise für die Anwendungsentwicklung und -prüfung zu verwenden. So können Sie in der Cloud gehostete Windows-Systeme nutzen, um Arm64-Versionen Ihres Codes als Teil einer CI/CD-Build-Pipeline (Continuous Integration and Continuous Delivery) zu erstellen.

Alternativ können Sie, wenn Sie .NET 6 verwenden, ARM-basierte virtuelle Maschinen zum Hosten von ASP.NET- und Konsolenanwendungen nutzen, was Ihnen eine stromsparende Option für das Hosten von Web-Frontends und Geschäftslogik bietet. Microsofts Ziel für Windows on ARM und auch für .NET ist es, keinen Unterschied in den Fähigkeiten zwischen x86/x64 und ARM64 zu machen, mit Code, der für beide Architekturen entwickelt und bei Bedarf geladen wird. Dabei handhabt die Emulation alle x86- und x64-Anwendungen, die nicht neu für ARM erstellt wurden.

Die Ampere Altra-Server in Azure bieten drei verschiedene Klassen von VMs mit einem physischen Kern pro virtueller CPU. Da sie für Operationen mit hoher Dichte konzipiert sind, werden Sie keine Konfigurationen finden, die mit einigen der höherwertigen x64-Systeme in Azure übereinstimmen, aber sie sollten mit den meisten gängigen Arbeitslasten zurechtkommen.

  • Die Epsv5- und Epdsv5-Serien von VMs bieten bis zu 8 GB RAM pro vCPU, laufen mit 3 GHz Taktung und sind für den Betrieb von Unternehmens-Workloads wie Datenbanken und In-Memory-Caches konzipiert. Mit Epsv5 können Sie bis zu 32 vCPUs ohne direkt angeschlossenen SSD-Speicher hochfahren. Wenn Sie aus Geschwindigkeitsgründen lokalen Speicher benötigen, müssen Sie den Epdsv5 erwerben, der über bis zu 1.200 GB lokalen SSD-Speicher verfügt und die Standard-Speicheroptionen von Azure bietet.

  • Die Dpsv5- und Dpdsv5-VMs sind ähnlich aufgebaut und sollen allgemeine Arbeitslasten hosten. Aus diesem Grund bieten sie nur 4 GB RAM pro vCPU. Das macht sie ideal für einfache Server wie MySQL oder die Ausführung von .NET und Kestrel. Sie können bis zu 64 vCPUs aufweisen, und auch hier bietet die Dpdsv5-Option lokalen Speicher mit Unterstützung für bis zu 2.400 GB lokales SSD.

  • Für kleinere Workloads gibt es die Dplsv5- und Dpldsv5-VMs. Auch hier haben Sie die Wahl zwischen lokalem und Remote-Storage, aber der Arbeitsspeicher pro vCPU ist auf 2 GB begrenzt, mit bis zu 64 vCPUs in einer VM. Der limitierte Arbeitsspeicher erfordert einige Arbeit, um sicherzustellen, dass Sie die richtigen Dienste in Ihrem Host-Betriebssystem haben. Die resultierende Plattform ist für die Skalierung von Microservices gedacht, bei denen Sie möglicherweise schnell neue Instanzen eines Service aufsetzen müssen. Eine Option für diese SKU ist das Hosten von Knoten in Kubernetes, wo Sie viele Instanzen desselben Dienstes ausführen und dichte Bereitstellungen benötigen, um die für Ihre Anwendung erforderliche Leistung zu erzielen.

Die Preisgestaltung hängt von Ihrem Standort ab. In der Azure-Region Germany West Central (Frankfurt) kostet ein Dpdsv5-System mit 2 vCPUs und 75 GB Speicherplatz knapp 80 Euro pro Monat bei nutzungsbasierter Bezahlung, Preise für eine reservierte Instanz lagen nicht vor. Je mehr vCPUs Sie haben, desto teurer wird es: Ein System mit 64 vCPUs, 2.400 GB Speicherplatz und 208 GB RAM kostet über 2.550 Euro pro Monat bei Pay-as-you-go.

Auswahlkriterien für eine ARM VM

Wie können Sie herausfinden, ob die neuen ARM-VMs für Ihre Arbeitslasten geeignet sind? Da es in Azure viele verschiedene Basis-Serverspezifikationen mit AMD- und Intel-CPUs sowie ARM gibt, hat Microsoft die Azure Compute Unit (ACU) eingeführt, um einen Basis-Benchmark für den Vergleich verschiedener VM-Hosts zu bieten. Die ACU ist auf eine kleine VM, die Standard_A1 SKU, mit einem Wert von 100 standardisiert.

Andere SKUs werden mit diesem Standard verglichen, so dass Sie verschiedene CPU-Typen vergleichen und schnell feststellen können, ob Ihr Code in der Lage ist, die Vorteile eines alternativen VM-Typs zu nutzen. Leider hat Microsoft die ACU-Werte für seine ARM-SKUs noch nicht veröffentlicht, aber Sie können bekommen einen Anhaltspunkt, indem Sie sie mit anderen, ähnlichen VMs vergleichen.

Den größten Nutzen haben Sie, wenn Sie ARM in Anwendungen einsetzen, die eine hohe Rechendichte erfordern. Im Moment werden das wahrscheinlich Container in Kubernetes sein, und Azure unterstützt bereits ARM-Knoten in AKS. Diese Funktion wird derzeit in der gesamten Azure-Cloud eingeführt, aber Sie sollten in der Lage sein, relativ leicht eine Region mit Zugang zu finden. Es gibt bereits ARM-Builds von Microsofts CBL-Mariner-Container-Host, und da ARM-Unterstützung für die meisten Linuxe leicht zu finden ist, sollten Sie in der Lage sein, ARM-Binary-basierte Container relativ schnell zu erstellen, zu testen und bereitzustellen.

Es gibt schon seit langem Gerüchte, dass Microsoft einige seiner eigenen Dienste auf ARM laufen lässt, daher ist es gut zu sehen, dass seine Ampere-Hardware endlich einen öffentlichen Auftritt hat. Das Engagement des Unternehmens für die Plattform geht weit über die Cloud-Hardware hinaus. Das Unternehmen hat auch daran gearbeitet, sein Open JDK-Build auf ARM zu bringen, wobei eine Portierung auf die AArch64-Architektur nun Teil der Plattform ist. Java ist nach wie vor eine wichtige Unternehmensplattform, und da sowohl .NET als auch Open JDK auf den Arm-Systemen von Azure laufen, haben Sie die Wahl, wie Sie Ihren Code erstellen und bereitstellen.

Da Hyperscale-Rechenzentren wie die von Azure beträchtliche Mengen an Energie benötigen, ist eine Alternative mit hoher Dichte und geringem Stromverbrauch zu Intel und AMD ein wichtiger Faktor für jede Kaufentscheidung, insbesondere wenn Unternehmen ihre jährlichen Umweltverträglichkeitsprüfungen durchführen. Es wird interessant sein zu beobachten, wie sich Microsofts Azure-ARM-Angebot entwickelt, wenn die nächste Generation von Hardware, die auf der Neoverse-Plattformarchitektur von ARM basiert, auf den Markt kommt und wenn Microsoft weiterhin ARM-Versionen seiner unterstützten Betriebssysteme ausrollt. Könnte die Veröffentlichung eines Windows Server mit ARM-Unterstützung kurz bevorstehen? (mb)

Dieser Artikel basiert auf einem Beitrag der Schwesterpublikation Infoworld.