Was ist eine virtuelle Maschine? (Warum und wann es zu verwenden ist)

Wenn Sie in oder in der Nähe der Softwarebranche arbeiten, haben Sie wahrscheinlich schon von virtuellen Maschinen gehört. Wenn nicht, fragen Sie sich vielleicht, was sie sind und wofür sie verwendet werden.

Als Softwareentwickler verwende ich täglich virtuelle Maschinen. Sie sind potente Werkzeuge in der Softwareentwicklung, aber sie haben auch andere Verwendungsmöglichkeiten. Auch als VMs bekannt, werden sie von vielen Unternehmen aufgrund ihrer Flexibilität, Zuverlässigkeit und Kosteneffizienz eingesetzt. Sie verhindern auch Katastrophen durch außer Kontrolle geratene Softwaretests.

Werfen wir einen Blick darauf, was virtuelle Maschinen sind und warum sie verwendet werden.

Was ist eine virtuelle Maschine?

Eine virtuelle Maschine ist eine Instanz eines Betriebssystems (OS) wie Windows, Mac OS oder Linux, das im Hauptbetriebssystem eines Computers ausgeführt wird.

Normalerweise wird es in einem App-Fenster auf Ihrem Desktop ausgeführt. Eine virtuelle Maschine hat volle Funktionalität und verhält sich wie ein separater Computer oder eine separate Maschine. Im Wesentlichen ist eine virtuelle Maschine ein virtueller Computer, der in einem anderen Computer läuft, der als Host-Maschine bezeichnet wird.

Virtuelle Maschine 1
Bild 1: Virtuelle Maschine, die auf einem Laptop läuft.

Eine virtuelle Maschine hat keine Hardware (Arbeitsspeicher, Festplatte, Tastatur oder Monitor). Es verwendet simulierte Hardware von der Host-Maschine. Aus diesem Grund können mehrere VMs, auch als „Gäste“ bezeichnet, auf einem einzigen Hostcomputer ausgeführt werden.

Virtuelle Maschine 2
Bild 2: Hostmaschine, auf der mehrere VMs ausgeführt werden.

Der Host kann auch mehrere VMs mit unterschiedlichen Betriebssystemen ausführen, einschließlich Linux, Mac OS und Windows. Diese Fähigkeit hängt von einer Software ab, die als Hypervisor bezeichnet wird (siehe Abbildung 1 oben). Der Hypervisor wird auf der Hostmaschine ausgeführt und ermöglicht Ihnen das Erstellen, Konfigurieren, Ausführen und Verwalten virtueller Maschinen.

Der Hypervisor weist Speicherplatz zu, plant die Verarbeitungszeit und verwaltet die Speichernutzung für jede VM. Dies ist, was Anwendungen wie Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V und viele andere: Sie sind Hypervisoren.

Ein Hypervisor kann auf einem Laptop, PC oder Server ausgeführt werden. Es stellt dem lokalen Computer oder über ein Netzwerk verteilten Benutzern virtuelle Maschinen zur Verfügung.

Unterschiedliche Arten von virtuellen Maschinen und Umgebungen erfordern unterschiedliche Arten von Hypervisoren. Werfen wir einen Blick auf einige von ihnen.

Arten von virtuellen Maschinen

Virtuelle Systemmaschinen

System-VMs, manchmal auch als vollständige Virtualisierung bezeichnet, werden von einem Hypervisor ausgeführt und bieten die Funktionalität eines tatsächlichen Computersystems. Sie verwenden das native Betriebssystem des Hosts, um Systemressourcen zu verwalten und gemeinsam zu nutzen.

Virtuelle Systemmaschinen erfordern oft einen leistungsstarken Host mit schnellen oder mehreren CPUs, viel Arbeitsspeicher und Tonnen von Festplattenspeicher. Einige, die auf Personal- oder Laptop-Computern ausgeführt werden, benötigen möglicherweise nicht die Rechenleistung, die virtuelle Server großer Unternehmen benötigen. Sie werden jedoch langsam ausgeführt, wenn das Hostsystem nicht ausreicht.

Virtuelle Maschinen verarbeiten

