Nomad by HashiCorp

HashiCorp Nomad allows us to contain and manage any containerized, legacy, or batch application.

What is Nomad?

First released in September 2015 by HashiCorp, Nomad is an easy-to-use workload manager that enables organizations to schedule tasks and deploy applications at any infrastructure and scale. Nomad allows us to contain and manage any containerized, legacy, or batch application.

It was designed to be an orchestrator for general purposes. On the one hand, Nomad is simple to use, on the other hand, it saves its power in handling complex workloads on a massive scale. After careful research of relevant evidence and using sophisticated libraries, HashiCorp team designed technology that is widely adopted in production by Target, PagerDuty, Trivago, eBay, SAP, Pandora, and supported on macOS, Windows, and Linux.

Developers write their code and build software with HashiCorp Nomad using the declarative infrastructure-as-code. Nomad includes bin packing for effective job scheduling and space management optimization.

Nomad jobs

Jobs are Nomad's center as they identify the tasks Nomad will perform. The HCL language is used to describe jobs and makes them easy to understand and version control compliant. Being declarative, jobs solve issues without having to define the exact method to be followed by the programmer. They define what should be run, leaving Nomad with the specifics of where and how.

Architecture of Nomad

The collection of tasks that must run together in Nomad is called task groups. They compose Nomad jobs. Every task is a single application performed by a driver. Drivers allow Nomad to run apps that are virtualized, containerized or standalone.

Nomad benefits and principles

Incorporating resource management and scheduler functions, Nomad gathers information about the tools and skills available per host and use this information by its main servers to make optimal scheduling decisions as jobs are sent. Such technologies provide many possibilities for Nomad, but here are a few highlighted features:

Simple

For storing or communication Nomad does not need any external services. Nomad manages the application, server, and driver errors automatically. Controlling resources and scheduling into a single device, Nomad remains a single 75MB binary and is completely self-sustaining.

Flexible

HashiCorp Nomad extensively supports task drivers. It allows running autonomous, virtualized, and containerized applications. Users can launch Docker containers, virtual machines or Java runtimes quickly. Nomad provides support for Linux, Windows, BSD and OSX and you can run any application flexibly.

Scalable

In real-world processing conditions, Nomad has been shown to scale to clusters of 10K+ nodes. It proves that Nomad can work in parallel, which increases performance and reduces task latency.

Interoperable with HashiCorp products

Nomad is the 8 tool developed by HashiCorp. There is also Vagrant, Packer, Serf, Consul, Terraform, Vault, and Otto. Nevertheless, working with the HashiCorp ecosystem of tools, it doesn’t require any of them for its operation. Team of HashiCorp developers plan to incorporate Nomad more closely to the existing set of tools in order to reach better functionality of service discovery, security, and management capabilities.

Nomad vs Kubernetes

Owing to its usability, versatility, scalability and high performance Nomad differentiates from alike DevOps tools. The compatibility and alignment points of Nomad with HashiCorp Terraform, Consul, and Vault allows it special quick incorporation into current workflows within an enterprise, reducing time-to-market for crucial projects.

The major benefit of Nomad in comparison with Kubernetes is the ability to run not only containers, but also commands, virtual machines, or Java applications. Nomad’s main focus is on task scheduling. Although it has some capabilities for storage orchestration, Nomad was designed to connect newer container-based infrastructures with older binary or virtual machine workloads. By contrast, Kubernetes mostly supports just containers.

Nomad on AWS

Using the Quick Start you can easily deploy a production-ready Nomad cluster into the AWS cloud. All the operations, availability zones, and security groups settings are already configured by the highest standard of the best cloud deployment practices. Deployment into a new VPC (Virtual Private Cloud) or the existing one takes only 35 minutes. Setting the number of Nomad and Consul server and client nodes as well as choosing various instance types makes the deployment of HashiCorp Nomad on AWS highly customizable.

Feel in need of Nomad software? Contact us for your professional assistance.

Connect with our experts Let's talk