+ 1

What is Nomad?

Nomad is a cluster manager, designed for both long lived services and short lived batch processing workloads. Developers use a declarative job specification to submit work, and Nomad ensures constraints are satisfied and resource utilization is optimized by efficient task packing. Nomad supports all major operating systems and virtualized, containerized, or standalone applications.
Nomad is a tool in the Cluster Management category of a tech stack.
Nomad is an open source tool with 6.6K GitHub stars and 1.1K GitHub forks. Here’s a link to Nomad's open source repository on GitHub

Who uses Nomad?

41 companies reportedly use Nomad in their tech stacks, including trivago, CircleCI, and Wealthsimple.

97 developers on StackShare have stated that they use Nomad.

Nomad Integrations

Docker, Consul, Vault, Habitat, and Portworx are some of the popular tools that integrate with Nomad. Here's a list of all 6 tools that integrate with Nomad.
Public Decisions about Nomad

Here are some stack decisions, common use cases and reviews by companies and developers who chose Nomad in their tech stack.

Robert Zuber
Robert Zuber

Our backend consists of two major pools of machines. One pool hosts the systems that run our site, manage jobs, and send notifications. These services are deployed within Docker containers orchestrated in Kubernetes. Due to Kubernetes’ ecosystem and toolchain, it was an obvious choice for our fairly statically-defined processes: the rate of change of job types or how many we may need in our internal stack is relatively low.

The other pool of machines is for running our users’ jobs. Because we cannot dynamically predict demand, what types of jobs our users need to have run, nor the resources required for each of those jobs, we found that Nomad excelled over Kubernetes in this area.

We’re also using Helm to make it easier to deploy new services into Kubernetes. We create a chart (i.e. package) for each service. This lets us easily roll back new software and gives us an audit trail of what was installed or upgraded.

See more

Nomad's Features

  • Handles the scheduling and upgrading of the applications over time
  • With built-in dry-run execution, Nomad shows what scheduling decisions it will take before it takes them. Operators can approve or deny these changes to create a safe and reproducible workflow
  • Nomad runs applications and ensures they keep running in failure scenarios. In addition to long-running services, Nomad can schedule batch jobs, distributed cron jobs, and parameterized jobs
  • Stream logs, send signals, and interact with the file system of scheduled applications. These operator-friendly commands bring the familiar debugging tools to a scheduled world

Nomad Alternatives & Comparisons

What are some alternatives to Nomad?
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Apache Mesos
Apache Mesos is a cluster manager that simplifies the complexity of running applications on a shared pool of servers.
Unlike traditional operating systems, DC/OS spans multiple machines within a network, aggregating their resources to maximize utilization by distributed applications.
Mesosphere offers a layer of software that organizes your machines, VMs, and cloud instances and lets applications draw from a single pool of intelligently- and dynamically-allocated resources, increasing efficiency and reducing operational complexity.
YARN Hadoop
Its fundamental idea is to split up the functionalities of resource management and job scheduling/monitoring into separate daemons. The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM).
See all alternatives

Nomad's Followers
177 developers follow Nomad to keep up with related blogs and decisions.
Thomas Castellengo
Abubakr Snyders
Duncan McCreadie
Lauren Caplan
Uzair Jamil
Yuri Gomozov
Benjamin GOURIOU
Brian Aguirre