Provokant nachgefragt

Sind Container die besseren Clouds?

| Autor / Redakteur: Dr. Dietmar Müller / Florian Karlstetter

Container zur Anwendungsvirtualisierung halten immer mehr Einzug, auch in Cloud-Umgebungen. Allerdings sind sie mehr als sinnvolle Ergänzung als vollständiger Ersatz zu VMs zu sehen.
Container zur Anwendungsvirtualisierung halten immer mehr Einzug, auch in Cloud-Umgebungen. Allerdings sind sie mehr als sinnvolle Ergänzung als vollständiger Ersatz zu VMs zu sehen. ( © kamonrat - Fotolia.com)

Application Container waren im vergangenen Jahr der neuste Schrei in der IT-Szene, 2016 müssen sich Docker und Co beweisen. Sollten Sie als Cloud-Anwender sich in die Materie einarbeiten? Lohnt sich der Einsatz dieser „neuen“ Technologie? Kann sie möglicherweise sogar die Cloud ersetzen?

Seit das Open-Source-Projekt Docker im März 2013 von der Cloud-Entwicklungs-Plattform dotCloud veröffentlicht wurde, sorgt es zunehmend für Furore. Das Projekt versprach die IT genauso umzukrempeln, wie das die Virtualisierung vor einigen Jahren bereits getan hat.

In diesem Jahr müssen sich Container beweisen. Sind sie die besseren Clouds oder nur ein weiteres, vielleicht zu kompliziertes Verfahren, Anwendungen zu virtualisieren? Dass sowohl Microsoft als auch Red Hat und IBM sich an Docker beteiligt haben, lässt allerdings vermuten, dass es sich um eine vielversprechende Technologie handelt.

Was also sind Container und wofür kann man sie einsetzen? Nun, in allererster Linie sind sie dafür gedacht, Software verlässlich laufen zu lassen, nachdem sie von einer Umgebung in eine andere versetzt worden ist. Gerne schicken beispielsweise Entwickler ihren neusten Code von ihrem Rechner in eine Testumgebung. Von dort wandert er später in die Produktion. Natürlich könnte er auch von einem Rechenzentrum auf eine virtuelle Maschine (VM) in einer privaten oder öffentlichen Cloud verschoben werden.

Der Teufel steckt im Detail

Hört sich erstmal praktisch und einfach an, der Teufel steckt jedoch im Detail. Sollten die Betriebssystem- und Entwicklungsumgebungen vor und nach dem Verschieben nicht identisch sein, kommt es in der Regel zu nicht unerheblichen Problemen. Nutzt der Programmierer etwa Python 2.7, die Produktion jedoch Python 3, dann kann bei der Ausführung der Anwendung einiges schief gehen. Ähnlich verhält es sich, wenn zum Programmieren Suse zum Einsatz kam, die Produktion aber Red Hat nutzt. Das gilt übrigens auch für die genutzten Bibliotheken. Die Umgebung einer Anwendung in einem Container muss also zwingend identisch sein! Und bitte vergessen Sie dabei nicht die Netzwerktopologie, Sicherheitsbestimmungen und die genutzten Storage-Systeme. Kleinste Abweichungen können große Probleme nach sich ziehen.

Docker und Co. lösen das Problem dadurch, dass sie in den Container auch gleich die komplette Runtime-Umgebung mit hineinpacken, Die Applikation ist dann fest mit der Bibliothek und anderen Binär- und Konfigurationsdateien sowie Konfigurationsfunktionen verzurrt. Diese sogenannte Containerisierung der Applikationsplattform und ihrer Anhängsel macht die Unterschiede in den diversen Betriebssystemdistributionen unwichtig. Das alles kann auch mittels einfacher Virtualisierung erreicht werden.

Wieso also Container?

