Gegenüberstellung

Wir wollen also mit einem Vergleich von Virtualisierung mit Hypervisor und Containertechnik beginnen und betrachten hier zunächst die Architekturen und versuchen eine technische Zusammenfassung.

  • Hypervisor (VMM) basierte Virtualisierung

    Jede virtuelle Maschine (VM) enthält ein eigenes Betriebssystem, Anwendungen und Abhängigkeiten. Der Hypervisor abstrahiert die Hardware und ermöglicht die Ausführung mehrerer VMs auf einem physischen Server

    Virtualisierung ist für Anwendungen mit hohen Sicherheitsanforderungen oder unterschiedlichen Betriebssystemen geeignet. Die vollständige Isolation schützt vor Ausfällen anderer VMs, benötigt aber deutlich mehr Ressourcen.

  • Container

    Die Container teilen sich den Kernel des Host-Betriebssystems und verpacken nur Anwendungen mit ihren Abhängigkeiten. Sie nutzen eine Container-Engine zur Koordination mit dem Host-Betriebssystem.

    Container sind für agile Entwicklung oder auch schnelle Bereitstellung und Cloud-Umgebungen optimiert. Durch die gemeinsame Kernel-Nutzung sind sie ressourceneffizienter, jedoch anfälliger bei Kernel-Problemen und können auch hinsichtlich Security eine Herausforderung darstellen.

Versuchen wir auch noch die Eigenschaften (Vor- und Nachteile) gegenüberzustellen. Das ist allerdings auch immer sehr abhängig von der eigenen IT-Infrastruktur und den Anforderungen, Wünschen oder auch Kosten.

Infofern soll die folgende Tabelle nur eine Annäherung an die Techniken darstellen.

Eigenschaften (Vor- und Nachteile) - Virtualisierung vs. Container

Kriterium

Virtualisierung

Container

Ressourcenverbrauch

deutlich höher - im GB-Bereich pro VM, eigenes OS notwendig!

viel geringer - im MB-Bereich, geteilter Kernel

Isolation & Sicherheit

jvollständige Isolation durch eigenes vollständiges Betriebssystem

Teilisolierung - Risiko bei Kernel-Schwachstellen

Portabilität

begrenzt - abhängig vom Betriebssystem der VM)

hoch - konsistent über diverse Container-Umgebungen hinweg

Startzeit

langsam - komplette OS-Initialisierung erforderlich

sehr schnell im Sekundenbereich - kein OS-Overhead

Skalierbarkeit

komplex - ressourcenintensiv

einfach und schnell - durch geringe Größe und optimierte Tools und Umgebungen

Kosten

hoch - Betriebssystem-Lizenzen, Hardware

geringer - weniger Lizenzen, effizientere Nutzung

Anwendungsfälle

Legacy-Anwendungen (z.B. alte SW lauffähig halten) - Multi-OS-Umgebungen (Linux nutzen - Windows per VM für das Büro

Standardservices deployen, Microservices, CI/CD-Pipelines, Cloud-native Apps, Homelab, …

Aber wie gesagt: das soll nur den Versuch einer Annäherung darstellen, da die individuellen Anforderungen und Rahmenbedingungen unterschiedliche Gewichtungen erzeugen.