Container richtig einsetzen
Techniken wie Docker und CoreOS helfen, Anwendungen flexibler und schneller bereitzustellen. Doch um alles aus Containern herauszuholen, haben Unternehmen noch einige Herausforderungen zu meistern.
Container-Technologien wie Docker oder CoreOS helfen Anwendern, Services zu flexibilisieren und schneller bereitzustellen. Um alles aus Containern herauszuholen, haben die Unternehmen jedoch einige Herausforderungen zu meistern.
Je mehr Unternehmen merken, dass ihnen die Möglichkeiten der ContainerTechnik helfen, ihre Services und Geschäftsprozesse zu verbessern, desto beliebter wird sie. Allerdings sind mit der ContainerTechnik auch einige Herausforderungen verbunden: „Es herrscht teilweise noch Verwirrung um ihren praktischen Einsatz, vieles ist auch Wunschdenken“, resümiert Lars Herrmann, der die Geschäftseinheit Integrated Solutions beim Softwarehersteller Red Hat leitet. Er merkt an, dass es weniger die Vorstände als vielmehr die Mitarbeiter sind, die die Technologie einbringen: „Die Containerization in den Unternehmen wird derzeit eher noch von unten nach oben gelebt.“
Worum geht es eigentlich genau? Container stellen eine komplette Laufzeitumgebung in einem einzigen Paket bereit – eine Anwendung samt allen Abhängigkeiten, Bibliotheken, Dateien und Konfigurationsdaten. Sie lassen sich ein wenig mit virtuellen Maschinen (VMs) vergleichen, sind aber wesentlich platzsparender. Während jede VM ein vollständiges Betriebssystem samt allen Applikationen umfast, können sich Container einen BetriebssystemKern mit anderen Containern teilen und verbrauchen entsprechend weniger Rechenleistung und Speicherplatz.
Ein weiterer großer Vorteil ist, dass es Container den Entwicklern ermöglichen, ihre Anwendungen zwischen verschiedenen Umgebungen hin- und herzuschieben – Tests in dem einen Hardwareumfeld, Betrieb in einem anderen, Betrieb erst auf einer physikalisch
vorhandenen Maschine, dann in der Private oder Public Cloud – und das alles unterbrechungsfrei und zuverlässig, verspricht die Technik.
Viele schöne Möglichkeiten also – Herrmann weist aber darauf hin, dass sich der Durchbruch der Container im Business an fünf Stellen entscheiden wird:
1. Einbindung ins Rechenzentrum
Container stehen per se für sich allein, aber kein Teil eines Unternehmens ist eine Insel. Um ihre volle Wirkung entfalten zu können, muss es möglich sein, Container in die bestehende Infrastruktur mit ihren Services einzubetten – seien es beispielsweise Security-, Authentisierungs- oder Netzdienste. Unternehmen müssen sich also damit beschäftigen, wie sie Container-Technik bestmöglich im Rahmen bestehender Workloads und Prozesse verwenden können. „Es ist zwar nett, IT-Umgebungen auf der grünen Wiese aufzusetzen, das spiegelt aber nicht die Wirklichkeit in den Unternehmen wieder“, sagt der Red-Hat-Manager. „Die Integration ist der Schlüssel zum Erfolg.“
2. VM-Management
Viele Anwender setzen im VM-Umfeld auf Container – hier kann es aber schnell zu Chaos führen, wenn zu viele virtuelle Maschinen im Einsatz sind. Die IT-Verantwortlichen müssen deshalb einen Weg finden, ihre Maschinen zu verwalten und die Kunden trotzdem parallel mit den benötigten Services zu versorgen. „Wir möchten immer die in unseren VMs bestehenden Workloads nehmen und schauen, ob wir sie in Container ‚verladen‘ können“, erklärt Herrmann. „VM-Chaos lässt sich viel leichter vermeiden, wenn wir nur einen Teil der Komplexität auf Anwendungsebene in ContainerStrukturen verschieben.“
3. Orchestrierung
Unternehmen müssen mehrere Container miteinander sowie Container mit anderen Applikationen kombinieren und die Kommunikation zwischen Containern und anderen IT-Ressourcen ermöglichen. Dazu müssen die Container auch in einer Umgebung entwickelt werden, die diesen Mix aus Technologien und Rechenkapazitäten abbildet.
„Die Orchestrierung nimmt drei Rollen innerhalb des Container-Stacks ein“, erläutert Herrmann. „Erstens führt die OrchestrierungsEngine die verschiedenen Services und Instanzen dieser Services zusammen zu einer Anwendung. Zweitens ist sie auch verantwortlich dafür, dass Anwendungen in diesem Kontext realisiert werden können – die Engine entscheidet darüber, wo die Services genau stattfinden, wie sie ausgeführt werden, wie Netzkomponenten, Rechenleistung, Storageund Security-Profile eingebettet werden. Drittens geht es um die Verwaltung der Stati sowohl der Gerätegruppen als auch der verschiedenen Anwendungen. Hier fungiert die Engine quasi als Wachhund, der ein Auge auf alles hat.“
4. Skalierbarkeit
Es gibt viele Container-Lösungen, für die zwar damit geworben wird, sie könnten beliebig skalieren, deren Design es dann aber doch nicht zulässt. Die heutige, hochdynamische Unternehmens-IT macht es aber absolut erforderlich, dass Unternehmen ihre ContainerTechnik und die Kapazitäten zur Bereitstellung an die Anwender programmatisch skalieren können. „Die Skalierbarkeit ist mit das Wichtigste überhaupt, wenn ich eine verteilte, mandantenfähige IT-Architektur habe“, unterstreicht Herrmann.
5. Legacy-Systeme beachten
Nur weil es jetzt die Container gibt, verschwinden die alten Legacy-Systeme – Hardware wie Software – ja nicht automatisch, zumindest nicht vollständig. Also müssen die Container nicht nur mit den neuesten Anwendungen und Systemen harmonieren, sondern auch die Altsysteme berücksichtigen. Herrmanns Fazit: „Es gibt viele neue Möglichkeiten, ContainerTechnologie im Unternehmen einzusetzen – einige von ihnen sind sehr disruptiv. Die Container wurden als zusätzliche Ebene entwickelt, die sich schön über bestehende Infrastrukturen legen lässt. Containerisierung lässt sich als Deployment-Methode nutzen – aber nicht nur für neue Cloud-Anwendungen, sondern auch für bereits bestehende Applikationen und Systeme.“
„Es gibt viele neue Möglichkeiten, ContainerTechnologie im Unternehmen einzusetzen – einige von ihnen sind sehr disruptiv.“Lars Herrmann, Leiter der Geschäftseinheit Integrated Solutions von Red Hat