Auto-Scaling a Spring Boot Native App With Nomad

Horizontal scaling and in particular auto-scaling is a common challenge for many applications no matter their architectural approach (monolithic or microservices) and the deployment environment (cloud or on-premises). Today's Cloud providers provide a rich variety of options and tools to accommodate this critical requirement: to be able to scale services instances up or down, based on specified rules, in an efficient manner in order to: 

  • Avoid unavailability
  • Ensure the quality of service 
  • Optimize resources utilization
  • Avoid unnecessary charges

Many of the out-of-the-box solutions rely on Kubernetes and offer various levels of abstraction to make this process as smooth as possible. However, there are many cases where we don't really need or cannot afford all these cloud offerings as-a-service or we need to operate our own data center on-premises. As presented in a previous article "Look, Ma! No Pods!", HashiCorp Nomad is a simple and flexible deployment tool, able to manage both containers and non-containerized applications running on-prem, cloud or hybrid environments. Lately, Nomad provides auto-scaling functionality via the Nomad Autoscaler Agent. As described in the Nomad Autoscaler Overview, the following strategies are supported:

CategoriesUncategorized