Nun, bei der Virtualisierung besteht das Paket aus einer Virtual Machine (VM) inklusive Betriebssystem und Applikation. Ein physikalischer Server mit drei virtuellen Maschinen würde über einen Hypervisor und darauf drei separate Betriebssysteme bestehen. Im Unterschied dazu läuft auf einem Server mit drei containerisierten Applikationen nur ein Betriebssystem, das sich alle drei Container teilen.

Das bedeutet, dass die von allen dreien genutzten Teile des Betriebssystems nur einmal gelesen werden müssen, wodurch Container deutlich weniger Ressourcen verbrauchen als VMs - wir sprechen von Megabytes bei Containern im Gegensatz zu Gigabytes bei VMs. Daher passen auf einen Server auch sehr viel mehr Container als auf eine VM. Ein weiterer großer Vorteil von Containern: Sie booten extrem schnell. Während VMs manchmal mehrere Minuten zum Hochfahren benötigen, stehen Apps im Container beinahe sofort zur Verfügung.

Warum haben sich Container noch nicht flächendeckend durchgesetzt?

Angesichts dieser Vorteile fragt man sich, warum Container die Virtualisierungsverfahren noch nicht komplett abgelöst haben. Der Grund ist einfach: Container sind nicht so sicher wie VMs, und zwar, weil eine potentielle Sicherheitslücke im Kernel Auswirkungen auf alle Container hat, die daran hängen. Damit offerieren Container grundsätzlich nicht denselben Level an Isolation, wie man das von der Hardware-Virtualisierung her gewohnt ist.

Abhilfe kann hier SELinux (Security-Enhanced Linux) schaffen. Die Erweiterung des Linux-Kernels setzt sich aus einem Kernel-Patch und diversen Erweiterungen für Systemprogramme zusammen. Das Red Hat-Projekt Fedora hat als erste Distribution SELinux-Unterstützung mitgeliefert, mittlerweile findet sie sich aber auch zum Beispiel in openSuse. Einigen Anwendern ist SELinux dennoch zu heiß, basiert die Erweiterung doch auf dem FLASK-Konzept des US-amerikanischen Geheimdienstes NSA. Überhaupt spielt die NSA bei der Entwicklung von SELinux eine große Rolle. Das findet nicht jeder CIO gut.

Das ist auch der Grund, wieso Container in nächster Zeit den VMs nicht den Gar ausmachen werden. Zudem tun sich die bestehenden Orchestrierungs-Tools mit einer großen Anzahl an Container schwer. Orchestrierungssoftware wie VMwares vCenter oder Microsofts System Center tun sich da in virtuellen Infrastrukturen viel leichter.

Mehr sinnvolle Ergänzung als Ersatz zu VMs

So sollte man denn auch Container eher als Ergänzung zu VMs sehen denn als Konkurrenz. Container können beispielsweise in leichtgewichtigen VMs laufen, wodurch sie eine weitere Isolationsschicht einbringen und die Sicherheit erhöhen. Auch muss die Hardware – also Netzwerke, Server und Storage - mittels Virtualisierung gemanagt werden. Container ändern daran nichts. Container können also gar kein vollwertiger Ersatz für Virtualisierung genutzt werden, sie setzen vielmehr – ganz ähnlich der Cloud – auf sie auf.

Weiter geht es mit den verschiedenen Spielarten von Containern

Docker und weitere Container-Alternativen

Docker kennt mittlerweile jeder - das Unternehmen hat offenkundig gutes Marketing betrieben. Container sind aber keine neue Erfindung: In Linux finden sie sich in Form von LXC bereits seit fast zehn Jahren. FreeBSD jails, AIX Workload Partitions sowie Solaris Container von Sun, heute Oracle, offerieren eine ähnliche Virtualisierung auf Betriebssystem-Ebene.

Und Docker hat mittlerweile viel Konkurrenz bekommen: Eine Alternative ist etwa „rkt“, ein Command Line-Tool für App Container von CoreOS. Ein großer Pluspunkt von rkt ist, dass es mit Docker-Containern genauso gut umgehen kann wie mit den eigenen. Insgesamt gesehen wendet sich rkt aber an eher kleinere Anwenderunternehmen, während Docker mittlerweile vorrangig Tools für Cloud-Server und für Systeme fürs Clustern entwickelt.

