Die wichtigsten Unterschiede zwischen VM und Container

Bei Containern ist man an das Betriebssystem und die Architektur des Hosts gebunden, als könnten auf einem Sternenzerstörer ausschließlich Schiffe des Imperiums landen. Auf einer VM kann ein beliebiges, kompatibles Betriebssystem installiert werden.

Stellenmarkt
  1. Business Development Manager (m/w/d)
    Westnetz GmbH, deutschlandweit
  2. Systemspezialist SharePoint (m/w/d)
    Finanz Informatik GmbH & Co. KG, Hannover
Detailsuche

Oft unterstützt oder simuliert der Hypervisor auch eine andere Hardwarearchitektur als der Host, beispielsweise bei Emulatoren. So kann ein Betriebssystem ausgeführt werden, welches auf der Hardware des Hosts nicht lauffähig ist - als würde man ein goldenes Götzenbild durch ein Säckchen Sand ersetzen.

Die Installation verschiedener Betriebssysteme führt dazu, dass man sich gegebenenfalls über deren Lizenzierung Gedanken machen muss. Viele Softwarehersteller bieten dafür eigene Lizenzsysteme an.

Manche Hersteller wie zum Beispiel Apple verbieten die Virtualisierung ihrer Betriebssysteme auf fremder Hard- oder Software, obwohl es technisch durchaus möglich ist.

Ressourcen vs. Sicherheit

Golem Karrierewelt
  1. AZ-104 Microsoft Azure Administrator: virtueller Vier-Tage-Workshop
    19.-22.09.2022, virtuell
  2. Einführung in Unity: virtueller Ein-Tages-Workshop
    13.10.2022, Virtuell
Weitere IT-Trainings

Die Ausführung von Containern benötigt weniger Ressourcen als die Ausführung einer VM. Für Letztere wird ein Teil der Ressourcen des Hosts für die Virtualisierung der Hardware über den Hypervisor verwendet. Somit steht nicht die gesamte Hardware für die VM zur Verfügung. Ein Betriebssystem muss zusätzlich ausgeführt werden, was ebenfalls gewisse Ressourcen bindet.

VMs sind isolierte Systeme. Für Angreifer ist es nicht möglich, aus der VM auszubrechen und über den Host auf die anderen VMs zuzugreifen. Gelingt es Angreifern, aus einem Container auf den Kernel zuzugreifen, sind alle auf dem Host befindlichen Container betroffen.

Allerdings stellt der Hypervisor selbst einen zusätzlichen Angriffspunkt dar. Wie jede Software wird auch diese nicht fehlerfrei sein. Um nicht wie der Todesstern zu enden, sind zusätzliche Schutzmechanismen und Strategien erforderlich. Eine Wartung, um den Hypervisor mit Updates zu versorgen, ist oft mit einer Downtime verbunden und somit nicht einfach umzusetzen.

Wurde auf einer VM ein Dienst fehlerhaft konfiguriert, betrifft das nur die eine VM. Ein fehlerhafter Dienst oder Applikation in einem Container kann Auswirkungen wie das Öffnen der Bundeslade haben. Der gesamte Host und alle darauf befindlichen Dienste können in Mitleidenschaft gezogen werden.

Container sind grundsätzlich so konzipiert, dass Daten im Container nicht dauerhaft gespeichert werden. Sofern nicht anders definiert, sind die Daten nach einem Neustart oder einer neuen Bereitstellung weg. VMs verhalten sich wie Computer. Daten, die in einem Ordner abgelegt wurden, bleiben dort, bis sie gelöscht werden.

Bereitstellung erfolgt automatisiert

Container sind darauf hin optimiert, nicht gesichert zu werden. Tritt ein Problem auf, wird der Container zerstört und neu bereitgestellt. Daten, die für die Ausführung der Applikation benötigt werden, sollten außerhalb des Containers in einer Datenbank oder einem Verzeichnis liegen. Diese Daten können gesichert werden. Die Sicherung eines laufenden Containers ist nicht möglich.

Zusätzlich zur Sicherung der Daten einer VM kann auch die komplette VM gesichert werden. Hier wird von der laufenden VM inkl. Speicherabbild ein Snapshot erstellt und gesichert. Nach einem Restore befindet sich die VM im gleichen Status wie zum Zeitpunkt der Sicherung.

Skalierbare Container-Infrastrukturen: Das Handbuch für Admins & DevOps-Teams, inkl. Docker und Container-Orchestrierung mit Kubernetes und OpenShift

Sowohl bei Containern als auch VM kann die Bereitstellung automatisiert werden. Bei einem neuen Container beschränkt sich dieser Vorgang auf das Herunterladen des Images und Starten des Containers. Eine Automatisierung ist erheblich einfacher als bei einer VM.

