Virtuelle Maschinen (VM) und Container adressieren jeweils eigene Herausforderungen, vor denen Unternehmen stehen. Deshalb haben beide Technologien nicht nur ihre Daseinsberechtigung, sondern ergänzen sich in bestimmten Anwendungsszenarien sogar, meint in einem Kommentar Daniel Tiefenbacher, Manager Solutions Engineering bei NetApp.
Beim Verschieben von Workloads in die Cloud setzten jeweils 28 Prozent der Unternehmen auf Technologien zur Virtualisierung oder Migrations-Tools, hat IDC in seiner Cloud-Studie 2020 für die DACH-Region ermittelt. Die Cloud-nativen Container (23 Prozent) sowie ergänzende Orchestrierungswerkzeuge (22 Prozent) folgen dahinter, um den Schritt in die Cloud zu vollziehen. Aus dieser Bestandsaufnahme lesen die IDC-Analysten heraus, dass die Container-Adaption weiterhin schnell vorangeht. Demnach entwickeln sechs Prozent der befragten Unternehmen gezielt Container-kompatible Anwendungen. 13 Prozent der Studienteilnehmer nutzen Container in der Softwareentwicklung (DevOps), um automatisiert und überwacht Apps bereitzustellen (CI/CD). Ein weiteres Drittel verwendet die Technologie ergänzend in bereits virtualisierter Infrastruktur auf bestehenden Hypervisoren. Dort, wo der Hypervisor dann seine Funktion für virtuelle Maschinen (VM) nicht mehr erfüllt, rechnet IDC mit dem Wechsel auf eine Container-native Umgebung.
Die voranschreitende Containerisierung steht jedoch nicht in Konkurrenz mit der Virtualisierung. Denn wir beobachten bei NetApp den Trend, dass die beiden Welten ein Stück weit verschmelzen: Zum einen versuchen Unternehmen, Container in die Virtualisierung von Servern einzubinden. Zum anderen lassen sich mit Kubernetes, dem Standard-Tool für das Orchestrieren von Container-Umgebungen, auch VM steuern.
Womit die Technologien jeweils punkten
So wirkt das VM-Prinzip weiter, bei der eine Software von der Hardware abstrahiert wird, über ein eigenes Betriebssystem verfügt und die eigene Anwendung mit Ressourcen versorgt. Die Virtualisierung macht uns unabhängiger von der Hardware. Sie gibt uns die Flexibilität, Hardware effizienter auszureizen. Ohne das Wissen, ob ein Workload mehr CPU oder RAM benötigt, lassen sich kaum die passenden Hardware-Kapazitäten bereitstellen. VM bieten die Flexibilität, verschiedene Kubernetes-Cluster auf derselben Hardware zu betreiben und ihnen Hardware-unabhängig die benötigten Ressourcen zuzuteilen.
Genauso richtig ist, dass neue Anwendungsarchitekturen keine ganze Maschine, sondern mehrere Container benötigen. Diese bilden Software-technisch eine Laufzeitumgebung für eine App. Das ist ideal für Softwareentwickler, weil sie so ihre Anwendung in Microservices zerlegen und mit ihnen schrittweise sowie schneller den Quellcode für eine Anwendung kompilieren können. Im weiteren Vergleich zur Servervirtualisierung befreien uns Container von Abhängigkeiten wie beispielsweise dem Betriebssystem, Frameworks oder Java-Versionen.
Beide Technologien lösen unterschiedliche Probleme, weshalb sie sich ergänzen, zusammen oder nacheinander zum Einsatz kommen. Eine gängige Kombination ist, auf einem Bare-Metal-Server mehrere VM zu betreiben, während in einer von diesen ein Container läuft. In der Praxis verbreitet ist zudem, eine Testumgebung auf Containerbasis aufzubauen. Geht die App in den Produktivbetrieb, wird sie über eine VM bereitgestellt, weil diese stärker isoliert und sicherer ist.
Container-Auftrag an IT-Teams und das Cloud-Argument
Container haben sich zum Standard bei Cloud-nativen DevOps-Teams entwickelt. In der klassischen Unternehmens-IT kommen sie jedoch erst langsam an. Die IT-Abteilungen müssen sich jetzt darauf vorbereiten, den Schritt zu Container-Umgebungen in den nächsten Jahren zu vollziehen. Dafür sprechen zwei Gründe: So ist langfristig damit zu rechnen, dass Container den Großteil der Anwendungen abdecken werden. Die Technologie bringt viele Vorteile, bedeuten jedoch auch Komplexität. Unternehmen stehen deshalb vor einer steilen Lernkurve, die Zeit beansprucht. Beispielsweise hat die Virtualisierung von Servern etwa acht bis zehn Jahren gedauert.
Als zweites Argument kommen Hybrid- und Multiclouds ins Spiel, wohin Container den Weg ebnen. Mit Kubernetes als Orchestrierungslösung bilden Container eine gemeinsame Plattform, die sowohl On-Premises als auch in den Public Clouds der großen Hyperscaler verfügbar ist. An dieser Plattform können Unternehmen anknüpfen, um Applikationen unabhängig von ihrer Infrastruktur dorthin zu verlagern, wo sie benötigt werden. Die aufwendige Konvertierung der Anwendungen entfällt.
Spannende Zukunftsfragen
VM sterben nicht aus, aber die Containerisierung setzt sich rasant fort, wenn die IDC-Prognose eintritt. Diese besagt für 2023, dass weltweit die Hälfte aller Unternehmensapplikationen in Container-basierten Hybrid- oder Multiclouds bereitgestellt werden, um die Agilität und das Management von Anwendungen zu verbessern. Darüber hinaus zeichnet sich deutlich ab: Besonders zustandsorientierte Anwendungen, die Daten erheben, generieren, verarbeiten oder darauf zugreifen müssen, kommen stärker in der Container-Welt an. Diese Technologie wird mit der Virtualisierung verschmelzen. Die spannende Frage ist, ob eher Container in den Bereich der VM vordringen oder die Virtualisierung von Servern stärker auf Container-Plattformen übergreift. Zu erwarten ist daneben eine steigende Nachfrage nach flexiblen Betriebsoptionen für Container-Umgebungen. Diese verlangen nach flexibler Skalierung und Agilität über die Infrastrukturgrenzen hinweg, da sich datenintensive Anwendungen von Cloud zu Cloud bewegen und skalieren lassen müssen.