Container versus Virtualisierung

Hypervisor-basierte Container - das Beste aus zwei Welten?

04.07.2017 von Björn Böttcher
Mit Hypervisor-basierten Containern lassen sich die Vorteile der klassischen Virtualisierung mit denen von Container-Techniken verbinden.

Hybrid- und Multi-Cloud-Szenarien treiben die Container-Entwicklung voran. Die Abstraktionsebene, auf der Container angesiedelt sind, eröffnet vielen Unternehmen eine effiziente Methode, einschlägige Cloud-Strategien zu realisieren. Auf Containern basierende Applikationslandschaften verringern das Risiko, vom Produktportfolio eines Herstellers abhängig zu werden.

Container-Techniken und klassische Virtualisierung via Hypervisor müssen keine Gegensätze sein.
Foto: SasinTipchai - shutterstock.com

Die Entwicklung von Cloud-nativen Applikationen mittels Microservice-Architekturen bietet eine Reihe von Vorteilen:

Lesen Sie dazu auch:

Sechs Trends für Ihre Cloud-Strategie

Durch den zusätzlichen Druck der Digitalisierung geraten gerade Container-Technologien immer mehr in den Fokus vieler Unternehmen und Hersteller. Die Tastaturen der Entwickler glühen und der Einzug in immer mehr Unternehmensbereiche macht dies deutlich. Über die Hälfte der Firmen, die Container nutzen, haben bereits die Planungsphase abgeschlossen und neben Prototypen bereits erste Workloads und produktive Systeme im Einsatz. Weiterhin wird die Lösung von 90 Prozent der Entscheider, denen die Technologie bekannt ist, als strategisch wichtig eingestuft und als kommender Standard prognostiziert.

Hypervisor-basierte Container - wozu?

Mit Containern gehen indes viele Vorteile verloren, die Unternehmen mit virtuellen Maschinen genießen. Auch im Umfeld der Virtualisierung gab es Technologien, die verschiedene Bedürfnisse beim Betrieb von Servern auf Hardware adressierten. Durch die Virtualisierung erlangte man unter anderem:

Dabei sind unterschiedliche Typen von Virtualisierung zur Anwendung gekommen. Generell unterscheidet man zwischen Typ I und Typ II Virtualisierungen auf der Hypervisor-Ebene. Der Hypervisor oder auch Virtual Machine Monitor (VMM) sitzt dabei entweder direkt auf der Hardware oder auf dem Betriebssystem. Zu den erstgenannten gehören Produkte wie ESX von VMware oder auch XEN. Zu den letztgenannten zählen Virtualbox, Windows Virtual PC oder auch VMware Workstation.

Schichtenmodell von Virtualisierungsmethoden
Foto: Crisp Research AG 2017

Um die Vorteile der Hypervisor-Technologie mit den Vorteilen der Container-Technologie zu verschmelzen, sind momentan einige Projekte und Produkte auf den Weg gebracht worden. Einige sind bereits reif für den produktiven Einsatz. Hypervisor-basierte Container sollen die Sicherheitsrichtlinien abbilden können, die von Arbeitsabläufen benötigt werden. Ferner sollen Ressourcen explizit den Containern zugewiesen werden können. Gesteuert wird diese neue Art der Container über klassische Verwaltungswerkzeuge von Administratoren oder durch REST-Schnittstellen, entweder lokal oder per HTTPS über das Netzwerk.

Wer entwickelt Produkte in diesem Bereich?

Wer entwickelt nun Hypervisor-basierte Technologien mit den Einflüssen von Container-Paradigmen? Sicherlich die Hersteller aus dem Umfeld der Virtualisierung, der Hardwareentwicklung und der Welt der Betriebssysteme. Dazu gehören unter anderem:

Ziel ist es, die Virtualisierungstechnologien aus dem eigenen Hause oder aus Open-Source-Projekten soweit anzupassen, dass die hardwareseitige Unterstützung möglichst optimal genutzt werden kann. Zu Zeiten, in denen die Virtualisierungstechnologie entstanden ist, also in den 40er Jahren, stellte man sich die Frage, wie man viele Betriebssysteme / Server auf einer Hardware nutzen kann. Heute sollte die Frage bei der Entwicklung von Virtualisierungstechnologien eher auf den Einsatzbereich von Cloud-nativen Applikationen zielen. Die Ausführung von möglichst vielen dieser Anwendungen in einem sicheren Kontext auf einer Hardware-Plattform ist das neue große Ziel.

Zu beachten ist dabei, dass durch das Hinzufügen von Hypervisor-Ansätzen zu Container-Technologien oder umgekehrt auch ein größerer Ressourcenbedarf für einen Container besteht. Zusätzlich und vermutlich kritischer ist die Tatsache, dass die Public-Cloud-Anbieter noch keinen Support für diese Art der Container-Technologie anbieten. Eine Nutzung ist also vorerst auf den On-Premise Bereich limitiert, da hier ein entsprechender Hardware-Support von den Anbietern benötigt wird.

Diese drei Handlungsempfehlungen sollten IT-Verantwortliche berücksichtigen:

1) Container-Technologien inklusive Ökosystem evaluieren

Mit Containern zu starten, ist leicht. Schließlich sollen sie die Komplexität reduzieren und Portierbarkeit ermöglichen. Doch nach den ersten Hürden tauchen schnell weitere Fallstricke im Betrieb auf. Entscheider sollten sich bei der Auswahl der Komponenten aus dem Ökosystem rund um die Container-Technologie genauestens mit den Anbietern und Produkten auseinandersetzen. Es tummeln sich viele Fische im Teich und die Wahl des richtigen will wohl überlegt sein. Oftmals stecken auch mehrere Hersteller und Investoren mit unterschiedlichen strategischen Interessen hinter den Tools und Lösungen.

2) Developer müssen die Flexibilität und Einfachheit behalten und Sicherheit hinzubekommen

Die Entwicklung im Ökosystem ist aus unterschiedlichen Perspektiven und Motiven gut für die Entstehung von produktionsreifen Systemen. Doch die Entwickler müssen innerhalb des Cloud-nativen Ansatzes weiterhin die Kontrolle über die Flexibilität und Portierbarkeit der Applikation behalten. Die Entwicklung der Container-Technologie muss den Level der Abstraktion aufrechterhalten und dabei die größtmögliche Sicherheit und Kontrolle über die Konfigurierbarkeit für die Administratoren / Ops-Teams hinzufügen. Nur so können global skalierende, sichere Anwendungen bereitgestellt werden, die den Entwicklern die Lust am Entwickeln nicht nehmen.

3) Operations und Automation: die Komplexität beherrschen

Unterschätzten Sie nicht die steigende Komplexität in Ihrem Rechenzentrum oder Ihrer Cloud-Strategie. Die zunehmende Anzahl von Lösungen und die Heterogenität, gerade bei existierenden Legacy-Applikationen, sollte nicht auf die leichte Schulter genommen werden. Selbst Start-ups haben bei den vielen Möglichkeiten des Betriebs von Containern bereits einige Mühe, alle Anwendungen auf demselben Stack zu halten. Planen Sie daher sorgfältig und legen Sie klare Entscheidungsrichtlinien für den Betrieb, bestehende Applikations-Lebenszyklen und für die Neuentwicklung fest.