Was ist eine virtuelle Maschine?

Virtuelle Maschinen (VMs) sind Computer, die mithilfe eines als Virtualisierung bezeichneten Prozesses auf anderen Computern ausgeführt werden.

Share facebook icon linkedin icon twitter icon email icon

Virtuelle Maschine

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Virtuelle Maschine definieren
  • Verstehen, wie Virtualisierung und virtuelle Hardware funktionieren
  • Mehrere Anwendungsfälle für virtuelle Maschinen skizzieren

Was ist eine virtuelle Maschine?

Eine virtuelle Maschine (VM) ist ein softwarebasierter Computer, der im Betriebssystem eines anderen Computers existiert und häufig zum Testen, Sichern von Daten oder zum Ausführen von SaaS-Anwendungen genutzt wird. Um die Funktionsweise von VMs richtig zu verstehen, ist es wichtig, zunächst zu verstehen, wie Computersoftware und -hardware normalerweise von einem Betriebssystem integriert werden.

Was ist ein Betriebssystem?

Herkömmliche Computer bestehen aus physischer Hardware einschließlich Festplatten, Prozessorchips, RAM usw. Um diese Hardware nutzen zu können, benötigen Computer eine Software, die als Betriebssystem (Operating Sytem – OS) bezeichnet wird. Gängige Beispiele für Betriebssysteme sind Mac OSX, Microsoft Windows, Linux und Android.

Das Betriebssystem verwaltet die Hardware des Computers auf eine Weise, die den Benutzern nützt. Wenn die Benutzer beispielsweise auf das Internet zugreifen möchten, weist das Betriebssystem die Netzwerkkarte an, die Verbindung herzustellen. Wenn die Benutzer eine Datei herunterladen möchten, partitioniert das Betriebssystem den Speicherplatz auf der Festplatte für diese Datei. Das Betriebssystem führt außerdem weitere Software aus und verwaltet diese. Beispielsweise kann ein Webbrowser ausgeführt und dem Browser genügend Arbeitsspeicher (RAM) zur Verfügung gestellt werden, um einen reibungslosen Betrieb zu gewährleisten. Typischerweise existieren Betriebssysteme in einem physischen Computer im Verhältnis 1:1. Für jeden Computer gibt es genau ein Betriebssystem, das seine physischen Ressourcen verwaltet.

Können Sie zwei oder mehr Betriebssysteme auf einem Computer haben?

Einige Benutzer möchten mehrere Betriebssysteme gleichzeitig auf einem Computer ausführen, entweder zu Testzwecken oder aus einem der anderen im folgenden Abschnitt genannten Gründe. Das lässt sich mithilfe einer als Virtualisierung bezeichneten Technologie umsetzen. Bei der Virtualisierung verhält sich eine Software so, als wäre sie ein eigenständiger Computer. Diese Software wird als virtuelle Maschine oder auch als Gastcomputer bezeichnet. (Der Computer, auf dem die VM ausgeführt wird, ist der „Host“.) Der Gast verfügt über ein Betriebssystem sowie eine eigene virtuelle Hardware.

„Virtuelle Hardware“ klingt wie ein Widerspruch in sich, funktioniert jedoch durch Zuordnung zu realer Hardware auf dem Host-Computer. Beispielsweise ist die „Festplatte“ der VM nur eine Datei auf der Festplatte des Hostcomputers. Wenn die VM eine neue Datei speichern möchte, muss sie mit dem Betriebssystem des Hostes kommunizieren, das diese Datei auf die Festplatte des Hostes schreibt. Da die virtuelle Hardware diesen zusätzlichen Verarbeitungsschritt mit dem Host ausführen muss, um auf Hardwareressourcen zuzugreifen, können virtuelle Maschinen nicht ganz so schnell sein wie ihre Hostcomputer.

Mithilfe der Virtualisierung können auf einem Computer zwei oder mehr Betriebssysteme ausgeführt werden. Die Anzahl der VMs, die auf einem Host ausgeführt werden können, wird nur von den verfügbaren Hostressourcen begrenzt. Die Benutzer können das Betriebssystem einer VM entweder so wie jedes andere Programm in einem Fenster oder alternativ im Vollbildmodus ausführen, so dass es wie ein echtes Hostbetriebssystem aussieht und sich auch so anfühlt.

