Container-Technologie

Ein umfassender Überblick: Wie Software durch Container-Lösungen schneller, einfacher und zuverlässiger entwickelt und deployed wird

Die Grundlagen

1. Was ist Container-Technologie oder Container-Virtualisierung?

Ein Container ist eine standardisierte, in sich geschlossene Software-Einheit. Container-Virtualisierung ermöglicht es, eine Anwendung unabhängig vom Host-Betriebssystem (OS) zu betreiben. Der Container kapselt eine gesamte Anwendung – einschliesslich Code, Abhängigkeiten und Konfiguration – in einem klar definierten, portablen Format auf Basis des Open Container Initiative (OCI)-Standards.

Der OCI-Standard sorgt dafür, dass Images, die mit einem beliebigen OCI-kompatiblen Tool (Docker, Podman, Buildah, Kaniko usw.) erstellt wurden, ohne Anpassung auf jeder OCI-kompatiblen Container-Runtime und Orchestrierungsplattform, einschliesslich Kubernetes, laufen.

2. Was sind die Vorteile einer Container-Lösung?

Die Standardisierung eines Containers und seine Unabhängigkeit vom Host-OS bieten attraktive Vorteile für die Entwicklung und den Betrieb von Software:

3. Was sind die Unterschiede zwischen Container-Lösungen und virtuellen Maschinen (VMs)?

Container und virtuelle Maschinen repräsentieren zwei verschiedene Ansätze zum Hosting und Betrieb von Anwendungen in einer virtuellen Umgebung. Bei VMs verteilt ein Hypervisor die physischen Serverressourcen auf virtuelle Maschinen, die jeweils ein dediziertes Betriebssystem benötigen. Container hingegen teilen sich den Host-OS-Kernel: Virtualisierung erfolgt auf Betriebssystemebene. Daher nutzen Container vorhandene Ressourcen deutlich effizienter als VMs und starten schneller.

Container und VMs schliessen sich nicht gegenseitig aus: Die meisten Kubernetes-Produktionsumgebungen betreiben containerisierte Workloads auf VM-Nodes und kombinieren so die Isolationsvorteile von VMs mit der betrieblichen Effizienz von Containern.

4. Welche Risiken sind mit einer Container-Lösung verbunden?

Wer sich intensiver mit Container-Technologie beschäftigt hat, ist möglicherweise auf folgende Bedenken gestossen:

«Container sind für unsere Anforderungen nicht sicher genug.»
Container sind nicht weniger sicher als andere Umgebungen. Die Sicherheit hängt primär davon ab, wie die Umgebung konfiguriert und gewartet wird. Korrekte Pod Security Standards, Image-Scanning, Network Policies und Secret Management sind entscheidende Faktoren. Eine gut konfigurierte Container-Umgebung ist oft auditierbarer und konsistenter als traditionelle Deployments.

«Container-Management ist viel zu komplex für uns.»
Wie bei jeder Veränderung ist die Migration zu einem containerbasierten System mit einem initialen Aufwand verbunden. Anwendungen müssen vorbereitet, Teams geschult und Deployment-Prozesse automatisiert werden. Diese Investition zahlt sich jedoch schnell aus. Die Komplexität lässt sich durch eine Managed-Kubernetes-Plattform erheblich reduzieren, sodass dein Team sich auf die Anwendungsentwicklung konzentrieren kann.

«Wir haben bereits eine Deployment-Strategie. Wir brauchen keine Container.»
Container ersetzen keine Deployment-Strategie, sondern ergänzen und optimieren sie. Es gibt verschiedene Möglichkeiten, Container in eine bestehende IT-Strategie zu integrieren, auch ergänzend zu vorhandener VM-basierter Infrastruktur.

Die Implementierung

5. Welche konkreten Verbesserungen bringt Container-Technologie bei Update- und Deployment-Prozessen?

Bei Update- und Deployment-Prozessen sind Geschwindigkeit und Zuverlässigkeit die entscheidenden Grössen. Genau hier entfalten Container ihre Stärken:

6. Was sind Container-Orchestrierungsplattformen?

Container-Orchestrierungsplattformen verwalten einzelne Container im grossen Massstab. Sie bilden ein dynamisches System, das Container gruppiert und platziert, ihre Netzwerkverbindungen verwaltet und die Kommunikation zwischen ihnen sicherstellt. Diese Plattformen können On-Premise oder auf Cloud-Plattformen betrieben werden. Die am weitesten verbreitete Orchestrierungsplattform ist Kubernetes.

