Linux Container: Abgrenzung zu Virtualisierungslösungen und Docker

München, Starnberg, 5. Okt. 2016 – Red Hat kommentiert diverse Fehleinschätzungen rund um die Themen Linux-Container und Docker…

Zum Hintergrund: Nicht mehr völlig neu, aber immer noch mit zahlreichen Unklarheiten verbunden ist das Thema Linux-Container. Red Hat zeigt im folgenden Text die gängigen Einschätzungen auf und überprüft sie auf ihren Wahrheitsgehalt. Es ist kein Geheimnis, dass Container zu den wichtigsten neueren IT-Trends zählen. Um eine sinnvolle Nutzung sicherzustellen, ist es aber erforderlich, die Stärken und Grenzen zu kennen – gerade auch hinsichtlich der Abgrenzung zu Virtualisierungslösungen. Vielfach herrschen hier auf Anwenderseite noch unklare Vorstellungen. Nachfolgend die laut Red Hat sechs gängigsten, aber nicht korrekten Einschätzungen im Markt:

1. Container sind neu

  • Prinzipiell ist das Container-Konzept nichts Neues. Technisch betrachtet läuft ein Linux-Container isoliert in einer einzelnen Instanz des gemeinsam genutzten Host-Betriebssystems. Ähnliche Ansätze gibt es auch bei Unix Chroot, FreeBSD Jail oder Solaris Zone, der von Sun Microsystems bereits 2005 als Teil von Solaris 10 eingeführten Betriebssystem-Virtualisierung für x86- und SPARC-Systeme.

  • Nicht zu vergessen ist, dass viele der mit Linux-Containern verbundenen Technologien wie Namespaces oder cgroups auch die Basis etlicher Platform-as-a-Service-Angebote der ersten Generation waren. Neu ist nur, dass Linux-Container-Technologien heute für eine große Bandbreite von Applikationen genutzt werden können: von Cloud-nativen Microservices bis zu vorhandenen Legacy-Systemen.

2. Container sind in sich abgeschlossene Entitäten

  • Trotz ihres Namens sind Container nicht komplett in sich geschlossene Einheiten. Jedes Container-Gastsystem nutzt dasselbe Host-Betriebssystem und dessen Services. Das reduziert zwar den Overhead und verbessert die Performance, kann aber andererseits auch potenzielle Herausforderungen hinsichtlich Sicherheit oder Interoperabilität mit sich bringen.

3. Container ersetzen Virtualisierung

  • Container werden Virtualisierungslösungen keineswegs komplett ersetzen beziehungsweise überflüssig machen, da sie sich für verschiedene Anwendungsszenarien eignen. Container-Lösungen bieten sich für Infrastrukturen an, in denen eine große Zahl von Applikationsinstanzen parallel beispielsweise auf Clustern oder in Private-, Public- oder Open-Hybrid-Cloud-Umgebungen betrieben wird und die Applikationen häufigen Updates und funktionalen Erweiterungen unterliegen. Auch bei Applikationen, die aus Komponenten bestehen und einer Microservices-Architektur folgen, bieten Container eine effiziente Möglichkeit, Lösungen ohne den bei traditionellen virtuellen Maschinen üblichen Overhead zu implementieren.

  • Für andere Anwendungsfelder ist die Virtualisierung mit Hypervisoren nach wie vor die geeignete Lösung. Das gilt vor allem, wenn in IT-Umgebungen eine Betriebssystemunabhängigkeit gefordert ist und heterogene Welten mit unterschiedlichen Windows-Versionen und Linux unterstützt werden müssen. Schwerpunktmäßig wird die Virtualisierung weiterhin im Bereich traditioneller Applikationen genutzt werden, die nur in längeren Zyklen von mehreren Monaten geändert werden.

4. Container sind universell portabel

  • Zunächst ist zu berücksichtigen, dass Container nicht unabhängig betrieben werden können, sondern nur in Abhängigkeit vom Host-Betriebssystem-Kernel und den damit verbundenen Services. Um eine vollständige Portabilität über physische Hardware, Hypervisoren, Private Clouds und Public Clouds hinweg gewährleisten zu können, muss eine integrierte Plattform für die Applikationsbereitstellung vorhanden sein, die auf offenen Standards basiert.

5. Container sind prinzipiell sicher

  • Es gibt zahlreiche Gründe für den Container-Einsatz im Unternehmen, aber dabei müssen immer auch die mit der Technologie verbundenen Risiken Berücksichtigung finden. Bei zwei physischen Maschinen ist es möglich, diese vom Netzwerk zu isolieren; fällt eine aus oder wird sie mit einem Virus infiziert, bleibt das andere System geschützt. In einer containerisierten Umgebung hingegen wird der Betriebssystem-Kernel auf dem Host-System von allen Containern genutzt. Die damit einhergehenden Sicherheitsrisiken liegen auf der Hand. Deshalb müssen auf jeden Fall Technologien wie SELinux als zusätzlicher Layer für die Policy- und Zugriffsüberwachung genutzt werden. Auch Container-Scanner wie OpenSCAP oder Black Duck zur einfachen Überprüfung von Container-Inhalten empfehlen sich.

6. Container heißt Docker

  • Vielfach wird die Container-Technologie mit Docker gleichgesetzt. Das greift aber eindeutig zu kurz. Das Docker-Format hat sich zwar inzwischen als der De-facto-Standard bei Linux-Containern im Markt weitgehend durchgesetzt, aber die Docker-Nutzung erfordert deutlich mehr, gerade im Hinblick auf Aspekte wie Sicherheit, Orchestrierung oder Management. Und hier sind dann zusätzliche Lösungen wie SELinux, Kubernetes oder Red Hat CloudForms unverzichtbar.


Zitat: "Hinsichtlich der vielfältigen Einsatzmöglichkeiten von Containern herrscht auf Unternehmensseite oft noch Unsicherheit. Die Entwicklung im Linux-Container-Bereich ist inzwischen derart weit fortgeschritten, dass nahezu jede Unternehmensanforderung abgedeckt werden kann, sowohl bei der Modernisierung vorhandener Infrastrukturen als auch bei der Umsetzung von Innovationen", erklärt Lars Herrmann, General Manager Integrated Solutions und Container Strategy bei Red Hat. "Das heute auch von Red Hat verfügbare Angebot reicht von kostenlosen Entwicklungstools bis zu umfassenden Container-Plattformen mit Platform-as-a-Service- und Container-as-a-Service-Unterstützung."


Abb. 1: Bildquelle Red Hat, Was sind Container?