Google Cloud Platform bietet Docker Unterstützung

Milen KoychevCloud Computing

Software ist ein virtuelles Gut, welches nicht von Punkt A auf der Welt zu Punkt B mit Hilfe eines Schiffes, der Bahn oder einem LKW transportiert werden muss. Dennoch ist es nicht so einfach, in einer komplexer werdenden Welt, die entsprechende Auslieferung und den Transport von Software einfach zu halten.
Es gibt unterschiedlichste Hardware mit unterschiedlichen Betriebsystemen, welche unterschiedliche Softwareversionen bereitstellen. Dieser Umstand macht es manchmal zu einer schwierigeren Aufgabe die neueste Version der eigenen Software zu veröffentlichen. Denn neben dem eigenen Laptop muss die neue Softwareversion auf dem Testserver laufen, dann auf dem Produktionssystem und vermutlich noch in unterschiedlichen Rechenzentren, um eine hohe Verfügbarkeit zu gewährleisten. Diese Komplexität nimmt viel Zeit in Anspruch.

In der Industrie gab es dieses Problem ebenso. Unterschiedlichste Güter mussten mit diversen Transportmitteln zum Kunden befördert werden. Die Industrie löste dieses Problem mit der Einführung des Containers. Im Container können die unterschiedlichsten Waren befördert werden und dennoch ist für den Produzenten nur der Inhalt wichtig und für den Spediteur nur die Abmaße des Containers. Jeder kann sich somit um sein Spezialgebiet kümmern und alle sprechen über die gleichen Schnittstellen und haben eine Vorstellung, was ein Container als Beförderungseinheit bedeutet.

Diesen Idee portiert Docker, die offene Plattform für verteilte Anwendungen, in die Welt der Software. Dabei richtet sich die Plattform an beide Seiten der Produktionskette; in diesem Fall also die Entwickler und die Administratoren.

Docker 001

Quelle: Docker

Docker versucht dabei eine standardisierte Abstraktionsschicht für Software zu etablieren, die Entwicklern die Protierung der Software auf andere Systeme erleichtert. Dabei biet die eigene Software as a Service(SaaS)-Lösung mit Docker Hub, eine Bibliothek von bereits mehr als 13.000 Anwendungen bzw. Softwarestacks, die direkt für die eigene Entwicklung genutzt werden können. Die Docker Images können entweder privat genutzt werden oder der Community zur Verfügung gestellt werden, wenn es sich generelle Software handelt, die sinnvoll von vielen Anwendern eingesetzt werden könnte, wie z.B. ein Datenbanksystem.

Google selbst hat viel Erfahrung im Einsatz von „Containern“. Da sie immer massiv skalieren müssen, sind sie ebenso auf den Einsatz von kleinen Blöcken zur Steigerung von Performance und Zuverlässigkeit gekommen. Dies ist z.B. in Googles Cluster Management Platform Omega sichtbar. Daher ist es nur logisch und sinnvoll in einem dynamischen Cloud-Umfeld eine solche Plattform wie Docker zu unterstützen.

Der Support erstreckt sich dabei auf den Compute Engine Dienst und die Integration ist bis in die verwalteten virtuellen Maschinen implementiert. Damit ist der Zugriff auf eine große Anwendungs-Bibliothek auf der Compute Engine Plattform ermöglicht.
Abschließend bleibt zu hoffen, dass Google dadurch auch bald mehr Betriebsystem-Images für die eigenen virtuellen Maschinen unterstützt, als die bisherigen zwei.