Je mehr Container in der Softwareentwicklung und -bereitstellung Verwendung finden, desto häufiger macht die Technik dahinter zwangsläufig Probleme. Hier sind die häufigsten fünf Fehler, die es zu vermeiden gilt.
Ob On-Premises oder in der Cloud: Bei der Planung und Bereitstellung von Containern drohen einige Stolpersteine.
Container sind bei Unternehmen angesagt, die im Zuge der digitalen Transformation die Softwareentwicklung beschleunigen und das Infrastrukturmanagement effizienter gestalten wollen. Laut einer Studie von 451 Research verwendet etwa die Hälfte der Unternehmen entweder schon jetzt Container oder plant dies in den kommenden zwei Jahren. Diese Zahl wird wahrscheinlich weiter anwachsen.
Warum auch nicht? Container paketieren und isolieren Einzelteile, die für die Ausführung einer Anwendung nötig sind und unabhängig von der Laufzeitumgebung einheitlich funktionieren. Dies erhöht die Portabilität zwischen Public Clouds, Hybrid Clouds und On-Premises-Infrastrukturen, reduziert die Kosten und fördert eine agile DevOps-Kultur.
Kubernetes, eine Open-Source-Software, die die Bereitstellung, Orchestrierung und Verwaltung von containerisierten Anwendungen automatisiert und bei weitem das beliebteste Tool seiner Art ist, unterstützt die Einführung von Containern in großem Maßstab.
Dabei kann eine Menge schief gehen, wenn man nicht vorsichtig ist. Doch was sind die häufigsten Container-Fehler – und wie lassen sie sich vermeiden?
1. Fehlkonfigurierte Container oder containerisierte Anwendungen
Beim Wechsel von der traditionellen Bewältigung der Arbeitslast (Workload) hin zur Ausführung auf Containern ändern sich mehrere Faktoren: die IP-Adressen, die Berechtigungsstufe und eine Reihe anderer Dinge. Der Anwendungsbetreuer muss sich über all diese Änderungen im Klaren sein.
Andernfalls kann es zu Fehlkonfigurationen kommen, die zu unerwarteten Ergebnissen wie Anwendungsfehlern, Leistungseinbußen, Sicherheitslücken usw. führen können. Um eine Fehlkonfiguration zu vermeiden, sollten sich die Anwendungsbetreuer eingehend mit Container-Orchestrierungsplattform vertraut machen und alle notwendigen Maßnahmen ergreifen, um die Anwendungen für die Migration vorzubereiten.
2. Übermäßige Bindung und mangelnde Überwachung von Ressourcen
Obwohl Container in der Regel weniger Ressourcen verbrauchen als herkömmliche virtuelle Maschinen, bedeutet dies nicht, dass Nutzer Tausende von Containern auf einem einzigen physischen Server erstellen können. Planung ist auch hier das halbe Leben.
Ressourcenmanagement und Kapazitätsüberwachung sollten bei der Umsetzung der Containerstrategie dementsprechend immer berücksichtigt werden. Andernfalls können die verfügbaren physischen Ressourcen relativ leicht überbeansprucht werden.
Glücklicherweise bieten führende Container-Orchestrierungsplattformen wie Kubernetes Ressourcenmanagement-Funktionen. Damit lassen sich beispielsweise jedem Container spezifische Werte für CPU und RAM zuweisen. Im Gegenzug können verschiedene Open-Source-Tools zur Kapazitätsüberwachung eingesetzt werden.
3. Mangelnde Berücksichtigung von betrieblichen Abläufen
Einige Anwender denken nicht über den Tag 1 hinaus und bereiten sich nicht richtig auf den Container-Betrieb nach der Inbetriebnahme vor. Sie stolpern über Aufgaben wie Patching, Upgrades, Skalierung und die Integration von IaaS, sprich Infrastructure-as-a-Service.
Über diese Aspekte nachzudenken, noch bevor man Container verwendet, ist unerlässlich. Jede Maschine ist im Grunde genommen ein Betriebssystem mit eigenen Bibliotheken und Binärdateien. Mit der Zeit können sie anfällig für Sicherheitslücken und andere Bugs werden, die mit den spezifischen Softwareteilen, die in jedem Container laufen, zusammenhängen.
Die meisten Container-Runtimes teilen sich nur den Kernel zwischen den einzelnen Containern, was nur eine begrenzte Isolierung ermöglicht. Anders gesagt: Wenn ein Container kompromittiert wird, zieht das mit hoher Wahrscheinlichkeit andere Container und den zugrunde liegenden Host in Mitleidenschaft. Darum ist es so wichtig, dass auch Container regelmäßig Updates und Patches erhalten.
Welche Möglichkeiten gibt es, diese Herausforderung zu bewältigen? Da sind zunächst einmal CI/CD-Pipelines, mit denen die Anwendungen mit den neuesten Patches automatisiert erstellt, getestet und bereitgestellt werden können. Darüber hinaus ermöglichen Container-Laufzeiten wie die Open-Source-Lösung Kata eine bessere Isolierung von Containern, indem sie die Funktionalität der zugrunde liegenden Hardware, z.B. die Anweisungen zur CPU-Virtualisierung nutzen. Drittanbieter-Lösungen können die Sicherheit nicht nur während der Bereitstellung, sondern auch in der Entwicklungsphase überprüfen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
4. Der Versuch, ungeeignete Workloads auf Container zu portieren
Sehr häufig treffen Organisationen Entscheidungen zur Container-Migration und ignorieren dabei völlig, dass ihre bestehenden Workloads nicht für die Migration bereit sind. Versuche, monolithische Legacy-Anwendungen in Container zu packen, enden in der Regel nicht sehr gut.
Die Migration zu Containern sollte eine strategische Unternehmensentscheidung sein und sowohl die Infrastruktur als auch die Anwendungen umfassen. Vor der Migration zu Containern sollten die bestehenden Workloads auf Grundlage der Micro Services-Architektur neugestaltet werden.
Darüber hinaus sind einige Anwendungen einfach weder für Container noch für die Microservices-Architektur geeignet. Beispiele für solche Anwendungen beinhalten Dienste, die bestimmte Hardware-Erweiterungen (z.B. Virtualisierung) erfordern, oder zustandsabhängige Dienste, die Daten lokal speichern.
5. Potenzielle Container-Inkompatibilitäten werden unterschätzt
Trotz der Portabilität von Containern kann es unter Umständen Inkompatibilitäten zwischen einem Container und dem zugrunde liegenden Betriebssystem oder der Plattform as a Service (PaaS) geben, die ein Unternehmen verwendet. So kommt es vor, dass eine Anwendung zum Beispiel innerhalb des Containers eine Kernel-Funktionalität aufruft oder sich auf diese verlässt, diese im Kernel des zugrunde liegenden Host-Betriebssystem oder PaaS aber noch nicht verfügbar ist.
Außerdem stellen manche Anbieter proprietäre CLI-Tools und Erweiterungen für offene APIs, wie z.B. die von Kubernetes bereit. Das macht das Verschieben von Workloads von einer PaaS zu einer anderen schwierig. Es erschwert auch das Einrichten von Multi-Cloud-Umgebungen, wenn eine PaaS-Lösung nur in einer einzigen Cloud verwendet werden kann.
Hier empfiehlt es sich, die Prinzipien der Twelve Factor App zu befolgen, einer Methodik zum Erstellen moderner Software-as-a-Service-Anwendungen. Plattformen wie Kubernetes sind um diese Architekturen herum konzipiert, daher sollte man sich mit diesen Architekturen gut vertraut machen.
Stephan Fabel
(Bild: Canonical)
Container sind die Zukunft und zunehmend schon auch die Gegenwart der Anwendungsentwicklung. Es ist wichtig, eine Reihe von Best Practices zu entwickeln und Container-Fehler zu vermeiden, damit jedes Unternehmen von den besonderen Vorteilen der Technologie profitieren kann.