Auch zwei Open Source-Projekte sollen hier nicht unerwähnt bleiben: Docker Subscription for Enterprise ist eine gebündelte Lösung inklusive Docker Hub Enterprise, Docker Engine sowie einer kostenpflichtigen Support-Unterstützung. Bei CoreOS Tectonic handelt es sich um einen integrierten Stack voll mit Software von CoreOS plus einer Managementkonsole für Workflow und Dashboards, einem Register für den Bau und das Teilen von Container, zusätzliche Tools für die automatisierte Verteilung und für Updates sowie Googles Container Management Plattform Kubernetes.

Welche Betriebssystemumgebung empfiehlt sich für Container?

Eine ganze Reihe von Linux-Distributionen hat sich ganz auf Container spezialisiert, so etwa CoreOS, Red Hats Project Atomic, Canonicals Snappy Ubuntu sowie VMwares Project Photon. Diese sind dadurch allerdings vergleichsweise aufgeblasen. Und nicht jedes Rechenzentrum nutzt Linux – daher legt Microsoft gerade die Container-Technologie von Docker für Windows Server aus. Zudem hat der Redmonder Konzern kurz vor Weihnachten noch den Windows Server Container vorgestellt, der auf dem Windows Server läuft. Wir warten gespannt auf erste Anwenderberichte.

Mitte vergangenen Jahres wurde mit dem Nano Server zudem eine "dünne" Version des Windows Server ins Rennen geschickt. Es handelt sich um eine Minimalinstallation von Windows Server, die nur die Komponenten enthält, die für das Ausführen von reinen Cloud-Anwendungen und Containern notwendig sind. Diese Windows Server-Version ist in erster Linie als Applikationsserver insbesondere in Hosting- und Cloud-Szenarien gedacht. Er hat keine grafische Oberfläche, die gesamte Verwaltung und Kommunikation mit dem System erfolgen ausschließlich remote.

Zurück zur Ausgangsfrage:sind Container bessere Clouds?

Und damit zurück zur Ausgangsfrage: Sind Container die besseren Clouds? Nein, natürlich nicht, dafür unterscheiden sich die Ausgangslage und Einsatzfunktionen zu sehr. Allerdings ist von den Container-Entwicklern in diesem Jahr einiges an neuen Steuerungs- und Sicherheitskonzepten wie Sicherheits-Zertifizierung oder interne Firewalls zu erwarten. Sie sind dann genauso „Enterprise-ready“ wie Clouds. Und ebenso sicher. Es ist dann an den Verantwortlichen, die eine oder die andere Technologie zu nutzen – immer entsprechend dem Einsatzszenario.

Nachfolgend eine Auswahl weiterer Artikel, die das Thema Container-Virtualisierung konkretisieren:

Was ist Docker?

Definition zum Thema Docker und Container

Was ist Docker?

01.09.16 - Mit Hilfe der Open-Source Software Docker lassen sich Anwendungen in Containern isolieren. Dadurch können die Anwendungen leichter bereitgestellt werden. Außerdem ist eine korrekte Trennung der auf einem Computer genutzten Ressourcen gewährleistet. lesen

Durchblick im Docker-Universum

Awesome Docker

Durchblick im Docker-Universum

18.08.15 - Docker hat einen Hype um Container-Virtualisierung ausgelöst. Heute gelten portable Container bereits als Königsweg der Bereitstellung von Apps. Dass nicht nur das Docker-Ökosystem enorme Dynamik aufweist, sondern beinahe wöchentlich neue, auf Docker basierende oder mit Docker verwandte Technologie aus dem Boden schießen, ist der Übersichtlichkeit nicht gerade zuträglich. Dem will das Projekt „Awesome Docker“ abhelfen. lesen

