Bootiful workload orchestration with Hashicorp Nomad

By Martin Ahrer

Elevator Pitch

What if we had a workload orchestrator that allows to run (legacy) Java applications, container and native workload without having to convert everything into a container? In this talk attendees learn using Nomad to schedule Java, container, GraalVM native Spring Boot workloads running side by side.

Description

What if we had a workload orchestrator that allows to run (legacy) Java applications, container and native workload without having to convert everything into a container?

K8s has become standard for running container workload. It is popular for its flexibility, power and wide industry support but it comes with some costs. This is where Hashicorp Nomad steps in as an alternative when you don’t want to containerize your existing applications.

In this talk attendees get a short intro to Nomad and learn to schedule Java, container, GraalVM native Spring Boot workloads running side by side.

Notes

I have worked with containers even before Docker 1.0 was released. Since then I have helped numerous clients introducing containers in their development workflow.

After working with K8S, clients complained about costs operating their on-premise K8s clusters and seeked for my support. They had some legacy Spring framework based application and also asked for development of a new Spring Boot based product suite. Yet they needed a low-cost platform to run both without being forced to touch on their legacy applications or containerize them. Back then Hashicorp Nomad was still in its pre 1.0 stage I decided that this would be the platform to go for. When Spring Boot 3.0 was released recently, adding the option to compile to a GraalVM native application, this just was confirming the choice of Nomad as it is also able to run native workload.

During the presentation, attendees will get a brief overview of Nomad, a comparison to K8S and will see a live demonstration of deploying the same Spring Boot 3 application deployed as container and as native application side by side with a minimum of deployment changes.