Comconsult-Kommentar zu Container versus VMs

Sterben Virtuelle Maschinen?

| Autor / Redakteur: Behrooz Moayeri* / Ulrike Ostler

Dr. Behrooz Moayeri hat viele Großprojekte mit dem Schwerpunkt standortübergreifende Kommunikation geleitet. Er gehört der Geschäftsleitung der Comconsult GmbH an und ist Leiter der Comconsult Akademie. Darüberhinaus betätigt sich als Berater, Autor und Seminarleiter.
Dr. Behrooz Moayeri hat viele Großprojekte mit dem Schwerpunkt standortübergreifende Kommunikation geleitet. Er gehört der Geschäftsleitung der Comconsult GmbH an und ist Leiter der Comconsult Akademie. Darüberhinaus betätigt sich als Berater, Autor und Seminarleiter. (Bild: Comconsult)

Virtuelle Maschinen (VMs) begleiten uns schon seit Jahrzehnten. In der heute üblichsten Form (auf x86-Basis) sind sie ungefähr 20 Jahre alt. Sie abstrahieren von der Hardware und stellen den Anwendungen (fast) alles zur Verfügung, was eine Applikation an Ressourcen braucht. Die neuesten Anwendungsarchitekturen brauchen aber keine ganze Maschine, sondern eine Anordnung von Containern. Sterben damit die VMs?

Ohne Virtualisierung mussten sich verschiedene Anwendungen entweder dieselbe Maschine teilen oder dedizierte Hardware nutzen. Verschiedene Anwendungen auf derselben Maschine bedeuten immer einen Koordinationsaufwand zwischen verschiedenen Applikationen oder ihren Verantwortlichen und mögliche unerwünschte Wechselwirkungen zwischen den Anwendungen. Deshalb gab es in den 1990er Jahren zunächst einen Trend zu dedizierter Hardware pro Applikation. Möglich wurde dieser Trend durch preisgünstige und kompakte x86-Server.

Wer braucht VMs?

Ich kann mich an eine Umgebung mit zirka 2.000 Servern in einer Firma mit weniger als 2.000 Mitarbeitern erinnern. Abhilfe schaffte die Servervirtualisierung. Damit konnte die Materialschlacht im Rechenzentrum eingedämmt werden.

Eine VM bietet den Vorteil, dass sie für eine Anwendung eine dedizierte Maschine nachbildet, aber mit vielen anderen VMs dieselbe Hardware teilen kann. Möglich wurde dies durch Moore’s Law, also der rasant steigenden Dichte von Transistoren und der damit einhergehenden Prozessorleistung. Von dem Trend profitierte vor allem die Firma VMware.

Neue Anwendungsarchitektur

Anwendungen wurden bis vor wenigen Jahren immer nur als monolithische Blöcke konzipiert. Ein Software Image von mehreren Gigabytes war keine Seltenheit. Auf derselben Maschine wurde alles installiert, was eine Anwendung braucht.

Meine Zeit als Programmierer liegt Jahrzehnte zurück, aber bis vor kurzem programmierte man so wie ich damals: Man konnte zwar modular programmieren, aber sämtliche Unterprogramme, Bibliotheken beispielsweise mussten auf derselben Maschine zur Verfügung stehen und eingebunden werden.

In den vergangenen Jahren hat sich daran etwas geändert. Man geht weg von monolithischen Anwendungen zur Microservice-Architektur. Anwendungsmodule – auch fertige, die man nicht selbst programmiert – findet man in einem Service Mesh. Dieser muss nicht auf dieselbe Maschine beschränkt sein. Als Laufzeitumgebung bieten sich kurzlebige Container, die irgendwo im Netz laufen. Diese müssen natürlich orchestriert werden. Dafür gibt es Werkzeuge wie Kubernetes.

Wie viele Abstraktionsschichten?

Wenn neue Anwendungen keine ganzen Maschinen mehr brauchen, sondern nur noch eine Anordnung von Containern, fragt man sich, ob man zusätzlich zu dieser neuen Abstraktionsschicht noch VMs braucht. In der Container-Architektur übernehmen so genannte Pods typische Funktionen einer VM wie zum Beispiel die Verwaltung von TCP-Ports.

Ein Pod ist von außen über eine IP-Adresse erreichbar. Über den Pod sind die darin verwalteten Container zu erreichen. Man kann eine Pod-Architektur ohne eine VM-Abstraktion direkt auf Hardware abbilden.

Container sind nicht alles

Aber Container sind nicht alles. Es gibt noch viele Anwendungen, die ganze Maschinen brauchen. Bis sie neu geschrieben sind, werden Jahre vergehen. Außerdem wird eine mandantenfähige Umgebung weiterhin mit VMs realisiert. Beispiel Cloud: Eine virtuelle Serverinstanz in der Cloud ist eine VM. Gleiches gilt für Mandantentrennung im eigenen Rechenzentrum.

Hinweis: Der Artikel ist zunächst alsComconsult-Blog-Post erschienen.

* Dr. Behrooz Moayeri ist Mitglied der Geschäftsleitung bei Comconsult und Leiter der Comconsult Akademie.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46327427 / News)