HashiCorp Nomad: orchestratore semplice alternativo a Kubernetes

Nomad 0.6 (agosto 2017) di HashiCorp: orchestratore di workload in singolo binario Go, supporta container + VMs + binari + batch jobs, federated multi-cluster, integrazione con Consul e Vault. L'alternativa pragmatica a Kubernetes.

Open SourceWeb NomadHashiCorpOrchestratorContainerCloudOpen Source

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.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi