Kalawin - stock.adobe.com
Amazon EC2 Nitro bringt mehr Compute-Optionen
Während immer noch unklar ist, in welche Richtung AWS mit seinem Nitro-Projekt geht, profitieren Anwender bereits von leistungsfähigeren Compute-Optionen.
Branchenbeobachter spekulierten jahrelang, wann AWS einen eigenen Hypervisor entwickelt. Doch erst im November letzten Jahres begann der Cloud-Anbieter, Details zu einem System preiszugeben, das er zur Unterstützung vieler seiner neueren Instanzen entwickelt hat. Obwohl manches noch im Dunkeln liegt, ist das meiste inzwischen klar.
Nitro, wie AWS das interne Projekt nennt, ist eine Sammlung von AWS-basierten Hardware- und Softwarekomponenten, die eine hohe Leistung, hohe Verfügbarkeit, hohe Sicherheit und Bare-Metal-Funktionen ermöglichen, um den Virtualisierungsaufwand überflüssig zu machen.
Das Nitro System startet mit einem neuen Hypervisor, stützt sich aber auch auf mehrere andere Komponenten. Das Ziel ist, fast den gesamten Netzwerk-, Speicher- und Verwaltungsaufwand zu reduzieren. Dies ermöglicht es der Host-CPU, sich auf Kundeninstanzen oder Workloads zu konzentrieren und bietet angeblich eine Leistung, die sich nicht von Bare Metal unterscheiden lässt.
Insgesamt bietet das AWS Nitro-System große Leistungsvorteile für Anwender. Außerdem besteht für Kunden die Möglichkeit, Bare-Metal-Instanzen für bestimmte Workloads wie Datenbanken oder selbstverwaltete Container-Cluster zu nutzen. Zwar ist das System noch nicht im gesamten EC2-Portfolio verfügbar. Aber Benutzer mit rechen- und I/O-intensiven Workloads sollten Nitro-basierte Instanzen schon jetzt testen, bevor sie ihrer aktuellen Bereitstellung mehr EC2-Kapazität hinzufügen.
Das AWS Nitro System: Bedürfnis nach Geschwindigkeit
AWS veröffentlichte die ersten Details über Nitro auf seiner re:Invent-Anwenderkonferenz 2017. Auf der Veranstaltung sagte Anthony Liguori, Chefentwickler für EC2, dass Nitro auf der Linux-KVM-Technologie basiere, aber „keine universellen Betriebssystem-Komponenten“ enthalte.
Den Anstoß für die Entwicklung von Nitro gaben laut AWS Engpässe und Mängel der von AWS genutzten Hypervisoren, die sich schon 2012 abzeichneten. Insbesondere die Art und Weise, wie Hypervisoren mit Netzwerk- und Speichergeräten umgingen, gefiel den AWS-Verantwortlichen nicht. Aufgrund dieser Probleme beschloss AWS, eine Möglichkeit zu finden, mit der Software-only Hypervisor-Architekturen verbessert werden konnten – insbesondere um die Gerätemodelle herum. Außerdem erkundete man einen Weg, den Hypervisor zu zerlegen, um die Leistung und Flexibilität zu steigern.
Das Ergebnis war das AWS Nitro System, das aus einem leichtgewichtigen Hypervisor besteht. Dieser soll Xen und sein Device-Handling-System ersetzen. Außerdem verfügt er über eine benutzerdefinierte Schnittstellenkarte für die Speicherung, Vernetzung, Verwaltung, Überwachung und Sicherheit für jede Nitro-Instanz. Auf dem Motherboard ist zudem ein Sicherheitschip integriert.
Aktuell ist Nitro mit rechenstarken C5-Instanzen ausgestattet, die bis zu 72 virtuelle CPUs und 144 GB skalieren können, mit CPU- und Speicherisolierung. Virtual Private Cloud (VPC) -Netzwerke und Elastic Block Store (EBS) -Storage basieren auf spezieller Hardware, die in EC2-Instanzen der aktuellen Generation verwendet wird.
Was seine internen Pläne und Strategien betrifft, ist AWS zwar etwas verschwiegen. Aber mit ziemlicher Sicherheit kann man sagen, dass Nitro die anwendungsspezifische integrierte Schaltung für kundenspezifische Schnittstellen verwendet hat, die von der Annapurna-Gruppe von AWS entwickelt wurde – zumindest am Anfang. Diese Hardwarespezifikationen mit ihren zwei 25-Gigabit-Ethernet-Netzwerkschnittstellen wurde bei einer re:Invent-Präsentation 2016 diskutiert – aber letztes Jahr verwies AWS darauf, dass es an einem Nachfolger arbeitet.
Der Cloud-Anbieter hat wahrscheinlich bereits eine neuere Nitro-Karte eingesetzt, die ziemlich sicher auch andere Elemente enthält. Darauf deutete zumindest damals der Vortrag von Chefentwickler Anthony Liguori hin. Er enthüllte die Verwendung von Single-Root I/O-Virtualisierungshardware für Netzwerk- und Speicher-I/Os, erweiterte Netzwerkfunktionen und EBS-Volumen-I/Os sowie Hardwareunterstützung für Posted Interrupts und Intel Advanced Programmable Interrupt Controller-Virtualisierung zur Verbesserung der VM-Performance.
Auswirkungen auf Instanzen und Benutzer
Irgendwann werden sicher alle neuen Instanztypen das AWS Nitro System verwenden. Vorerst nutzen allerdings die bestehenden Instanzen und einige neue Typen weiterhin Xen. Das System bildet die Grundlage für die Bare-Metal- und rechenintensiven Instanzen von AWS, ermöglicht aber auch einige andere wertvolle Funktionen. Darunter befinden sich Folgende:
- Schnellere Updates des EC2-Instanzen-Portfolios, einschließlich neuer Größen und Unterstützung für aktualisierte Hardware-CPUs;
- Lokaler Non-volatile Memory Express (NVMe) -Storage, der leistungsstarken Solid-State-Memory über eine lokale Peripheral Component Interconnect Express-Schnittstelle mit Inline-Datenverschlüsselung bereitstellt;
- Hardwarebeschleunigung von AWS-erweiterten Netzwerkfunktionen und VPC-Netzwerkschnittstellen;
- Hardwarebeschleunigung der EBS-Verarbeitung, einschließlich Kryptooperationen; und
- Security-Hardware auf Systemebene zum Schutz vor Firmware-Angriffen und zur Überprüfung der Firmware beim Systemstart.
Nitro-basierte Instanzen sollen mit den meisten EC2-Anwendungen und Amazon Machine Images funktionieren, die Elastic Network Adapter verwenden. Auch wenn Nitro die EC2-APIs nicht ändert: IT-Teams müssen möglicherweise dennoch einige Anwendungen modifizieren, die auf undokumentierten Verhalten beruhen. Sie müssen nämlich erkennen, wenn sie innerhalb von EC2 ausgeführt werden.
Außerdem werden Administratoren einige Unterschiede zu Anwendungen bemerken, die auf Xen laufen. Nitro bootet von EBS-Volumes auf einer NVMe-Oberfläche. Xen hingegen bootet von einem emulierten integrierten Entwicklungsumgebung-Device, bevor es auf das paravirtualisierte Xen (PV) -Block-Device wechselt. Infolgedessen werden Linux-Instanzen nicht in gleicher Weise mit EBS-Volumes interagieren. Ebenso gibt es Unterschiede in der Art und Weise, wie NVMe- und PV-Geräte mit I/O-Anfragen umgehen. Erstere haben einen Timeout-Wert, während letztere diesen nicht haben.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!