Process Virtual Machines unterscheiden sich stark von SVMs – Sie haben sie möglicherweise auf Ihrem Computer ausgeführt, ohne es zu wissen. Sie werden auch als virtuelle Anwendungsmaschinen oder Managed Runtime Environments (MREs) bezeichnet. Diese virtuellen Maschinen werden innerhalb eines Host-Betriebssystems ausgeführt und unterstützen Anwendungen oder Systemprozesse.

Warum ein PVM verwenden? Sie erbringen Dienste, ohne von bestimmten Betriebssystemen oder Hardware abhängig zu sein. Sie haben ihr eigenes kleines Betriebssystem mit nur den Ressourcen, die sie benötigen. Das MRE befindet sich in einer separaten Umgebung; es spielt keine Rolle, ob es unter Windows, Mac OS, Linux oder einem anderen Host-Rechner läuft.

Eine der gebräuchlichsten Process Virtual Machines ist eine, von der Sie wahrscheinlich schon gehört und die Sie vielleicht schon auf Ihrem Computer gesehen haben. Es dient zum Ausführen von Java-Anwendungen und wird als Java Virtual Machine oder kurz JVM bezeichnet.

Arten von Hypervisoren

Die meisten virtuellen Maschinen, mit denen wir uns befassen, verwenden einen Hypervisor, weil sie ein ganzes Computersystem emulieren. Es gibt zwei verschiedene Arten von Hypervisoren: Bare-Metal-Hypervisoren und gehostete Hypervisoren. Werfen wir einen kurzen Blick auf beide.

Bare-Metal-Hypervisor

BMHs können auch als native Hypervisoren bezeichnet werden und laufen direkt auf der Hardware des Hosts, anstatt innerhalb des Betriebssystems des Hosts zu laufen. Tatsächlich ersetzen sie das Betriebssystem des Hosts, planen und verwalten die Hardwarenutzung durch jede virtuelle Maschine und schalten so den „Mittelsmann“ (das Betriebssystem des Hosts) aus.

Native Hypervisoren werden normalerweise für große Unternehmens-VMs verwendet, die Unternehmen verwenden, um Mitarbeitern Serverressourcen bereitzustellen. Microsoft Azure oder Amazon Web Services sind VMs, die auf dieser Art von Architektur gehostet werden. Andere Beispiele sind KVM, Microsoft Hyper-V und VMware vSphere.

Gehosteter Hypervisor

Gehostete Hypervisoren laufen auf Standardbetriebssystemen – genau wie jede andere Anwendung, die wir auf unseren Maschinen ausführen. Sie verwenden das Betriebssystem des Hosts, um Ressourcen zu verwalten und zu verteilen. Diese Art von Hypervisor eignet sich besser für einzelne Benutzer, die mehrere Betriebssysteme auf ihren Computern ausführen müssen.

Dazu gehören Anwendungen wie Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop und viele andere. Ausführlichere Informationen zu gehosteten Hypervisoren finden Sie in unserem Artikel. Beste Software für virtuelle Maschinen.

Warum virtuelle Maschinen verwenden?

Nachdem Sie nun ein grundlegendes Verständnis dafür haben, was eine virtuelle Maschine ist, fallen Ihnen wahrscheinlich einige hervorragende Anwendungen ein. Hier sind einige der wichtigsten Gründe, warum Menschen virtuelle Maschinen verwenden.

1. Kosteneffizient

Virtuelle Maschinen sind in zahlreichen Situationen kostengünstig. Einer der prominentesten ist in der Unternehmenswelt. Die Verwendung physischer Server zur Bereitstellung von Ressourcen für Mitarbeiter kann sehr teuer sein. Die Hardware ist nicht billig, und die Wartung ist noch teurer.

Der Einsatz virtueller Maschinen als Unternehmensserver ist mittlerweile zur Norm geworden. Bei VMs von einem Anbieter wie MS Azure fallen keine Hardware-Anschaffungen und keine Wartungsgebühren an. Diese VMs können für nur ein paar Cent pro Stunde eingerichtet, konfiguriert und verwendet werden. Sie können auch heruntergefahren werden, wenn sie nicht verwendet werden, und verursachen keinerlei Kosten.

