»What is Nomad?
Nomad is a flexible scheduler and workload orchestrator that enables an organization to easily deploy and manage any containerized or legacy application using a single, unified workflow. Nomad can run a diverse workload of Docker, non-containerized, microservice, and batch applications.
Nomad enables developers to use declarative infrastructure-as-code for deploying applications. Nomad uses bin packing to efficiently schedule jobs and optimize for resource utilization. Nomad is supported on macOS, Windows, and Linux.
Nomad is widely adopted and used in production by PagerDuty, Target, Citadel, Trivago, SAP, Pandora, Roblox, eBay, Deluxe Entertainment, and more. If you haven't already, consider reading some of the customer studies contributed by Nomad customers, like How Roblox built a platform for 100 Million players with Nomad.
Deploy Containers and Legacy Applications: Nomad’s flexibility as an orchestrator enables an organization to run containers, legacy, and batch applications together on the same infrastructure. Nomad brings core orchestration benefits to legacy applications without needing to containerize via pluggable task drivers.
Simple & Reliable: Nomad runs as a single binary and is entirely self contained - combining resource management and scheduling into a single system. Nomad does not require any external services for storage or coordination. Nomad automatically handles application, node, and driver failures. Nomad is distributed and resilient, using leader election and state replication to provide high availability in the event of failures.
Device Plugins & GPU Support: Nomad offers built-in support for GPU workloads such as machine learning (ML) and artificial intelligence (AI). Nomad uses device plugins to automatically detect and utilize resources from hardware devices such as GPU, FPGAs, and TPUs.
Federation for Multi-Region: Nomad has native support for multi-region federation. This built-in capability allows multiple clusters to be linked together, which in turn enables developers to deploy jobs to any cluster in any region. Federation also enables automatic replication of ACL policies, namespaces, resource quotas and Sentinel policies across all clusters.
Proven Scalability: Nomad is optimistically concurrent, which increases throughput and reduces latency for workloads. Nomad has been proven to scale to clusters of 10K+ nodes in real-world production environments. Learn more about the latest scalability benchmark - 2 million container challenge
HashiCorp Ecosystem: Nomad integrates seamlessly with Terraform, Consul, Vault for provisioning, service discovery, and secrets management.
»How Nomad compares to other tools
Nomad differentiates from related tools by virtue of its simplicity, flexibility, scalability, and high performance. Nomad's synergy and integration points with HashiCorp Terraform, Consul, and Vault make it uniquely suited for easy integration into an organization's existing workflows, minimizing the time-to-market for critical initiatives. Read Nomad vs Kubernetes to learn more.
»Nomad's core use cases
Nomad supports several primary use cases, and the full range of potential use cases is broader than what is covered here.
»Docker container orchestration
Organizations are increasingly moving towards a Docker centric workflow for application deployment and management. This transition requires new tooling to automate placement, perform job updates, enable self-service for developers, and to handle failures automatically. Nomad supports a first-class Docker workflow and integrates seamlessly with Consul and Vault to enable a complete solution while maximizing operational flexibility. Nomad is easy to use, can scale to thousands of nodes in a single cluster, and can easily deploy across private data centers and multiple clouds.
»Legacy application deployment
A virtual machine based application deployment strategy can lead to low hardware utilization rates and high infrastructure costs. While a Docker-based deployment strategy can be impractical for some organizations or use cases, the potential for greater automation, increased resilience, and reduced cost is very attractive. Nomad natively supports running legacy applications, static binaries, Java JARs, QEMU virtual machines, and simple OS commands directly. Workloads are natively isolated at runtime and bin packed to maximize efficiency and utilization (reducing cost). Developers and operators benefit from API-driven automation and enhanced reliability for applications through automatic failure handling.
Microservices and Service Oriented Architectures (SOA) are a design paradigm in which many services with narrow scope, tight state encapsulation, and API driven communication interact together to form a larger solution. However, managing hundreds or thousands of services instead of a few large applications creates an operational challenge. Nomad elegantly integrates with Consul for automatic service registration and dynamic rendering of configuration files. Nomad and Consul together provide an ideal solution for managing microservices, making it easier to adopt the paradigm.
»Batch processing workloads
As data science and analytics teams grow in size and complexity, they increasingly benefit from highly performant and scalable tools that can run batch workloads with minimal operational overhead. Nomad can natively run batch jobs and parameterized jobs. Nomad's architecture enables easy scalability and an optimistically concurrent scheduling strategy that can yield thousands of container deployments per second. Alternatives are overly complex and limited in terms of their scheduling throughput, scalability, and multi-cloud capabilities.
»Multi-region and multi-cloud federated deployments
Nomad is designed to natively handle multi-datacenter and multi-region deployments and is cloud agnostic. This allows Nomad to schedule in private datacenters running bare metal, OpenStack, or VMware alongside an AWS, Azure, or GCE cloud deployment. This makes it easier to migrate workloads incrementally and to utilize the cloud for bursting.
These Get Started tutorials give you a quick tour of HashiCorp Nomad. Next, follow the remaining Get Started tutorials in sequential order to install Nomad on your own machine and run, deploy, and manage applications with Nomad.
Now, continue to the first tutorial and install Nomad.