Virtuelle Maschinen

Was sind Virtual Machines?

21.07.2022 von Keith Shaw
Virtuelle Maschinen liefern mit ihrer Trennung von Soft- und Hardware die Grundlage für viele der heutigen IT-Innovationen. Das sollten Sie über die Virtual Machine wissen.
Das Konzept der virtuellen Maschine ist die Basis etlicher State-of-the-Art-Technologien.
Foto: Erta - shutterstock.com

Ob Microservices, Cloud oder Edge Computing - viele der heutigen Spitzentechnologien sind dem Konzept der Virtual Machine zu verdanken, das Betriebssystem und Softwareinstanz vom zugrundliegenden, physischen Rechner trennt.

Virtuelle Maschine - Definition

Bei einer virtuellen Maschine (VM) handelt es sich um eine Software, die Programme oder Anwendungen ausführt, ohne an einen physischen Computer gebunden zu sein. In einer VM-Instanz können eine oder mehrere Gastmaschinen auf einem Host-Rechner ausgeführt werden. Jede Virtual Machine hat ihr eigenes Betriebssystem und funktioniert getrennt von anderen VMs, auch wenn sie sich auf demselben physischen Host befinden. Virtuelle Maschinen laufen in der Regel auf Servern, können aber auch auf Desktop-Systemen oder sogar Embedded-Plattformen ausgeführt werden. Mehrere VMs können Ressourcen eines physischen Hosts gemeinsam nutzen, darunter CPU-Zyklen, Netzwerkbandbreite und Speicher.

Die Ursprünge der virtuellen Maschine reichen bis in die 1960er Jahre zurück, als Time-Sharing für Mainframe-Benutzer verwendet wurde, um Software von einem physischen Host zu trennen. In den frühen 1970er Jahren wurde eine Virtual Machine als "effizientes, isoliertes Duplikat einer realen Computermaschine" definiert. VMs, wie wir sie heute kennen, haben in den letzten zwanzig Jahren an Bedeutung gewonnen. Das liegt in erster Linie daran, dass Unternehmen die Servervirtualisierung einführten, um:

Da Anwendungen mit unterschiedlichen Betriebssystemanforderungen auf einem einzigen physischen Host ausgeführt werden konnten, war nicht für jede Anwendung eine andere Serverhardware erforderlich.

Virtual Machine - Funktionsweise

Im Allgemeinen gibt es zwei Arten von VMs:

  1. Prozess-VMs, die einen einzelnen Prozess trennen, und

  2. System-VMs, die eine vollständige Trennung des Betriebssystems und der Anwendungen vom physischen Computer bieten.

Beispiele für Prozess-VMs sind die Java Virtual Machine, das .NET Framework und die virtuelle Maschine Parrot. System-VMs stützen sich auf Hypervisoren als Vermittler, die der Software den Zugriff auf die Hardwareressourcen ermöglichen. Der Hypervisor emuliert die CPU, den Arbeitsspeicher, die Festplatte, das Netzwerk und andere Hardwareressourcen des Computers und erstellt einen Ressourcen-Pool, der den einzelnen VMs je nach ihren spezifischen Anforderungen zugewiesen werden kann. Der Hypervisor kann mehrere virtuelle Hardwareplattformen unterstützen, die voneinander isoliert sind, so dass VMs Linux- und Windows-Server-Betriebssysteme auf demselben physischen Host ausführen können. Auch Desktop-Computersysteme können virtuelle Maschinen nutzen. Ein Beispiel hierfür wäre ein Mac-Benutzer, der eine virtuelle Windows-Instanz auf seiner physischen Mac-Hardware ausführt.

Zu den großen Namen im Hypervisor-Bereich gehören:

Der Hypervisor verwaltet die Ressourcen und weist sie den VMs zu. Außerdem plant er die Verteilung der Ressourcen und passt sie an die Konfiguration des Hypervisors und der VMs an und kann die Ressourcen neu zuweisen, wenn der Bedarf schwankt. Die meisten Hypervisoren lassen sich in eine von zwei Kategorien einteilen:

VMs - Vor- und Nachteile

Die Vorteile virtueller Maschinen:

Virtuelle Maschinen haben aber auch ein paar Nachteile:

Virtualisierung - weitere Formen

Der Erfolg von VMs in der Servervirtualisierung führte zur Anwendung der Virtualisierung auf andere Bereiche wie

So gut wie jede Hardware, die in ein Rechenzentrum passt, hat das Konzept der Virtualisierung schon kennengelernt (etwa Application Delivery Controllers).

