Un orchestratore diverso
Kubernetes ha vinto la guerra degli orchestratori container, ma con un costo: complessità operativa elevata, curve di apprendimento ripide, decine di componenti, aggiornamenti frequenti. Per molte organizzazioni con carichi semplici, Kubernetes è oltre le necessità.
HashiCorp Nomad, primo rilascio nel settembre 2015, offre un’alternativa deliberatamente semplice. La 0.6 del agosto 2017 è una versione matura. Licenza MPL 2.0 (fino al 2023, BSL poi).
Cosa differenzia Nomad
- Singolo binario Go — agent che può essere server (control plane) o client (data plane)
- Meno componenti — no etcd, no API server multipli, no scheduler separato (integrato)
- Workload eterogeneo — container Docker + runc, VMs (via QEMU), binari nudi, batch jobs, GPU workload
- Multi-datacenter federation nativo
- Integrazione HashiCorp stack — Consul per service discovery, Vault per secrets, Terraform per IaC
Architettura
Nomad ha server (raft cluster, tipicamente 3-5) e client (nodi worker). Un nomad job run invia una specifica HCL che descrive:
- Tipo di task (driver: docker, exec, raw_exec, java, qemu)
- Risorse (CPU, memoria, disco)
- Count, restart policy, update strategy
- Network, affinities, constraints
Lo scheduler interno assegna allocazioni ai client. Il modello semantico è più semplice di Kubernetes: non ci sono ~80 tipi di risorse; i task sono l’unità base, raggruppati in group e job.
Quando Nomad vince
- Team piccoli senza platform engineering dedicato
- Workload eterogeneo misto container/non-container
- HPC e batch — Nomad ha batch scheduler nativo
- Edge deployment — agent leggero su hardware limitato
- Multi-cloud semplice con federation
- Uso di Consul già esistente
Quando Kubernetes è meglio
- Ecosistema CNCF maturo (Helm, Operators, service mesh)
- Standardizzazione industry — più talento disponibile
- Cloud managed offerings (EKS, GKE, AKS)
- Applicazioni cloud-native complete con molti microservizi
Adozione
- Cloudflare — gestisce migliaia di nodi edge con Nomad
- CircleCI — infrastruttura CI
- Roblox — gaming
- Trivago, GitHub Actions edge, Pandora
Nel contesto italiano
Adoption limitata ma presente in:
- Startup con team piccoli
- HPC academici — batch scheduling
- Aziende con Consul/Vault già deployato
Riferimenti: Nomad 0.6 (agosto 2017). HashiCorp. Licenza MPL 2.0 (fino a 2023, poi BSL). Scheduler integrato. Multi-driver: docker, exec, raw_exec, java, qemu. Integrazione Consul + Vault + Terraform.