Nach dem Erstellen einer neuen VM müssen meist noch ein Betriebssystem, Dienste und Applikationen installiert werden. Auch wenn mit System-Images gearbeitet wird, müssen meist mehrere Gigabyte an Daten kopiert werden. Die Bereitstellung einer neuen VM dauert erheblich länger.

Skalierbarkeit ist wichtig

Durch die schnelle Bereitstellung von Containern kann eine horizontale Skalierung (hinzufügen zusätzlicher Instanzen, scale out) einfach umgesetzt werden - vorausgesetzt, der Dienst unterstützt dies. Abhängig von verschiedenen Kennzahlen (etwa Auslastung des Hosts) und Limits (etwa benötigte Ressourcen des Containers) können weitere Instanzen gestartet oder gestoppt werden - vergleichbar mit einem Geschwader T-65 X-Wing.

Da bei Cloudapplikationen häufig die tatsächlich genutzten Ressourcen verrechnet werden, können die Kosten dadurch so gering wie möglich gehalten werden.

Die Bereitstellung einer VM nimmt mehr Zeit in Anspruch. Deshalb wird meistens eine vertikale Skalierung (zusätzliche Ressourcen, scale up) umgesetzt. Das bedeutet, wenn eine Applikation zu langsam ist, werden zusätzliche Ressourcen wie CPU oder RAM zur Verfügung gestellt. Was einem Upgrade einer Dreadnought auf die Executor-Klasse entspräche.

Viele Hypervisors unterstützen das dynamische Hinzufügen von Ressourcen zur Laufzeit einer VM. Um diese im Betriebssystem nutzen zu können, ist oft ein Neustart erforderlich.

Und was ist besser?

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Container bilden nur das Betriebssystem abContainer oder VM - was denn jetzt? 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6.  


Dark Harry 27. Jul 2022 / Themenstart

Der Vergleich im Artikel ist total daneben. Minions vs Mad Max kommt wohl eher hin.

win.ini 27. Jul 2022 / Themenstart

Vielen Dank für die Antwort! Also ist es prinzipiell alles möglich - manchmal muss jedoch...

qupfer 23. Jul 2022 / Themenstart

Das würde ich nicht so sagen. Das trifft auf die durch docker bekannt gewordenen...

LH 23. Jul 2022 / Themenstart

Was soll an der Überprüfung von Software in einer VM ein Problem sein? Und kleine VMs...

Kommentieren



Aktuell auf der Startseite von Golem.de
Galaxy-Z-Serie im Hands-on
Samsungs Fold 4 und Flip 4 mit Top-SoCs und tollen Displays

Samsungs neue Falt-Smartphones sehen ihren Vorgängern sehr ähnlich - technisch gibt es aber einige praktische Neuerungen.
Ein Hands-on von Tobias Költzsch

Galaxy-Z-Serie im Hands-on: Samsungs Fold 4 und Flip 4 mit Top-SoCs und tollen Displays
Artikel
  1. Berlin: Senat legt Beschwerde gegen Carsharing-Urteil ein
    Berlin
    Senat legt Beschwerde gegen Carsharing-Urteil ein

    Der Berliner Senat will den Carsharing-Anbietern weiterhin höhere Auflagen erteilen. Es gehe um "mehr Ordnung im System".

  2. Reparatur von Elektroauto-Akkus: Wie eine Operation am offenen Herzen
    Reparatur von Elektroauto-Akkus
    Wie eine Operation am offenen Herzen

    Eine defekte Zelle ist noch lange kein Grund für einen Wechsel des Akkus. Doch wie gehen Hersteller mit defekten Batterien von Elektroautos um?
    Ein Bericht von Dirk Kunde

  3. Datenschutz bei Whatsapp etc.: Was bei Messengerdiensten zu beachten ist
    Datenschutz bei Whatsapp etc.
    Was bei Messengerdiensten zu beachten ist

    Datenschutz für Sysadmins In einer zehnteiligen Serie behandelt Golem.de die wichtigsten Themen, die Sysadmins beim Datenschutz beachten müssen. Teil 1: Whatsapp & Co.
    Eine Anleitung von Friedhelm Greis

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Günstig wie nie: Samsung SSD 2TB Heatsink (PS5) 219,99€ • Grafikkarten zu Tiefpreisen (Gigabyte RTX 3080 Ti 1.089€, Gigabyte RTX 3080 12GB 859€) • MSI-Sale: Gaming-Laptops/PCs bis -30% • Sharkoon PC-Gehäuse -53% • Philips Hue -46% • Der beste Gaming-PC für 2.000€ [Werbung]
    •  /