Die Container und sechs Missverständnisse

Red Hat gibt Anwendern Nachhilfe zu Docker und Virtualisierung

Die Container und sechs Missverständnisse

20.10.16 - Für Red Hat zählen Container nicht nur zu den wichtigsten, neueren IT-Trends – sondern auch zu den häufig von Anwendern missverstandenen. Darum zeigt der Anbieter jetzt Stärken und Grenzen der Technologie auf. lesen

Warum Unternehmen auf die Container-Technologie setzen sollten

Anwendungen effizient virtualisieren

Warum Unternehmen auf die Container-Technologie setzen sollten

21.09.16 - Die Container-Technologie, zum Beispiel auf Basis von Docker, auch in Windows Server 2016, bietet Unternehmen mehr Sicherheit und eine effizientere Virtualisierung von Anwendungen. Da Container sehr schnell einsatzbereit sind, dabei aber auch mehr Sicherheit bieten, sollten sich Verantwortliche die Möglichkeiten genau ansehen. lesen

Container-Management mit VMware Photon & Co.

Containerisierung – Technik und Strategien

Container-Management mit VMware Photon & Co.

23.03.16 - Die Ära der Post-Virtualisierung lässt den Markt störende Innovationen aufkeimen und ändert die Kostenstruktur. Das rasante Wachstum rund um Container-Frameworks und Microservices für das Datacenter stellt insbesondere bestehende Deployment-Modelle in Frage und hat den führenden Virtualisierungsanbietern Microsoft und VMware ernsthaft zu denken gegeben. lesen

Container-Spielarten in Windows Server 2016

Docker-Container per Hyper-V sind sicherer

Container-Spielarten in Windows Server 2016

09.02.16 - Betreiben Unternehmen „Docker“-Container mit „Windows Server 2016“ innerhalb von „Hyper-V“, werden diese noch mehr abgeschottet als herkömmliche „Windows Server Container“ auf Basis von Docker im neuen Betriebssystem. Dadurch wird eine erhöhte Sicherheit und Stabilität erreicht. lesen

Docker in Windows Server 2016

Anwendungsvirtualisierung

Docker in Windows Server 2016

18.02.16 - In Windows Server 2016 integriert Microsoft die Container-Technologie Docker. Sowohl physisch als auch virtuell sollen die Server-Container bereitgestellt werden können. Damit lassen sich Cloud- und Web-Anwendungen sicher und isoliert zur Verfügung stellen. lesen

Linux, Docker & Kubernetes fördern OpenStack

Container-Virtualisierung in der Praxis

Linux, Docker & Kubernetes fördern OpenStack

23.05.16 - Ist OpenStack ein Molloch oder doch smart und innovativ? Letzteres zeigt sich etwa an Applikations-Containern im „Docker“-Format und „Kubernetes“, einem Framework zur Verwaltung von Docker-Container-Clustern. Beide zusammen machen aus OpenStack eine leistungsstarke Cloud-Plattform für die Implementierung und den Betrieb von Applikations-Containern. lesen

Wichtige Open-Source-Produkte für Clouds

Ein Überblick der Linux Foundation

Wichtige Open-Source-Produkte für Clouds

15.11.16 - Clouds aller Art basieren zunehmend auf Open Source und Standard-APIs. Entsprechend sollten Unternehmen für ihre Cloud-Projekte ebenfalls Open-Source-Produkte verwenden. Die Linux Foundation gibt dazu eine Übersicht. lesen

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Juniper will das Management hybrider Multi-Clouds vereinfachen

Unite Cloud für Rechenzentren

Juniper will das Management hybrider Multi-Clouds vereinfachen

Juniper Networks stellt mit Juniper Networks „Unite Cloud“ ein Framework für Rechenzentren vor, das Unternehmen End-to-End-technik zur Verfügung stellen soll, mit denen sie hybride Multi-Cloud-Umgebungen entwickeln und managen können. Zusätzlich bietet das Unternehmen Tools und Services für Automation, Skalierbarkeit und Implementierung an. lesen

