Nomad is a distributed, highly available, and flexible data center-aware cluster manager and scheduler in the container orchestration space.
HashiCorp released Nomad to support the scheduling and deployment of tasks across worker nodes in a cluster. It helps deploy and manage containers and non-containerized applications on various infrastructures at scale across on-premises or cloud environments.
HashiCorp Nomad is easy to use with minimal overhead and supports virtualized, containerized, or stand-alone applications running on all major operating systems. It can handle a broad range of workloads, and users can orchestrate any type of application, not just containers. Nomad focuses on container scheduling and cluster management by optimized resource utilization with bin packing and is designed with the Unix philosophy as well as integrates with the HashiCorp ecosystem.
See below to learn all about the Nomad by HashiCorp and where it stands in the container orchestration sector:
The Container Orchestration Market
The global container orchestration market was estimated to be valued at $454 million in 2021, and it is expected to reach $1.78 billion by 2027, registering a compound annual growth rate (CAGR) of 16.62% from 2022 to 2027, according to Research And Markets.
Nomad Key Features
Nomad is a feature-rich and high-performance environment that allows users to run applications on various infrastructures and at scale. Some of the key features of Nomad are below:
Multi-Region Federation
HashiCorp Nomad operates at a regional level and delivers higher level support for a federation that enables users to submit jobs or interact with the HTTP API, targeting a server regardless of region. Federating multiple clusters requires connectivity between the clusters, and the servers in each cluster can communicate over RPC and Serf. Once the servers connect over the network, users can issue the Nomad server join command to federate the clusters from a server in one region to a server from a remote region.
HashiCorp and Community Tools
Several external tools help to improve performance and include additional capabilities and use cases for Nomad. The tools are installed separately from Nomad itself and can sometimes be deployed as a Nomad job in your cluster.
The external tools that are currently available for Nomad are maintained by HashiCorp: including Autoscaling, Damon, Levant, Nomad Pack, and OpenAPI.
There are many external tools currently available for Nomad that are maintained by Nomad Community members: such as Caravan, Chaotic, Deadman Check, Hashi Up, HashiBox, Jenkins Nomad Cloud Plugin, Kreconciler, and Nelson.
Migration and Outage Recovery
It can be challenging to migrate existing applications to the containers. Nomad’s flexible workload support enables running the containerized, non-containerized, and batch applications by migrating at one single workflow during the whole journey. It natively supports running legacy applications, static binaries, Java JARs, QEMU virtual machines, and simple OS commands directly. It also without the cost of rewriting or refactoring and brings bin packing, automation, multi-upgrade strategies for container orchestration.
Depending on a deployment configuration, it may take a single server failure for cluster unavailability, and recovery requires an operator to intervene, but the process is straightforward. Nomad allows for recovery from an outage due to a majority of server nodes in a data center being lost.
Use Cases
HashiCorp Nomad is a widely used environment that delivers container orchestration to a variety of users across organizations of all sizes.
Orchestration benefits can be included in existing services and one workflow in order to deploy to the cloud or bare metal environments.
“Nomad saved us dozens of hours a week just on basic things like setting up new configurations or adding to servers. What used to take a week now takes a few minutes and eliminates the barriers that used to prevent us from shipping new features and services as quickly as our customers had hoped.” -Jordan Hager, VP of hosting architecture, Q2 Software
“We’re confident in our choice of Nomad as our application scheduler and have since integrated Consul into our stack as well. Bowery will continue to build more and more farms which will each have a number of Nomad clients, ready to accept and run any service we dream up. Nomad has proven itself to be highly scalable, and we’re excited to scale our business alongside it.” -John Spencer, senior site reliability engineer, Bowery
Differentiators
Nomad enables multicloud applications and integrates with Terraform Consul and Vault for provisioning and service networking. Some of the key areas of differentiation for HashiCorp Nomad are below:
Advanced Scheduling
The Nomad scheduler uses a bin-packing algorithm to optimize the resource utilization and density of applications in the Nomad cluster. Nomad 0.9 adds new features to allow operators more fine-grained control over allocation placement. This enables expressing a preference for a certain class of nodes for a specific application via the affinity stanza and spreading allocations across a data center, rack, or another node attribute or metadata with the spread stanza.
Auto-scaling
Nomad allows users to automatically maintain cluster and workload instance count to respond to demand, while minimizing over-provisioning costs. Nomad Autoscaler is built and released separately and runs as a daemon process, often referred to as the Autocaler Agent, which is a separate and distinct process from a Nomad Agent. The Agent runs as its daemon and requires configuration that can be passed as command-line flags or parsed from a configuration file.
Nomad Helper and Watcher
Nomad community-maintained tools, like nomad-helper and nomad-watcher, make it different from others. The nomad-helper enables teams to quickly onboard themselves with Nomad by exposing scaling functionality in a yaml format for ease of use and sharing. Any NOMAD_* env that the native Nomad CLI tool supports are supported by this tool. The nomad-watcher is a simple tool that allows watching Nomad’s nodes, jobs, deployments, evaluations, allocations, and task states, and writes the events to a file.
User Reviews of Nomad
HashiCorp Nomad receives mostly positive reviews and recommendations from several user review sites. Users G2 rate Nomad at 4.1 out of 5, and users at TrustRadius rate Nomad at 8.7 out of 10.
Users at G2 also give the customer experience ratings below:
- Ease of Use: 7.8 out of 10
- Quality of Support: 5.7 out of 10
Pricing
HashiCorp Nomad offers two pricing packages, open-source and enterprise, both of which are self-managed.
Open source is free for use and includes container orchestration, non-containerized application orchestration, and community support.
The self-managed enterprise package also includes platform, multi-cluster and efficiency, governance and policy, and premium support and services. There is a free 30-day trial of HashiCorp Nomad Enterprise.
Conclusions
HashiCorp Nomad is a widely accepted service provider that has simple, flexible workload orchestration tools. It provides several facilities for the deployment, management, and scaling of different workloads across multiple regions and cloud platforms. It also offers security, scalability, performance, and low operational costs. In addition, with Nomad, it is easy to deploy containerized applications that can work in large development teams. As such, HashiCorp Nomad can be a good container orchestration option for any enterprise.