Die Verwendung einer VM auf Ihrem Computer kann auch eine Menge Geld sparen. Wenn Sie mit mehreren Betriebssystemen oder unterschiedlichen Hardwarekonfigurationen arbeiten müssen, können Sie das tun
Verwenden Sie mehrere virtuelle Maschinen auf einem Host – Sie müssen nicht für jede Aufgabe einen separaten Computer kaufen.

2. Skalierbar und flexibel

Unabhängig davon, ob es sich um Unternehmensserver oder VMs handelt, die auf Ihrem Laptop ausgeführt werden, virtuelle Maschinen sind skalierbar. Es ist einfach, die Ressourcen an Ihre Bedürfnisse anzupassen. Wenn Sie mehr Arbeitsspeicher oder Festplattenspeicher benötigen, gehen Sie einfach in den Hypervisor und konfigurieren Sie die VM neu, um mehr zu haben. Es muss keine neue Hardware gekauft werden, und der Prozess kann schnell abgeschlossen werden.

3. Schnelle Einrichtung

Eine neue VM kann schnell eingerichtet werden. Ich hatte Fälle, in denen ich ein neues VM-Setup benötigte, meinen Kollegen anrief, der sie verwaltet, und sie in weniger als einer Stunde einsatzbereit hatte.

4. Notfallwiederherstellung

Wenn Sie versuchen, Datenverlust zu verhindern und sich auf die Notfallwiederherstellung vorzubereiten, können VMs ein hervorragendes Werkzeug sein. Sie sind einfach zu sichern und können bei Bedarf an verschiedenen Orten verteilt werden. Wenn ein Drittanbieter wie Microsoft oder Amazon die virtuellen Maschinen hostet, befinden sie sich außerhalb des Standorts – was bedeutet, dass Ihre Daten sicher sind, wenn Ihr Büro abbrennt.

5. Einfach zu reproduzieren

Die meisten Hypervisoren ermöglichen es Ihnen, eine Kopie oder ein Image einer VM zu erstellen. Mit Imaging können Sie ganz einfach exakte Reproduktionen derselben Basis-VM für jede Situation erstellen.

In der Umgebung, in der ich arbeite, geben wir jedem Entwickler eine VM zum Entwickeln und Testen. Dieser Prozess ermöglicht es uns, ein Image mit allen erforderlichen Tools und Software zu konfigurieren. Wenn wir einen neuen Entwickler an Bord haben, müssen wir nur eine Kopie dieses Images erstellen, und er hat alles, was er braucht, um mit der Arbeit zu beginnen.

6. Perfekt für Entwicklung/Test

Einer der besten Vorteile der Verwendung virtueller Maschinen besteht darin, dass sie ein perfektes Werkzeug für die Softwareentwicklung und das Testen sind. VMs ermöglichen es Entwicklern, auf einer Maschine auf mehreren Plattformen und Umgebungen zu entwickeln. Wenn diese VM beschädigt oder zerstört wird, kann schnell eine neue erstellt werden.

Sie ermöglichen einem Tester für jeden Testzyklus eine saubere neue Umgebung. Ich habe an Projekten gearbeitet, bei denen wir automatisierte Testskripte eingerichtet haben, die eine neue VM erstellen, die neueste Softwareversion installieren, alle erforderlichen Tests ausführen und die VM nach Abschluss der Tests löschen.

VMs eignen sich hervorragend für Produkttests und Bewertungen, wie wir sie hier bei TechFewer.com durchführen. Ich kann Apps in einer VM installieren, die auf meinem Computer ausgeführt wird, und sie testen, ohne meine primäre Umgebung zu überladen.

Wenn ich mit dem Testen fertig bin, kann ich die virtuelle Maschine jederzeit löschen und dann bei Bedarf eine neue erstellen. Dieser Prozess ermöglicht es mir auch, auf mehreren Plattformen zu testen, obwohl ich nur einen Windows-Computer habe.

Final Words

Wie Sie sehen, sind virtuelle Maschinen ein kostengünstiges, vielseitiges Werkzeug, das für viele Anwendungen eingesetzt werden kann. Wir müssen keine teure Hardware mehr kaufen, einrichten und warten, um Serverzugriff für Tester, Entwickler und andere bereitzustellen. VMs geben uns die Flexibilität, die von uns benötigten Betriebssysteme, Hardware und Umgebungen jederzeit einfach und schnell zu erstellen.