Warum wir bei Intersys auf Nomad setzen
Docker hat die Softwareentwicklung grundlegend verändert. In modernen, verteilten Architekturen mit Microservices reicht Docker allein jedoch nicht aus. Orchestrierungswerkzeuge wie Kubernetes, Docker Swarm oder Nomad übernehmen die automatische Verwaltung und Skalierung der Workloads.
Kubernetes hat sich als Branchenstandard etabliert. Wir haben uns bei Intersys trotzdem bewusst für HashiCorp Nomad entschieden: Für unsere Anforderungen ist Nomad eine schlankere, flexible und effiziente Alternative.
Grundprinzipien von Nomad
- Ein einzelnes, leicht zu installierendes Binary.
- On-premises oder in der Cloud betreibbar.
- Leichtgewichtige, deklarative Job-Spezifikationen.
- Unterstützung für Container, Binärdateien, Java-Anwendungen und Batch-Jobs.
- Automatische Neustart-Strategien und skalierbare Workloads.
Der Nomad-Cluster
Ein Cluster besteht aus Server Nodes für das Cluster-Management und die Planung der Workloads sowie aus Client Nodes, die die geplanten Workloads ausführen. Die Server Nodes stimmen sich über den Raft-Konsensalgorithmus ab.

Job-Spezifikation
Workloads werden in HCL (HashiCorp Configuration Language) definiert. Eine Job-Spezifikation beschreibt den Job, seine Gruppen und die darin ausgeführten Tasks. Das folgende Beispiel startet einen NGINX-Webserver als Docker-Task.
job "demo" {
datacenters = ["dc1"]
task "hello-world" {
driver = "docker"
config {
image = "nginx:latest"
}
}
}Damit der Webserver über den Port 25000 erreichbar ist, wird die Job-Konfiguration um eine Gruppe, einen Netzwerk-Port und die Portzuordnung ergänzt.
job "demo" {
datacenters = ["dc1"]
group "hello-world" {
network {
port "http" {
static = "25000"
to = "80"
}
}
task "hello-world" {
driver = "docker"
config {
image = "nginx:latest"
ports = ["http"]
}
}
}
}Erste Schritte mit Nomad
Für eine kurze Demo lässt sich Nomad herunterladen und im Entwicklungsmodus starten.
# Download des Binaries
wget https://releases.hashicorp.com/nomad/1.9.5/nomad_1.9.5_linux_amd64.zip
# Entpacken im gewünschten Verzeichnis
unzip nomad_1.9.5_linux_amd64.zip
# Nomad im Dev-Modus starten (gleichzeitig Client und Server)
./nomad agent -devAnschliessend ist die Nomad-Oberfläche lokal unter http://localhost:4646 erreichbar.

Gründe für den Einsatz
Als familiäres KMU suchten wir eine einfach erlernbare Lösung mit überschaubarem Wartungsaufwand. Nach der Evaluation von Kubernetes, OpenShift und HashiCorp Nomad haben wir uns für Nomad entschieden. Ausschlaggebend waren die schnelle Einführung, der geringe Wartungsaufwand und die stabile Performance.
Was gegen Nomad spricht
- Kubernetes ist Marktführer und hat eine grössere Community sowie mehr Werkzeuge.
- Die Abhängigkeit von HashiCorp muss bei strategischen Entscheiden berücksichtigt werden.
Fazit
Für uns als KMU überwiegen die Vorteile von Nomad: einfache Handhabung, geringer Wartungsaufwand und hohe Stabilität. Trotz der Dominanz von Kubernetes ist Nomad für unsere Anforderungen die richtige Wahl.




