Weg A oder Weg B — Docker Compose oder Kubernetes?

Du hast eine Anwendung containerisiert. Jetzt stellt sich die Frage: Wie orchestriere ich die Container? Zwei Wege tun sich auf: Docker Compose auf dem Host oder ein vollwertiges Kubernetes-Cluster. Beide funktionieren. Beide haben ihre Daseinsberechtigung. Aber für welches Projekt passt was?
Weg A: Docker Compose auf dem Host
Docker Compose ist der pragmatische Einstieg. Eine docker-compose.yml beschreibt Services, Netzwerke und Volumes. docker compose up -d startet alles. Kein separates Cluster, kein Overhead, keine steile Lernkurve.
Vorteile:
- Sofort produktiv einsetzbar, auch auf einem einzelnen Server
- Konfiguration bleibt lesbar und versionierbar
- Ideal für kleine bis mittlere Setups (weniger als 10 Services)
- Ressourcenverbrauch minimal — kein zusätzlicher Control Plane
Nachteile:
- Kein automatisches Self-Healing bei Container-Absturz (außer mit
restart: always) - Kein Rolling Update out of the box — du musst neu starten
- Skalierung auf mehrere Hosts erfordert zusätzliche Tools wie Swarm
- Monitoring und Logging baust du selbst zusammen
Ideal, wenn du ein einzelnes VPS oder einen kleinen dedizierten Server betreibst und deine Services übersichtlich sind.
Weg B: Kubernetes (managed)
Kubernetes ist der Industriestandard. Ob managed (EKS, GKE, AKS) oder selbst gehostet — es bietet eine Control Plane, die deine Container überwacht, neu startet, skaliert und rolling Updates durchführt.
Vorteile:
- Self-Healing, Auto-Scaling und Rolling Updates eingebaut
- Service Discovery, Load Balancing und Secrets-Management native
- Skaliert problemlos auf Dutzende Services und Dutzende Nodes
- Riesiges Ökosystem an Tools und Operatorn
Nachteile:
- Hohe Komplexität — YAML-Wahn, Konzepte wie Pods, Deployments, Services, Ingress müssen sitzen
- Overhead auch für kleine Cluster: Control Plane verbraucht Ressourcen
- Managed-Cluster kosten Geld, selbst gehostet braucht Wartung
- Debugging kann zur Geduldsprobe werden
Ideal, wenn du bereits mehrere Services betreibst, Hochverfügbarkeit brauchst oder dein Team mit Kubernetes vertraut ist.
Direkter Vergleich
- Lernkurve: Compose flach, Kubernetes steil
- Overhead: Compose minimal, Kubernetes erheblich
- Multi-Host: Compose nur mit Swarm, Kubernetes nativ
- Self-Healing: Compose manuell/restart-Policy, Kubernetes automatisch
- Kosten: Compose = ein Server, Kubernetes = Cluster + ggf. Managed-Gebühren
- Ökosystem: Compose bescheiden, Kubernetes riesig
Fazit
Die Antwort ist nicht “entweder/oder”, sondern “für welches Stadium”. Compose ist kein Lügenbaron — es bringt dich schnell von 0 auf 80 Prozent. Kubernetes ist kein Overkill per se, sondern ein Werkzeug für den Punkt, an dem du die 80 Prozent nicht mehr ausreichen.
Welchen Weg gehst du?