HPE vermarktet Datacenter-Betriebssystem Mesosphere DCOS

Leichter Einstieg in Container-Applikationen

HPE vermarktet Datacenter-Betriebssystem Mesosphere DCOS

Hewlett Packard Enterprise (HPE) schließt eine weltweite OEM- und Reseller-Vereinbarung mit Mesosphere. Durch diese Vereinbarung soll es für Kunden einfacher sein, ihre Rechenzentren mit hybriden IT-Lösungen zu modernisieren, die traditionelle Infrastruktur, private und öffentliche Cloud-Dienste umfassen. lesen

Container-as-a-Service – die Zukunft der Virtualisierung

DARZ zeigt, wie es geht

Container-as-a-Service – die Zukunft der Virtualisierung

DevOps gehört aktuell zu den großen Diskussionsthemen in den Entwicklungs-Abteilungen. Im Fokus stehen Prozesse und Tools, um IT-basierte Wertschöpfungsmodelle zu optimieren und agiler zu gestalten. Ein zentrales Element in diesem Konzept ist die Container-Technologie, die Docker vor zwei Jahren der Virtualisierungs-Szene als Lösungsansatz nahebrachte. lesen

Erstes Insider-Fachportal zu Softwareentwicklung

Dev-Insider geht live

Erstes Insider-Fachportal zu Softwareentwicklung

Die Insider-Portale bekommen Zuwachs: Mit Dev-Insider geht am Mittwoch, 1. Februar, ein Fachportal online, das IT-Entscheidern in Unternehmen umfassende Informationen zur Software-Entwicklung bietet. lesen

Wie man am besten auf die digitale Revolution reagiert

Innovation und Disruption

Wie man am besten auf die digitale Revolution reagiert

Gerade traditionelle Markenunternehmen haben mit den Anforderungen des digitalen Zeitalters zu kämpfen. Sie sollten Technologie zu einer ihrer Kernkompetenzen machen und eine Kultur der Innovation und Disruption schaffen. lesen

Enterprise Kubernetes Platform vereinfacht Container-Einführung

Red Hat veröffentlicht Openshift 3.4

Enterprise Kubernetes Platform vereinfacht Container-Einführung

„Red Hat Openshift Container Platform“ soll in der jetzt veröffentlichten Version 3.4 dank Integration der neuen „Enterprise Kubernetes Platform“ insbesondere das Speichern von in Container gepackten Anwendungen vereinfachen. lesen

Die Cloud als Treiber der Digitalisierung

IT-Trends 2017

Die Cloud als Treiber der Digitalisierung

Clemens Siebler von NetApp sieht Cloud-Provider als Vorbild für den modernen IT-Betrieb. Traditionelle IT-Teams würden scheitern, wenn sie ihre Arbeitsweise nicht radikal ändern. lesen

OpenStack wird das Maß der Cloud-Dinge

Forrester-Analyse und -Empfehlungen nach dem Release von Newton

OpenStack wird das Maß der Cloud-Dinge

Die Analysten von Forrester haben sich die Situation von OpenStack nach dem Release von Newton genauer angeschaut und präsentieren Empfehlungen für Anwender. lesen

Dezentrale Energieerzeugung: die Cloud ist der Clou

Anlagensteuerung / Daten-Management

Dezentrale Energieerzeugung: die Cloud ist der Clou

Dezentrale Energieerzeugung auf Basis von Abfall oder lokal vorhandener Brennstoffe – das ist das Metier der noch jungen Entrade AG. Zusammen mit Schneider Electric realisiert das Unternehmen Anlagen mit einer kombinierten Leistung von 32 MW (thermisch) in Liverpool. IoT-Einbindung in die Konzepte für Anlagensteuerung und Daten-Management inklusive. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43841443 / Definitionen)