HashiCorp Nomad — Flexible Workload Orchestrator
Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy containers, VMs, Java apps, and binaries on bare metal. Smaller and simpler than Kubernetes with native Consul and Vault integration.
What it is
HashiCorp Nomad is a flexible workload orchestrator that deploys and manages containers, virtual machines, Java applications, and standalone binaries across on-prem and cloud infrastructure. Unlike Kubernetes, Nomad handles non-containerized workloads natively and operates as a single binary with no external dependencies.
The tool targets platform teams and DevOps engineers who need orchestration for mixed workloads -- not just containers -- without the operational complexity of Kubernetes.
How it saves time or tokens
Nomad uses a simple job specification format (HCL) that is shorter and easier to learn than Kubernetes YAML manifests. A basic deployment requires a single job file rather than separate Deployment, Service, ConfigMap, and Ingress resources. The single-binary architecture means no etcd, no API server, and no control plane components to manage.
How to use
- Install Nomad:
brew install nomador download the binary from HashiCorp releases. - Start a dev agent:
nomad agent -devfor local testing. - Write a job file and deploy:
nomad job run my-app.nomad.hcl.
Example
# my-app.nomad.hcl
job 'web-api' {
datacenters = ['dc1']
type = 'service'
group 'api' {
count = 3
network {
port 'http' { to = 8080 }
}
task 'server' {
driver = 'docker'
config {
image = 'my-api:latest'
ports = ['http']
}
resources {
cpu = 500
memory = 256
}
}
}
}
Related on TokRepo
- AI Tools for DevOps -- infrastructure and deployment automation tools
- AI Tools for Self-Hosted -- self-hosted infrastructure solutions
Common pitfalls
- Nomad does not include a service mesh by default. Pair it with Consul for service discovery and Vault for secrets management.
- The community edition uses the BSL license since 2023. Check license compatibility for your use case before adopting.
- Nomad's ecosystem is smaller than Kubernetes. Fewer third-party integrations and Helm-style package managers are available.
Frequently Asked Questions
Choose Nomad when you need to orchestrate mixed workloads (containers + VMs + binaries), want simpler operations with a single binary, or have a smaller team that cannot justify the Kubernetes learning curve. Kubernetes is better for large container-only deployments with a rich ecosystem.
Yes. Nomad has a built-in Docker task driver that pulls and runs container images. It also supports Podman, containerd, Java, QEMU, and raw exec drivers for non-containerized workloads.
Nomad supports manual scaling via the count parameter and automatic scaling through the Nomad Autoscaler. It can scale based on CPU, memory, or custom metrics from Prometheus or Datadog.
The community edition is available under the Business Source License (BSL). It is free for most use cases but has restrictions for competing products. HashiCorp also offers an Enterprise edition with additional features.
Yes. HashiCorp provides a Terraform provider for Nomad that lets you manage jobs, namespaces, and ACL policies as infrastructure code. This fits naturally into existing HashiCorp workflows.
Citations (3)
- Nomad GitHub— Single-binary workload orchestrator for mixed workloads
- Nomad Task Drivers Docs— Supports Docker, Java, QEMU, and exec task drivers
- Nomad Job Spec Docs— HCL-based job specification format
Related on TokRepo
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.