Scaling Your Spring Boot App to Zero
Serverless with scale to zero is very popular today. It lets you save server resources and money by only having your web app running when it is actually busy serving requests. JVM-based Spring Boot apps typically take several seconds to start, which introduces unwanted lag. We now have two exciting solutions available in Spring Boot 3 for this problem: compiling your app as a native application using GraalVM, or using the coordinated restore at checkpoint (CrAC) feature of OpenJDK. Both of these reduce start-up time to milliseconds.
We will take a look at using scale to zero for Spring Cloud Function apps as well as regular Spring Boot web apps running on Kubernetes with Knative and VMware Tanzu Application Platform. We will also explore using various cloud environments and any issues building and deploying your scale-to-zero apps.