Zdenk Kluka - stock.adobe.com

Container oder VMs: Welche Technologie eignet sich besser für die Cloud?

Beim Aufbau von Cloud-Umgebungen stehen Admins vor der Wahl zwischen Containern oder VMs. Beide Ansätze haben ihre Vor- und Nachteile.

Die überwiegende Mehrheit heutiger Cloud-Deployments setzt auf virtuelle Maschinen (VMs). Es wird aber immer deutlicher, dass die Container-Virtualisierung eine Menge signifikanter Vorteile aufweist. Bevor man allerdings einer Technologie den Vorzug gibt, sollte man die Unterschiede zwischen Containern und VMs kennen.

Die große Frage lautet dabei, ob VMs oder Container die strategisch bessere Wahl für Public, Private oder Hybrid Cloud sind.

Die Antwort auf diese Frage hängt von drei wesentlichen Faktoren ab: den funktionalen Unterschieden zwischen Containern und VMs, dem Grad der gegenseitigen Abhängigkeit zwischen Private- und Public-Cloud-Komponenten und der Bereitschaft zur Anpassung der eigenen Cloud-Plattform.

Die Unterschiede zwischen Containern und VMs

Virtuelle Maschinen und Container stellen zwei unterschiedliche Wege dar, virtuelle Ressourcen bereitzustellen, auf denen Anwendungen gehostet werden. Bei VMs sorgt ein spezielles Softwaresystem – der Hypervisor – für die Partitionierung des Servers unterhalb der Ebene des Betriebssystems und erzeugt somit virtuelle Maschinen, die ausschließlich die physische Hardware miteinander teilen. Bei Containern erfolgt die Virtualisierung auf der Ebene des Betriebssystems, wodurch sich Anwendungen das Betriebssystem und einige Middleware-Komponenten teilen.

In punkto Funktionsvielfalt sind virtuelle Maschinen flexibler, da die Gastumgebung, in dem die Anwendungen ablaufen, einem Bare-Metal-Server sehr ähnlich ist. Betriebssystem und Middleware können bei VMs frei gewählt werden, und dies unabhängig davon, welche Wahl hierzu für andere VMs getroffen wurde. Bei Containern hingegen gilt die Wahl von Betriebssystem und Middleware für alle darauf gehosteten Anwendungen, da sich mehrere Container die gleiche grundlegende Serverplattform teilen.

Große Konzerne mit einer Vielzahl von Plattformen für ihre Anwendungen kommen mit Containern möglicherweise in Bedrängnis, da die erforderliche Standardisierung auf eine einzige Plattform dem im Wege steht. Und selbst wenn alle Anwendungen auf einem einzigen Betriebssystem laufen, so müssen Sie möglicherweise noch einige oder alle Komponenten der Middleware harmonisieren. Auch das kann bei Software, die spezifische Versionen anfordert, sehr problematisch werden.

Für Container spricht wiederum, dass diese weniger Management-Aufwand verursachen, da sie nicht für jede Anwendung und Komponente die gesamte Software für die Plattform duplizieren müssen. Dieser geringere Overhead ermöglicht eine höhere Anzahl von Anwendungen pro Server, als dies bei virtuellen Maschinen der Fall wäre. Zusätzlich sind Deployment und erneutes Deployment von Anwendungen und Komponenten bei der Nutzung von Containern schneller.

Weil Container normalerweise über Verwaltungsplattformen wie Docker bereitgestellt werden, lassen sich auf Containern basierende Clouds ebenfalls einfacher betreiben als Clouds auf Basis virtueller Maschinen, bei denen die Verwaltungswerkzeuge heterogener sind.

Container oder VMs für Public, Private oder Hybrid Cloud

Den größten Nutzen aus Containern ziehen Anwender in Private-Cloud-Umgebungen. Auch für Unternehmen mit standardisierten Betriebssystemen und Middleware bilden auf Container basierende Clouds in aller Regel die bessere Strategie. Bei Public und Hybrid Clouds hingegen sind Container oftmals problematischer, während sich meist virtuelle Maschinen als der überlegene Ansatz erweisen.

Ein Beispiel: Konzerne mit Container-Umgebungen stehen mitunter vor der Herausforderung, dass Container Hosting Services in der Public Cloud schwieriger zu finden sind als VM Services. Natürlich gibt es IaaS-Provider (Infrastructure as a Service) wie Amazon Web Services, die Container Services anbieten.

