github.com/hashicorp/nomad

Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

Open this visualization on its own page →

Contributors

492

Lines of Code

71,494

From

2015-06-01

To

2020-12-21

About hashicorp/nomad

Nomad is a workload orchestrator built in Go that enables organizations to deploy and manage diverse application types across multiple infrastructure environments. It supports containers via Docker and Podman, non-containerized applications through executable and Java task drivers, and virtual machines using QEMU, all within a single unified platform. The orchestrator runs as a self-contained single binary on Linux, Windows, and macOS, requiring no external services for storage or coordination.

The system is designed for simplicity and reliability, with built-in features for handling application, node, and driver failures through leader election and state replication for high availability. Nomad provides native support for GPU workloads used in machine learning and artificial intelligence through device plugins that detect and utilize hardware resources like GPUs, FPGAs, and TPUs. It offers federation capabilities for multi-region and multi-cloud deployments and has been proven to scale to clusters with over ten thousand nodes in production environments.

Nomad integrates seamlessly with the broader HashiCorp ecosystem, including Terraform for infrastructure provisioning, Consul for service discovery, and Vault for secrets management. A commercial Nomad Enterprise version is available alongside the open-source offering, with comprehensive documentation, tutorials, and a public roadmap for upcoming features maintained by HashiCorp.

Share this video