Das unterschätzte Kubernetes-Alternative

Wenn Entwickler über Container-Orchestrierung sprechen, denken die meisten sofort an Kubernetes. Nomad von HashiCorp führt ein Schattendasein – zu Unrecht. Für bestimmte Anwendungsfälle ist Nomad die elegantere Lösung.


Nomad: Einfachheit und Flexibilität

Nomad ist ein Workload-Scheduler, kein reiner Container-Orchestrator. Das ist ein wichtiger Unterschied: Nomad kann Docker-Container, aber auch Java-Anwendungen, Binaries und sogar VMs orchestrieren.

Stärken:

  • Einfache Architektur: Ein Binary, kein komplexes Control-Plane-Setup
  • Workload-Flexibilität: Docker, Podman, Java, Raw Exec, VMs
  • HashiCorp-Integration: Natürlich kompatibel mit Vault, Consul, Terraform
  • Geringer Ressourcenbedarf: Nomad-Agents sind deutlich leichtgewichtiger
  • Multi-Cloud: Einfaches Federated Deployment über mehrere Regionen
  • Lernkurve: Deutlich flacher als Kubernetes

Schwächen:

  • Kein eingebautes Service Mesh (braucht Consul)
  • Kleineres Ecosystem als Kubernetes
  • Weniger fertige Lösungen (keine Helm-Äquivalente)
  • Ingress-Controller nicht so ausgereift wie in Kubernetes

Kubernetes: Der Feature-reiche Standard

Kubernetes hat durch sein riesiges Ecosystem die Container-Orchestrierung standardisiert. Helm, ArgoCD, Prometheus-Operator, Cert-Manager – das Kubernetes-Ecosystem ist enorm.

Was Kubernetes besser macht:

  • Service Mesh (Istio, Linkerd) für granulare Traffic-Kontrolle
  • Riesiges Helm-Ecosystem für fertige Applikationen
  • RBAC mit feingranularen Berechtigungen
  • Network Policies für Pod-zu-Pod-Sicherheit
  • Horizontal Pod Autoscaling

Die Kernfrage: Workload-Vielfalt

Der entscheidende Vorteil von Nomad ist die Workload-Vielfalt. Wer neben Docker-Containern auch Java-Prozesse, Go-Binaries oder Legacy-Anwendungen orchestrieren will, ist mit Nomad flexibler.

Workload-Typ Kubernetes Nomad
Docker-Container
Raw Binaries
Java-Apps Umständlich
VMs Via KubeVirt Nativ
Batch-Jobs

Fazit

Kubernetes bleibt für die meisten Teams die richtige Wahl – das Ecosystem und die Verbreitung sind unerreicht. Nomad lohnt sich, wenn man:

  • Heterogene Workloads (keine reinen Container) orchestrieren will
  • Bereits den HashiCorp-Stack (Vault, Consul) nutzt
  • Weniger Ops-Overhead will als mit Kubernetes

Für mein Kubernetes-Setup nutze ich k3s – die leichtgewichtige Distribution, die viele der Nomad-Vorteile in den Kubernetes-Kontext bringt.