7. Was ist Kubernetes?

Kubernetes ist eine Open-Source-Plattform für die Orchestrierung containerisierter Workloads und Services. Es automatisiert das Deployment, den Betrieb, die Skalierung und das Management containerisierter Anwendungen. Laut dem CNCF Annual Survey 2024 nutzen 80 % der Unternehmen Kubernetes bereits in der Produktion: Es ist der etablierte Standard für den Betrieb von Containern im grossen Massstab.

Kubernetes befindet sich derzeit auf Version v1.33 (April 2025) und veröffentlicht drei neue Minor-Versionen pro Jahr, was das hohe Entwicklungstempo im Ökosystem widerspiegelt.

8. Was ist DevOps?

DevOps als organisatorische und Führungskultur basiert auf drei Prinzipien («The Three Ways»): dem Flussprinzip, dem Feedbackprinzip und dem Prinzip des kontinuierlichen Lernens und Experimentierens. Diese dienen als Rahmen für Prozesse, Verfahren und Praktiken, die auf die Optimierung der Zusammenarbeit zwischen Entwicklungs- und Betriebsteams ausgerichtet sind, mit dem übergeordneten Ziel, Software schneller und zuverlässiger zu liefern.

9. Sind DevOps und Container immer untrennbar?

DevOps als Philosophie und Container als Technologie ergänzen sich hervorragend, sind aber nicht voneinander abhängig. DevOps-Methoden können ohne Container angewendet werden, und Containerisierung ist ohne DevOps-Organisation möglich. Containerbasierte Workflows fördern jedoch von Natur aus Automatisierung, Reproduzierbarkeit und kurze Feedbackzyklen, alles zentrale Aspekte der DevOps-Arbeitsweise.

10. Gibt es Best Practices für das Deployment von Container-Umgebungen?

Helm Charts sind der De-facto-Standard für die Paketierung von Kubernetes-Anwendungen. Sie vereinfachen das Deployment komplexer Multi-Komponenten-Anwendungen erheblich. Starte mit Helm: Die meiste Software von Drittanbietern wird als Helm Chart ausgeliefert.

Für das Kubernetes-Konfigurationsmanagement bietet Kustomize (in kubectl integriert) einen einfachen, template-freien Ansatz für umgebungsspezifische Konfigurationsüberlagerungen. Für Teams, die lieber in Code schreiben, bieten Tools wie cdk8s oder Pulumi programmierbarere Ansätze.

Für Produktions-Deployments gilt das GitOps-Muster (mit Tools wie ArgoCD oder Flux) inzwischen als Best Practice.

11. Wie steil ist die Lernkurve beim Arbeiten mit Containern?

Das hängt vom gewünschten Autonomiegrad ab. Wenn die Container-Plattform vollständig von einem externen Anbieter verwaltet wird, reichen grundlegende Container-Kenntnisse. Bei der Verwaltung der Plattform im eigenen Haus erfordert die Migration zu einer containerbasierten Architektur umfassende Schulungen für Entwickler und Systems Engineers. Ohne solides Fundament ist das Selbst-Management eines Kubernetes-Clusters in der Produktion riskant.

12. Was ist der beste Einstieg in ein Container-Projekt?

Ein praxisnahes Training zu Docker und Kubernetes bietet die ideale Grundlage. Wir bieten kostenlose Kubernetes-Webinare (eine Stunde, Grundlagen und NKE in der Praxis) sowie die ganztägige Nine Kubernetes Academy (CHF 800 / CHF 600 für NKE-Kunden) für Teams, die tieferes, praktisches Wissen erwerben möchten. Beide Formate wurden von unseren CKA-zertifizierten Engineers entwickelt und decken alles von der Cluster-Architektur bis hin zu produktionsreifen Deployment-Mustern ab.

13. Container-Technologie: Managed oder Unmanaged?

Aufgrund der Komplexität beim Aufbau und Betrieb der zugrundeliegenden Infrastruktur – und des schnellen Entwicklungstempos im Kubernetes-Ökosystem (drei Minor-Releases pro Jahr, jeweils mit Security-Updates und Breaking Changes) – empfehlen wir dringend, die Plattformverwaltung an einen Managed-Service-Anbieter zu übergeben. So kann sich dein Team vollständig auf die Anwendungsentwicklung konzentrieren, ohne den betrieblichen Aufwand für Cluster-Upgrades, Zertifikatsmanagement, Monitoring und Backup zu tragen.

14. Was ist GitOps und warum ist es wichtig?