Im Bereich der Netzwerkvirtualisierung haben sich Unternehmen mit Network-as-a-Service-Optionen und Network Functions Virtualization (NFV) befasst. Hierbei ersetzen handelsübliche Server spezielle Netzwerkgeräte, um flexiblere und skalierbare Dienste zu ermöglichen. Im Gegensatz dazu wird bei Software-definierten Netzwerken die Netzwerkkontrollebene von der Weiterleitungsebene getrennt, um eine automatisierte Bereitstellung und richtlinienbasierte Verwaltung von Netzwerkressourcen zu ermöglichen. Bei einer dritten Technologie, den virtuellen Netzwerkfunktionen, handelt es sich um softwarebasierte Dienste, die in einer NFV-Umgebung ausgeführt werden können, darunter Prozesse wie

Verizon beispielsweise nutzt NFV, um seine Virtual Network Services zu betreiben, mit denen Kunden bei Bedarf neue Dienste und Funktionen einrichten können. Zu den Diensten gehören virtuelle Anwendungen, Routing, softwaredefinierte WANs, WAN-Optimierung und sogar Session Border Controller as a Service (SBCaaS) zur zentralen Verwaltung und sicheren Bereitstellung IP-basierter Echtzeitdienste wie VoIP und Unified Communications.

Virtuelle Maschinen & Container

Das Wachstum von virtuellen Maschinen hat auch die Weiterentwicklung von Technologien wie Containern befeuert. Die führen das Konzept noch einen Schritt weiter und finden bei Entwicklern von Webanwendungen immer mehr Anklang. In einer Container-Umgebung kann eine einzelne Anwendung zusammen mit ihren Abhängigkeiten virtualisiert werden. Da ein Container nur Binärdateien, Bibliotheken und Anwendungen enthält, ist der Overhead wesentlich geringer als bei einer Virtual Machine.

Dennoch sind VMs weiterhin nützlich, beispielsweise wenn mehrere Anwendungen zusammen ausgeführt werden sollen oder ältere Applikationen auf älteren Betriebssystemen laufen. Darüber hinaus sind einige der Meinung, Container seien weniger sicher als VM-Hypervisoren, weil sie nur ein Betriebssystem haben, das Anwendungen gemeinsam nutzen kann, während VMs die Anwendung und das Betriebssystem isolieren können.

Gary Chen, Forschungsleiter der IDC-Abteilung Software-Defined Compute, glaubt, dass der VM-Softwaremarkt bleibt trotz Cloud-Architekturen und Container bedeutsam bleibt: "Der Markt für Software für virtuelle Maschinen hat sich als bemerkenswert widerstandsfähig erwiesen und wird in den nächsten fünf Jahren weiterhin positiv wachsen, obwohl er sehr ausgereift ist und sich der Sättigung nähert", schreibt der Experte im Rahmen des Worldwide Virtual Machine Software Forecast, 2021-2025 von IDC.

Virtual Machines, 5G & Edge Computing

Virtual Machines werden als Teil neuer Technologien wie 5G und Edge Computing gesehen. So suchen beispielsweise Anbieter virtueller Desktop-Infrastrukturen (VDI) wie Microsoft, VMware und Citrix nach Möglichkeiten, ihre VDI-Systeme auf Mitarbeiter auszuweiten, die in Hybrid-Work-Modellen beziehungsweise aus dem Home-Office arbeiten.

"Bei VDI ist eine extrem niedrige Latenzzeit erforderlich, da Sie Ihre Tastenanschläge und Mausbewegungen im Grunde an einen Remote Desktop senden", weiß Mahadev Satyanarayanan, Professor für Informatik an der Carnegie Mellon University. Im Jahr 2009 schrieb der Computerexperte darüber, wie auf virtuellen Maschinen basierende Cloudlets verwendet werden könnten, um mobilen Geräten am Rande des Internets bessere Verarbeitungsmöglichkeiten zu bieten. Der Startschuss für die Entwicklung des Edge Computing.

Im 5G-Mobilfunkbereich nutzt der Prozess des Network Slicing softwaredefinierte Netzwerk- und NFV-Technologien, um Netzwerkfunktionen auf VMs auf einem virtualisierten Server zu installieren und so Dienste bereitzustellen, die früher nur auf proprietärer Hardware liefen. Wie viele andere Technologien, die heute genutzt werden, wären diese Innovationen ohne das ursprüngliche Konzept der virtuellen Maschine nicht möglich gewesen. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Network World.