
Virtuelle Maschinen & Container: Alles, was du wissen musst
In der heutigen Informatik spielen virtuelle Maschinen und Container eine grosse Rolle. Virtuelle Maschinen ermöglichen es, mehrere Systeme auf einem Server oder in der Cloud zu betreiben.
Eine virtuelle Maschine (VM) kann als ein System verstanden werden, das auf einem herkömmlichen PC oder Server läuft und durch einen Hypervisor virtualisiert wird. Ähnlich wie ein physisches Gerät benötigt eine VM eine CPU, Arbeitsspeicher, eine Netzwerkschnittstelle und Speicherplatz. Der Hypervisor ist für diese Ressourcen verantwortlich und ermöglicht den Betrieb der VMs.
Auf diesem virtuellen System kann ein beliebiges Betriebssystem, wie beispielsweise ein Windows Server oder eine Linux-Distribution, installiert werden. Es gibt verschiedene Hypervisoren auf dem Markt, darunter bekannte wie Hyper-V von Microsoft und VMware.
Hyper-V ist ein Dienst, der auf einem Windows Server installiert werden kann. VMware hingegen ist ein eigenständiges Betriebssystem, das ausschliesslich als Hypervisor eingesetzt wird. Beide ermöglichen den Betrieb mehrerer virtueller Maschinen auf einem einzigen physischen Gerät.
Virtuelle Maschinen in der Cloud
Um virtuelle Maschinen zu erstellen, ist nicht zwingend ein eigener Server erforderlich. Immer mehr Unternehmen verlagern ihre IT-Systeme in die Cloud. Dies bedeutet, dass sie externe Ressourcen von einem Cloud-Anbieter mieten, auf denen ihre Systeme, einschliesslich virtueller Maschinen, betrieben werden. Bekannte Anbieter in diesem Bereich sind Azure von Microsoft, AWS von Amazon und Google Cloud. Alle diese Anbieter stellen hochverfügbare Cloud-Dienste bereit, einschliesslich der Bereitstellung von virtuellen Maschinen.
So könnte das in Azure ausschauen.
Container
Container sind eine Alternative zu herkömmlichen virtuellen Maschinen. Im Unterschied zu virtuellen Maschinen, bei denen die gesamte Hardware virtualisiert wird, erfolgt bei Containern lediglich die Virtualisierung des Betriebssystems. Das hat den Vorteil, dass sie deutlich weniger Ressourcen benötigen.
Ein Container umfasst alle notwendigen Bibliotheken, Abhängigkeiten und Konfigurationsdateien, die für den Betrieb einer Anwendung erforderlich sind. Dadurch werden Anwendungen portabel und konsistent, unabhängig von der Umgebung, in der sie ausgeführt werden. Das macht Container zu einer effizienten und flexiblen Lösung für die Bereitstellung von Anwendungen.
-
Docker
Docker ist eine Container-Technologie, die sich sehr einfach auf einem eigenen Server oder PC betreiben lässt, um Container auszuführen. Das ist besonders nützlich für das Testen oder Entwickeln von Anwendungen.Mit dem folgenden Befehl kannst du beispielsweise in Sekunden einen eigenen Webserver auf Port 80 erstellen, den du dann unter http://localhost aufrufen kannst:
docker run -d -p 80:80 --name mein-webserver nginx
Ein Docker-Container kann mit einem sogenannten Dockerfile und Docker Compose noch genauer an die eigenen Bedürfnisse angepasst werden. Diese Werkzeuge ermöglichen eine detaillierte Konfiguration des Containers, um eine optimale Umgebung für die jeweilige Anwendung zu schaffen. -
Kubernetes
Im Enterprise-Umfeld wird für Container häufig Kubernetes anstelle von Docker gewählt. Kubernetes ist ebenfalls eine Container-Technologie und wurde von Google entwickelt. Es ermöglicht das effiziente Management von Containern in einer produktiven Umgebung, einschliesslich Automatisierung, Skalierung und Lastenausgleich.
Kubernetes kannst du auch auf einem eigenen On-Premises-Server einrichten. Zusätzlich bieten Cloud-Anbieter direkt verwaltete Kubernetes-Dienste an. Diese ermöglichen es, Container relativ einfach zu betreiben und die Verantwortung für den Betrieb von Kubernetes an den Cloud-Anbieter abzugeben. Das bietet eine bequeme Möglichkeit, Container-Technologien in einer produktiven Umgebung zu nutzen, ohne sich um die Wartung und Verwaltung des zugrunde liegenden Systems kümmern zu müssen.