Wofür werden virtuelle Maschinen verwendet?

Einige der häufigsten Gründe, warum Benutzer virtuelle Maschinen ausführen, sind:

  • Testen. Oft möchten Softwareentwickler ihre Anwendungen in verschiedenen Umgebungen testen. Dazu können sie virtuelle Maschinen einsetzen, um ihre Anwendungen mit verschiedenen Betriebssystemen, aber auf demselben Computer auszuführen. Das ist einfacher und kostengünstiger als Tests auf mehreren physischen Maschinen.
  • Ausführen von Software für andere Betriebssysteme. Obwohl es bestimmte Softwareanwendungen nur für eine Plattform gibt, kann eine VM Software ausführen, die für ein anderes Betriebssystem entwickelt wurde. Beispielsweise können Mac-Benutzer, die für Windows entwickelte Software nutzen möchten, eine Windows-VM auf ihrem Mac-Host ausführen.
  • Veraltete Software ausführen. Manch ältere Software kann unter modernen Betriebssystemen nicht verwendet werden. Benutzer, die diese Anwendungen ausführen möchten, können ein altes Betriebssystem auf einer virtuellen Maschine aufsetzen.

Wie werden virtuelle Maschinen beim Cloud-Computing verwendet?

Einige Cloud-Provider bieten ihren Kunden virtuelle Maschinen an. Diese virtuellen Maschinen befinden sich normalerweise auf leistungsstarken Servern, die als Host für mehrere VMs fungieren. Sie werden aus vielen Gründen eingesetzt, die mit einer lokal gehosteten VM nicht praktikabel wären. Dazu gehören:

  • Ausführen von SaaS-Anwendungen. Software-as-a-Service, kurz SaaS, ist eine Cloud-basierte Methode zur Bereitstellung von Software für Benutzer. SaaS-Benutzer abonnieren eine Anwendung, anstatt sie zu kaufen und zu installieren, und nutzen sie im Allgemeinen über das Internet. Oft sind es virtuelle Maschinen in der Cloud, die die Berechnungen für SaaS-Anwendungen durchführen und für die Benutzer bereitstellen. Wenn der Cloud-Provider über einen geografisch verteilten Netzwerkrand verfügt, wird die Anwendung näher am Benutzer ausgeführt. Das beschleunigt die Performance.
  • Datensicherung. Cloud-basierte VM-Dienste sind zur Datensicherung sehr beliebt, da von überall auf die Daten zugegriffen werden kann. Darüber hinaus bieten Cloud-VMs eine bessere Redundanz, erfordern weniger Wartung und lassen sich im Allgemeinen besser skalieren als physische Rechenzentren. (Zum Beispiel ist es in der Regel einfacher, ein zusätzliches Gigabyte Speicherplatz von einem Cloud-VM-Provider zu erwerben, als einen neuen lokalen Datenserver für dieses zusätzliche Gigabyte Daten aufzustellen.)
  • Hosting-Dienste wie E-Mail- und Zugangsverwaltung. Das Hosting dieser Dienste in Cloud-VMs ist im Allgemeinen schneller und kostengünstiger, trägt zur Minimierung der Wartung bei und entlastet hinsichtlich Sicherheitsbedenken.

Cloudflare und virtuelle Maschinen

Cloudflare schützt und verwaltet alle Arten von Cloud-Bereitstellungen einschließlich Cloud-VMs. Für Anwender, die Code ohne den ganzen Overhead der virtuellen Maschinen am Netzwerkrand ausführen wollen, haben wir Cloudflare Workers. Das ist eine Serverless-Plattform, die Kunden Berechnungen am Rand in einer vollständig skalierbaren Weise bietet und es ihnen ermöglicht, vorhandene Anwendungen zu erweitern oder völlig neue zu erstellen, ohne die Infrastruktur zu konfigurieren oder zu warten.