Auswahlkriterien für eine Container-Management-Plattform
12. Dezember 2018, 14:58 Uhr |
Autor: Lars Herrmann / Redaktion: Sabine Narloch
Beim Betrieb von Multi-Container-Applikationen ist eine Container-Management-Plattform essenziell. In einem Leitfaden hat Lars Herrmann von Red Hat die wichtigsten Aspekte bei der Auswahl einer Container-Management-Plattform zusammengestellt.
Eine Container-Management-Plattform sollte eine Reihe zentraler Funktionen für einen effizienten und sicheren Betrieb über den gesamten Lebenszyklus bereitstellen. Die wichtigsten Aspekte für die Plattform-Auswahl sind im Folgenden 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-premises 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.
Lars Herrmann ist General Manager, Portfolio Programs and Strategy bei Red Hat