The path towards Spring Boot native applications
I would like to use the opportunity of our Spring GraalVM Native 0.7.0 release to give you a status update about our work on Spring Boot native images.
Why?
Native image provides a way to build and run Spring Boot applications with different characteristics than a regular JVM deployment:
-
The output is a native executable that contains your application with a subset of the JDK and the dependencies required to run it.
-
In practice the executable would likely be shipped in an highly optimized container image (
FROM scratch
Docker image is supported) with reduced surface attack which is good fit with Kubernetes. -
Startup time is almost instant and peak performance is available immediately, allowing support for scale-to-zero (serverless) applications including for regular Spring Boot web applications.
-
Memory consumption is reduced, which is a good fit for systems split into multiple microservices.
…