Für die Entwicklung und den Betrieb neuer Applikationen setzen Unternehmen verstärkt auf Container. Eine Container-Management-Plattform, wie sie für den Betrieb von Multi-Container-Applikationen unerlässlich ist, sollte eine Reihe zentraler Funktionen für einen effizienten und sicheren Betrieb über den gesamten Lebenszyklus bereitstellen.
In einem Leitfaden hat Lars Herrmann, General Manager, Portfolio Programs and Strategy bei Red Hat die wichtigsten Aspekte bei der Auswahl einer Container-Management-Plattform zusammengestellt. Eine Gewichtung der einzelnen Kriterien ergibt sich aus den individuellen Anforderungen von Unternehmen, der Evaluation und einem Proof of Concept.
- Abstimmung der Server- und Storage-Ressourcen auf Workloads.
Bei der Übergabe von der Entwicklung in den produktiven Betrieb verteilt eine Management-Lösung die Container auf die Ziel-Infrastrukturen und legt fest, welche Ressourcen ihnen zur Verfügung stehen. Das können Server im eigenen Rechenzentrum sein, aber auch in einer oder mehreren Public Clouds. Die Management-Lösung muss dafür sorgen, dass Container die vorhandenen Ressourcen, wie Prozessorleistung, Hauptspeicher, SSDs und Festplatten- sowie Netzwerkkapazitäten, optimal ausnutzen können.
- Steuerung und Verwaltung des gesamten Lebenszyklus von Containern.
Eine Container-Management-Lösung sollte den ordnungsgemäßen Betrieb überwachen sowie frühzeitig Fehlfunktionen ermitteln und beheben. Dazu gehören auch Funktionen, um einen Container, der nicht mehr läuft, neu zu starten oder auf einen anderen Server zu verlagern. Über APIs sollten Administratoren in der Lage sein, den Applikations-Container-Lebenszyklus von der Bereitstellung über die Konfiguration und Anpassung bis zum Softwaremanagement zu verwalten.
- Überprüfung der Sicherheit von Container-Images und Container-Inhalten.
Durch Container entstehen neue IT-Sicherheits-Herausforderungen. Das Container-Management muss daher grundlegende Maßnahmen umsetzen, um die Sicherheit von Container-Images und von Container-Inhalten im Verlauf des gesamten Applikationslebenszyklus zu gewährleisten. Wichtig bei der Erstellung von Container-Images ist beispielsweise der ausschließliche Einsatz von vertrauenswürdigen Inhalten, die nachvollziehbare Herkunft aller in Container-Images verwendeten Bausteine und Libraries, die Nutzung isolierter Umgebungen und regelmäßige Sicherheits-Scans.
- Funktionen für Service Discovery.
Da Container sehr flexibel sind und die Container-Management-Lösung sie bedarfsabhängig platziert, lässt sich nicht sicherstellen, dass ein einzelner oder auch eine Gruppe zusammenhängender Container immer auf einem bestimmten Server laufen. Die Container-Management-Lösung sollte daher über Funktionen für ein Service Discovery verfügen, damit zusammengehörende Container auch von anderen Services aufgefunden werden können, egal, ob sie gerade on-premise oder in einer Public Cloud laufen.
- Skalierung von Container-Instanzen und Container-Infrastruktur.
Mit der dynamischen Skalierung sollte die Container-Management-Lösung einen automatischen Mechanismus anbieten, der mit hinterlegten Metriken arbeitet. Die Administratoren können dabei festlegen, dass bei einer bestimmten CPU-Auslastung, bei der Überschreitung von Speicherkapazitäten oder bei konkreten Ereignissen eine vorgegebene Zahl zusätzlicher Container-Instanzen gestartet wird. Die Skalierung einer Container-Infrastruktur erfordert, dass die auf der Container-Plattform laufenden Applikationen problemlos auf Hunderte von Instanzen ausgebaut werden können – zum Beispiel durch eine Erweiterung der Container-Umgebung in eine Public Cloud.
- Implementierung von persistentem Speicher.
Die Verwendung von Microservices in Applikations-Architekturen hat auch Auswirkungen auf die Bereitstellung von Speicherkapazitäten. Beim Packing und Deployment sollte Storage als Microservice in einem Container verpackt bereitstehen: dann wird er zum Container Native Storage. Verwaltet über eine Container-Management-Lösung sollte Container Native Storage die dynamische Bereitstellung unterschiedlicher Speichertypen, wie Block-, File- und Object-Storage, und Multi-Tier-Speicher über Quality-of-Service-Labels unterstützen.
- Nutzung der Innovationsfähigkeit von Open-Source-Lösungen.
Linux-Container auf Basis des Open-Source-basierten Docker-Formats haben bei der Verbreitung der Container-Technologie eine wichtige Rolle gespielt. Viele führende IT-Unternehmen setzen auf dieses Format. Durch die breite Unterstützung hat sich ein aktiver Markt für offene Container-Management-Lösungen gebildet, der im Vergleich zu proprietären Lösungen deutliche Vorteile bezüglich Innovation und Agilität aufweist. Neue Funktionen stehen erheblich schneller zur Verfügung als bei Lösungen, die dem Closed-Source-Modell folgen.
Container lassen sich kostengünstig entwickeln und können schnell und komfortabel zwischen und innerhalb von Entwicklungs-, Test- und Betriebsumgebungen portiert werden. Auch wenn die Erstellung selbst kein Hexenwerk ist, empfiehlt Red Hat für den Betrieb von Multi-Container-Applikationen, die in physischen, virtuellen, Private und Public Clouds laufen, den Einsatz einer leistungsstarken Container-Management-Plattform wie Red Hat OpenShift Container Platform. Ein optimiertes Management stärkt den zuverlässigen, effizienten und sicheren Betrieb komplexer Umgebungen, die eine Vielzahl von Benutzern unterstützen.
Prognosen für 2019: Storage zwischen Cloud, Container und KI
DSGVO-konform: Container für Smartphone und Laptops – Sicheres Arbeiten auf mobilen Endgeräten
Kriterien für die Auswahl einer Container-Lösung für Smartphone und Tablet
Mittelstand agiert bei Microservices und Containern zu unentschlossen
Komplexität in Infrastruktur und IT-Betrieb reduzieren – Container für die Applikationen
Ausblick 2019: Der Lambda zwischen Mircoservices und Serverless