Documentation
Schedulers
Learn more about the various Nomad scheduler types that can be used when creating your job: service, batch, system, and sysbatch.
Use case
Run and manage short-lived batch jobs at scale.
Challenge
Running batch jobs on schedulers like Kubernetes is overly complex and limited in terms of scheduling throughput and scalability. Common issues with the default Kubernetes autoscaler and job controller include duplicated batch jobs or pods failing and restarting mid process. To mitigate the impact of these interruptions, many have had to create custom tooling or workarounds.
Solution
Nomad can natively run batch, system batch, and parameterized jobs. Nomad's architecture enables easy scalability and an optimistically concurrent scheduling strategy that can yield thousands of container deployments per second. With the Nomad Autoscaler, it's possible to automatically provision clients only when a batch job is enqueued, and decommission them once the work is complete, saving time and money, since there's no need for manual intervention and the resources are only active for just as long as there are jobs to run.
Documentation
Learn more about the various Nomad scheduler types that can be used when creating your job: service, batch, system, and sysbatch.
Blog
This blog presents two approaches to injecting variability into your Nomad batch job template without having to modify the template in the future.
Tutorial
This tutorial provides a basic demo for provisioning clients on demand as new requests for running a batch job are enqueued.
Tutorial
In this tutorial, you will take a Nomad batch job that renders a template and convert it to a parameterized job.
Tutorial
Learn how Preemption allows Nomad to evict running allocations to place allocations of a higher priority.