There’s a lot going on at the edge of the network right now, and one organization that’s making real waves is HashiCorp, with their open source orchestrator, Nomad.
For the uninitiated, Nomad is a lightweight, flexible, workload scheduler that enables organizations to easily deploy and manage containerized or legacy applications using a single, unified workflow.
Unlike Kubernetes, Nomad requires substantially fewer system resources to run and is a completely self-contained binary, making deployment and operations possible across a diverse range of hardware profiles (ARM, ARM64, IA-32, x86-64). With its support for the Docker driver, Nomad can be used to deploy any container-based application to a group of Docker hosts, and as Nomad is simply an orchestrator of jobs, any running container has access to the full array of Docker functionality (eg device support, privileged mode etc).
Portainer has had numerous requests to support Nomad as an alternative to Kubernetes at the far edge, and this is what we are now introducing. Portainer now provides a simple way for users to centrally deploy and manage Nomad jobs to many thousands of disparate clusters concurrently across sporadically connected networks, and without any requirement of central or federated Nomad instances.
Leveraging a central deployment of Portainer, and Portainer “edge” agents deployed on remote Nomad environments, Portainer “edge stacks” can be used to deploy any nomad HCL job spec, even if the network connection is currently unavailable (the job will simply sit pending). If new Nomad environments are provisioned, and added to an existing group, any applications that have previously been defined to run on members of that group will automatically be deployed. These two functions allow for the easy management of distributed clusters, applications, and groups of applications, all from a central Portainer instance.
With Portainer, users can deploy apps to thousands of clusters simultaneously with a single job file, which is a huge time saving for organizations operating at any kind of scale. They can also use Portainer to connect to individual clusters, inspect job logs/events, and triage issues, which improves MTTR and makes scale out deployments of Nomad more practical.
With the universal nature of Portainer, users can manage Nomad clusters alongside existing Docker, Swarm or Kubernetes environments through a single pane of glass with a common interface for all. For organizations using multiple orchestrators, this is a major improvement to operational processes as it requires users to only learn one tool.
And with the Intel-related functionality added in Portainer 2.12, operations teams can now remotely access edge devices and update firmware as well as any applications running, which further improves the efficiency of operational teams.
Inside Portainer, users will find Nomad is an additional deployment option for Edge Agents and jobs are deployed to it via the existing Edge Stacks functionality. You can manage existing jobs via the environment's options.
The Nomad functionality is only available in Portainer Business Edition and can be used for free with our 5Node Free program.