
Member-only story
Spring Boot (3) Spring Native (GraalVM) with Kubernetes & Istioš„
Kubernetes Java Native Application with Spring Boot 3 (Spring Native)
Show some ā¤ļø and ā to support this project
Okay!! so iām just going to jump right in. As some of you might know that Spring Boot 3, Spring Framework 6 has just released been a few days ago before writing this article, here are some of the features we can get excited about š
- Java 17 Baseline
- Records
- Native Executables
- Observability
In this read iām mainly going to focus on how we can build Kubernetes Cloud Native Java Applications using Spring Native (Native Executables) with GraalVM.
- Donāt get me wrong Spring support for Native (Experimental) has already been out for a couple of years, but the reason for us to get excited is the Spring team really took some time to address some issues and bug fixes that Spring Native had prior to this release, and at the time of this writing new milestones will be released.
Okay enough chit-chat :)
Kubernetes Cloud Native Development
This is an idea of building applications and deploying them to a Kubernetes array short-lived containers while addressing mainly two fundamental principles among the others which are Memory utilization and Boot up time and instant peak performance. This deployment paradigm is what is called the Container first approach philosophy.
Enter Graal VM
Graal VM is an Oracle high-performance JDK distribution written for Java and other JVM languages, that provides a Native Image Builder for building native code and package it together with the VM into a standalone executable.
How ā
Staff that used to be done by Java Applications at runtime i.e:
- Compiling source code ā Load and parse configurations ā Analyse dependencies ā Build dependency tree ā Execute Code.
is now being done at build time by Graal VM using a process called Ahead of Time Compilation that uses JIT (Just In time Compiler).