16.03.2015
Freie Entwicklerplattform
1. Teil: „Container-Virtualisierung mit Docker“
Container-Virtualisierung mit Docker
Autor: Frank-Michael Schlede
Docker
Docker ist eine offene Plattform für Entwickler und Admins, die Apps in Container verpackt. Diese sind dann auf PCs sowie in Rechenzentren, virtuellen Umgebungen oder in der Cloud ausführbar.
Linux-Container Docker. Was steckt hinter dieser Technik, welche Möglichkeiten bietet sie und wer unterstützt sie aktuell?
Nur selten erregte in den letzten Jahren etwas in der IT so viel Aufsehen wie die Das Erscheinen neuer Betriebssystemversionen sorgt bei professionellen IT-Anwendern und den involvierten Firmen heute eher für wenig Aufregung. Sieht man einmal von den Diskussionen um die Kacheloberfläche von Windows 8 ab, die zudem weitaus intensiver bei den Endanwendern als bei den IT-Profis stattfand, sind Techniken wie Cloud-Computing und Virtualisierung längst etabliert und werden auf breiter Basis eingesetzt.
Änderungen und Verbesserung gelangen in normalen Update-Zyklen in die Firmen und damit auch zum Anwender. Ein neuer Technikansatz muss deshalb schon eine Menge Potenzial bergen, damit große IT-Firmen und -Anbieter sich plötzlich unisono zur Unterstützung und zum Einsatz dieser Technik bekennen.
Das Open-Source-Werkzeug Docker erfüllt viele dieser Kriterien und hat im letzten Quartal 2014 und ebenso im Frühjahr 2015 für eine Menge Aufregung gesorgt. Wir stellen die Linux-Container vor, zeigen was hinter dieser Technik steckt und haben mit Firmen gesprochen, die sich bereits intensiv mit der Software befasst haben.
2. Teil: „Welche Vorteile bringen Docker-Container?“
Welche Vorteile bringen Docker-Container?
Mit diesem Ansatz soll das Konzept hinter Docker sowohl den Software-Entwicklern als auch den IT-Administratoren ganz ähnliche Vorteile bieten, wie sie die echten Transportcontainer der Logistik- und Transportbranche schon seit Jahrzehnten aufzeigen: Egal welche Größe, Form oder anderen Besonderheiten ein Produkt hat, es wird in einen standardisierten Container gepackt – und damit gekapselt – so dass alle anderen Unternehmen und Partner, die damit zu tun haben, problemlos, effizient und relativ unabhängig vom Inhalt damit umgehen können.
Grundsätzlich stehen Software-Entwickler und Administratoren sowohl bei der Entwicklung von Anwendungen als auch die Systembetreuer bei der Verteilung ihre Anwendungen vor ähnlichen Problemen, wie die Industriebetriebe bei der Verteilung ihrer Waren vor der Zeit der Container. Entwickelt eine Firma eine Anwendung, so benutzt sie dazu eine bestimmte Entwicklungsumgebung samt Programmiersprache, gegebenenfalls auch spezielle Bibliotheken und ein ausgewähltes Betriebssystem. Wenn diese Entwicklung beispielsweise nur zum Testen an einen anderen Mitarbeiter weitergegeben werden soll, so muss dieser die gleichen Rahmenbedingungen schaffen, um diese Anwendung zu verwenden.
3. Teil: „So profitieren Systemverwalter & Admins von Docker“
So profitieren Systemverwalter & Admins von Docker
Sie können auf diese Weise etwa standardisierte Umgebungen für die Produktions- und Entwicklungsabteilungen bereitstellen, bei denen Probleme mit der darunterliegenden Infrastruktur weitgehend ausgeschlossen sind. Inkonsistenzen zwischen den Entwicklungs-/Testumgebungen und den Systemumgebungen der Endanwender können so leichter ausgeschlossen werden.
Automatisierung mit geringem Overhead
Für beide Problemfelder können Container durch ihren sehr geringen Overhead durchaus Erleichterungen bringen. Administratoren sind zudem immer bestrebt, so viele Aufgaben wie möglich zu automatisieren: Eine moderne IT-Verwaltung ohne Automatisierung ist heute undenkbar. Mit Hilfe der Container ist es möglich, Standardoperationen für das Starten und Stoppen von Anwendungen oder auch das Suchen sehr viel leichter zu automatisieren.
4. Teil: „Container-Techniken wie Docker sind nicht neu“
Container-Techniken wie Docker sind nicht neu
Wer schon länger im Bereich der IT tätig ist und sich dabei auch mit der einen oder anderen Linux-Distribution näher beschäftigt hat, wird schnell feststellen, dass diese Container-Technik nicht neu ist.
Besser umgesetzt wurden diese Möglichkeiten dann mit FreeBSD Jails, das dem Anwender ein Sandboxing zur Verfügung stellt. Dabei hatte ein solches „Gefängnis“ dann zwar Zugriff auf dem System-Kernel, konnte aber ansonsten nur auf eine sehr begrenzte Untermenge der anderen Systemressourcen zugreifen. So kann eine solche Sandbox beispielsweise nur auf zuvor definierte und festgelegte IP-Adressen zugreifen. Auch das ehemalige Sun-Unix-Betriebssystem Solaris, das nun Oracle besitzt, kann mit seinen Zones mit einer ähnlichen Technik aufwarten.
Mit LXC (Linux Containers) steht eine Schnittstelle für den User-Space, eine Programmierschnittstelle (API - Application Programming Interface) und Software-Werkzeuge zur Erstellung und Verwaltung von Linux-Containern bereit, die auf der Webseite von linuxcontainers.org als „irgendetwas in der Mitte zwischen chroot und einer vollausgestatteten virtuellen Maschine“ charakterisiert werden. Alles rund um LXC steht als freie Software im Netz zur Verfügung.
Lösungen wie Docker setzten auf LXC auf und unterstützen die entsprechenden Schnittstellen und Container und automatisieren die Erstellung und Verteilung der Container. James Bottemley, CTO Server Virtualization bei Parallels, hat es in einem seiner zahlreichen Vorträge auf den Punkt gebracht, in dem er feststellte, dass es Docker nicht nur einfacher macht, eine Anwendung in einem Container bereitzustellen, sondern dass es diese Technik dem IT-Profi auch erlaubt, eine Anwendung in einem Container auf dem Notebook zu erstellen und diesen dann in der Cloud auszurollen und zu verwenden. Damit können Systemprofis und Entwickler also im Prinzip so etwas wie eine sofortige Portabilität ihrer Anwendungen erreichen.
5. Teil: „Die Container-Technik und das Cloud-Computing“
Die Container-Technik und das Cloud-Computing
In Diskussionen zum Thema Container-Technik und Docker weisen gerade IT-Profis, die bisher noch wenig Kontakt zu dieser Software hatten, immer wieder auf die Nähe beziehungsweise die Ähnlichkeiten zur normalen Virtualisierung hin. Aber eine Stärke dieser Technik liegt gerade in den Unterschieden zu gängigen Virtualisierungs-Techniken.
Container basieren im Gegensatz dazu auf einem Betriebssystem, das sich mehrere Container teilen – einem „shared operating system“. Dadurch können sie mit sehr viel weniger Overhead arbeiten, sie arbeiten „lightweighted“. Bei ihnen wird keine Hardware emuliert, sondern die Anwendungen laufen in ihren Containern alle auf einem Linux-System.
Systemunabhängiger Einsatz
Damit sind Container im Gegensatz zu virtuellen Maschinen auch nicht dazu in der Lage, beispielsweise unterschiedliche Betriebssysteme wie einen Windows Server 2012 R2 und einen Red Hat Server auf einem Host-System zu betreiben – alle Container verwenden das gleiche Betriebssystem.
Im Idealfall können sie dabei auch die gleichen Laufzeitbibliotheken und weitere Ressourcen gemeinsam nutzen, was dann einen noch geringeren Overhead verursacht. Ein großer Vorteil dieser Tatsache: Administratoren können mit Hilfe dieser Technik ihre Server noch weitaus besser auslasten, als dies schon mit einer Virtualisierungs-Lösung der Fall ist. Zwar gehen die Schätzungen der Experten auseinander, aber die meisten Einschätzungen reden von der zwei- bis hin zur dreifachen Last, die ein Server mit Containern im Vergleich zu virtuellen Maschinen bewältigen kann.
Schließlich eigenen sich in Container gekapselte Anwendungen sehr gut für den Einsatz in einer Cloud-Umgebung. Einmal komplett erstellte Container können dann vom Administrator sowohl im eigenen Netzwerk als auch in der Private- oder einer Public-Cloud ausgerollt und eingesetzt werden.
6. Teil: „Potenzial und Entwicklungschancen von Docker“
Potenzial und Entwicklungschancen von Docker
Die Versprechen, die das noch junge Unternehmen Docker Inc. mit seiner Technik macht, sind sehr vielfältig und die Tatsache, dass viele renommierte IT-Größen wie Microsoft, VMware, Parallels, Red Hat und Google sich sehr deutlich dazu bekennen, diese auch in ihren Betriebssystemen und Anwendungen zu unterstützen, zeigen wie ernst diese Ankündigungen genommen werden.
Docker-Entwicklung ist noch im Gange
Ein genauerer Blick auf die Technik zeigt aber auch, dass es für die Entwickler noch einige Arbeit zu tun gibt, denn bei allen Versprechen in Bezug auf die Sicherheit, die das Konzept der Sandbox verheißt, bleiben in der augenblicklichen Situation noch viele Fragen in Hinblick auf die Datensicherheit offen.
Probleme, die laut Aussagen der Gartner-Studie auch bei einem Einsatz der Container innerhalb eines Hypervisor nur unwesentlich gemildert werden. Natürlich dürfen interessierte IT-Profis und Firmen in diesem Zusammenhang nicht außer Acht lassen, dass die Docker-Technik und die damit verbundenen Anwendungen sich noch in einem frühen Stadium der Entwicklung befinden. Das Engagement vieler Firmen in diesem Bereich wird dazu führen, dass noch in diesem Jahr eine deutliche Verbesserung im Bereich der Sicherheit zu sehen sein wird und einige Sicherheitslösungen für diese Technik auf dem Markt erscheinen werden.
Ein weitere Punkt ist die bereits zu beobachtende Diversifizierung im Bereich der Container-Techniken: Wie schon bei den Unix- und Linux-Derivaten in früheren Jahren scheinen die unterschiedlichen Firmen auch hier verschiedene Ansätze und Techniken zu realisieren, die im Moment zum großen Teil noch auf die Linux-Container LXC aufsetzen. Gerade die Unix/Linux-Historie zeigt aber leider, wie schnell sich solche Techniken auseinander entwickeln können, was nicht immer zum Vorteil der Anwender ist.
Huawei Roadshow 2024
Technologie auf Rädern - der Show-Truck von Huawei ist unterwegs
Die Huawei Europe Enterprise Roadshow läuft dieses Jahr unter dem Thema "Digital & Green: Accelerate Industrial Intelligence". Im Show-Truck zeigt das Unternehmen neueste Produkte und Lösungen. Ziel ist es, Kunden und Partner zusammenzubringen.
>>
Nach der Unify-Übernahme
Mitels kombinierte Portfoliostrategie
Der UCC-Spezialist Mitel bereinigt nach der Unify-Übernahme sein Portfolio – und möchte sich auf die Bereiche Hybrid Cloud-Anwendungen, Integrationsmöglichkeiten in vertikalen Branchen sowie auf den DECT-Bereich konzentrieren.
>>
Tools
GitLab Duo Chat mit KI-Chat-Unterstützung
Der DevSecOps-Plattform-Anbieter GitLab führt den GitLab Duo Chat ein. Dieses Tool integriert Künstliche Intelligenz in die DevSecOps-Workflows.
>>
Zu viel der Ordnung
macOS 14: Schreibtisch beruhigen
Mit macOS 14 ‹Sonoma› wird automatisch eine Ordnungsfunktion aktiviert, die in den Wahnsinn führen kann. So wird sie abgeschaltet.
>>