Diese Dienste sind aber in der Regel ein Aufsatz auf den IaaS-Dienst und mitunter sogar nur für solche Kunden verfügbar, die dedizierte oder geclusterte Hosting-Optionen wahrnehmen. Für VMs spricht dabei auch, dass jeder Anwender diese problemlos über den IaaS-Dienst einer Public Cloud bereitstellen kann, während dies mit Containern in Bezug auf Setup und Betrieb komplizierter ist – insbesondere, weil auch das Container-Networking in einer Public Cloud meist schwieriger zu bewerkstelligen ist.

Das Problem der Bereitstellung und Verwaltung von Containern in Public Clouds kann auch die Bereitstellung von Containern in Hybrid Clouds verkomplizieren. Erstens sehen die Best Practices für das Container-Deployment einer Anwendung zur Vereinfachung der Netzwerkverbindung vor, dass sämtliche Komponenten mit gehostet werden sollten. Dies erschwert es allerdings, Cloud Bursting zu verwalten oder Failover-Szenarien an Public-Cloud-Ressourcen weiterzureichen. Beide Szenarien gehören zu den gängigsten Gründen für den Schritt in die (Hybrid) Cloud.

Zweitens stellen sämtliche Unterschiede in Middleware oder Betriebssystem auf Anwendungsebene eine Einschränkung für das Container Deployment in der Cloud dar, wenn die Cloud Container Plattform inkompatibel ist. Das bedeutet, dass die Hybridisierung womöglich nicht für alle Anwendungen gleich gewährleistet ist.

Hybrid Clouds, die auf Containern basieren, sind einfacher aufzusetzen und zu betreiben, wenn die Distribution der Komponenten in der Cloud gegenüber dem Rechenzentrum eher konstant ist. Oder auch, wenn solche Komponenten sehr strukturiert in die Cloud ausgelagert werden, zum Beispiel von einer spezifischen Anzahl an Servern im Rechenzentrum auf eine spezifische Anzahl von Servern in der Cloud.

Dies vereinfacht das Netzwerkdesign und die Integration der hybriden Umgebung und vermindert Fehlermöglichkeiten im Konfigurationsbereich. Bei VMs hingegen ist es grundsätzlich einfacher, Anwendungen und Komponenten aus dem Rechenzentrum in die Cloud zu übertragen und hierfür die standardisierten Tools und Integrationsmöglichkeiten zu nutzen.

Der Schritt in die Welt der Container

Private-Cloud-Umgebungen eignen sich am besten, um sich mit der Container-Technologie vertraut zu machen, bevor es im nächsten Schritt in die Public Cloud geht. Das Wissen um die Funktionalität von Containern und um die Notwendigkeiten für die Aufrechterhaltung ihres Betriebs wird den Zugang zu den richtigen Vorgehensweisen, Tools und Anbietern deutlich erleichtern. Verwaltungswerkzeuge für Container wie Docker oder Cloud Foundry erleichtern den Betrieb von Container-Umgebungen enorm. Hierfür empfehlen sich Tests in der eigenen Umgebung, um das richtige Toolset für die eigenen Bedürfnisse zu finden.

Auf lange Sicht werden sicher auch Verwaltungswerkzeuge für Cloud-basierte Container-Deployments an Reife gewinnen. Schon während diese Tools entwickelt werden, dürften sich die Betriebsunterschiede von Containern und virtuellen Maschinen deutlich reduzieren, so dass am Ende die Aspekte Sicherheit und Compliance im Vordergrund bleiben werden.

Wer heute eine Wahl treffen muss, der sollte sicherstellen, dass Container ein ausreichendes Maß an Isolierung der Anwendungen in der Cloud gewährleisten können. Die Unterschiede zwischen virtuellen Maschinen und Containern bei Sicherheit und Compliance werden auch in absehbarer Zukunft die wesentlichen Kriterien bei der Auswahl bleiben.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Vergleich der drei größten Container-Services in der Cloud

Bare-Metal oder VMs als Container-Host?

Probleme bei der App-Portabilität in Container-Umgebungen

Artikel wurde zuletzt im August 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Private-Cloud-Infrastruktur

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close