GitOps ist ein Deployment-Muster, bei dem der gewünschte Zustand eines Kubernetes-Clusters in einem Git-Repository deklariert wird und ein automatisierter Agent den Live-Cluster-Zustand kontinuierlich mit dem in Git deklarierten Zustand abgleicht. Tools wie ArgoCD und Flux implementieren dieses Muster. Die Vorteile: vollständig auditierbare Deployment-Historie, einfache Rollbacks, automatische Drift-Erkennung und eine klare Trennung zwischen Infrastrukturzustand und Anwendungscode. GitOps gilt heute als Produktions-Best-Practice für Kubernetes-Deployments.

Sicherheit und Netzwerk

15. Welche Netzwerksysteme und -architekturen sind mit Containern kompatibel?

Container können als sinnvolle Ergänzung oder Alternative zu VMs eingesetzt werden. Sie können bei Bedarf auch mit VM-basierten Systemen innerhalb eines Netzwerks verbunden werden. Kubernetes-Networking wird durch CNI-Plugins (Container Network Interface) gehandhabt: Beliebte Optionen sind Calico, Cilium und Flannel.

Traditionell nutzte Kubernetes Ingress-Ressourcen und -Controller (wie ingress-nginx) für das externe Traffic-Routing. Die Community standardisiert nun auf die Gateway API, die 2024 die Version 1.0 General Availability erreicht hat und einen ausdrucksstärkeren, rollenorientierten Ansatz für das Traffic-Management bietet. Neue Deployments sollten die Gateway API gegenüber Ingress für langfristige Kompatibilität evaluieren.

16. Wie sicher sind Container-Lösungen im Vergleich zu virtuellen Maschinen?

Container sind genauso sicher wie traditionelle Server-Lösungen und VMs: Entscheidend ist, wie die Umgebung konfiguriert und gewartet wird. Wichtige Sicherheitsaspekte in Kubernetes-Umgebungen:

17. Gibt es Alternativen zu Docker für das Erstellen und Betreiben von Containern?

Das Container-Tooling-Ökosystem hat sich erheblich diversifiziert:

Das Team überzeugen

18. Wie kann interne Akzeptanz für die Einführung von Containern geschaffen werden?

Wie bei jeder anderen Innovation sind konkrete Kosteneinsparungen und eine verbesserte Time-to-Market die überzeugendsten Argumente. Praktische Case Studies und Beispiele aus der Praxis sind äusserst wirksam. Zahlen und Geschichten zusammen machen den Fall. Die Erfahrungsberichte unserer Kunden mit dem Wechsel zu NKE sind auf nine.ch verfügbar.

19. Welche realistischen Kosten und Ressourcen sind für eine Container-Lösung zu erwarten?

Die Kosten variieren je nach Grösse und Komplexität des Projekts, dem erforderlichen Schulungsaufwand und ob die Container-Plattform intern oder von einem externen Anbieter verwaltet wird. Eine gründliche Vorabanalyse – idealerweise mit Unterstützung eines erfahrenen externen Partners – hilft dabei, den zu erwartenden Aufwand und die laufenden Betriebskosten realistisch einzuschätzen. Wir bieten Architekturberatung als Teil des Kunden-Onboardings an.

20. Wie überzeuge ich mein Team von Containern?

Die Migration zu einem Container-Setup ist mit einem initialen Aufwand und einer Lernkurve verbunden. Am besten baut man Akzeptanz im Team auf, indem man die Vorteile klar aufzeigt: Zeitersparnis durch automatisierte Prozesse, agile Arbeitsmethoden, vereinfachte Skalierung und verbesserte Deployment-Sicherheit. Ein praxisnahes Training – wie die Nine Kubernetes Academy – ist der effektivste Weg, ein Team schnell von der Theorie in die Praxis zu bringen.

21. Wo finde ich Unterstützung für Container- und Kubernetes-Fragen?

Die offizielle Kubernetes-Dokumentation (kubernetes.io) ist die massgeblichste Quelle für technische Fragen. Die CNCF Landscape (landscape.cncf.io) bietet einen Überblick über das gesamte Cloud-native-Ökosystem. Für Schweizer-spezifische Anforderungen, Architekturberatung oder praktische Unterstützung steht unser Engineering-Team direkt zur Verfügung, nicht über ein anonymes Ticket-System.

Mit einem unserer Engineers über Container-Technologie sprechen

Wir helfen dir gerne weiter, ob du gerade erst anfängst oder einen bestehenden Workload migrieren möchtest.

Kontakt aufnehmen