From Spring Native to Spring Boot 3

VMware Tanzu
VMware TanzuVMware Tanzu
│
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
Low
memory and
CPU Scale to
zero
Function as
a Service
Microservices
Backoffices
Container
image
distribution
Very frequent
deployment High traffic
website
Unsupported
dependency
Big
monolithic
application
Huge
memory
and
CPU
Agent-based
observability
Kubernetes
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
@NativeHint RuntimeHints
@RegisterReflectionForBinding
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
mvn -PnativeTest clean test
gradle nativeTest
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
> curlie :8080/actuator/prometheus
process_cpu_usage 0.0
process_files_max_files 524288.0
executor_queued_tasks{name="applicationTaskExecutor",} 0.0
jvm_classes_unloaded_classes_total 0.0
tomcat_sessions_active_current_sessions 0.0
tomcat_sessions_created_sessions_total 0.0
executor_pool_core_threads{name="applicationTaskExecutor",} 8.0
process_uptime_seconds 43.158
system_load_average_1m 4.39404296875
jvm_threads_peak_threads 18.0
disk_free_bytes{path="/home/moe/Downloads/demo/.",} 1.24508004352E11
executor_pool_size_threads{name="applicationTaskExecutor",} 0.0
tomcat_sessions_rejected_sessions_total 0.0
tomcat_sessions_expired_sessions_total 0.0
executor_pool_max_threads{name="applicationTaskExecutor",} 2.147483647E9
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
> docker image ls | grep petclinic
spring-petclinic-data-jdbc jvm 896bc2bc6c1c 288MB
spring-petclinic-data-jdbc native 78269635266a 124MB
spring-petclinic-data-jdbc native-upx 1a9056c5d00e 51MB
https://github.com/sdeleuze/image-service
From Spring Native to Spring Boot 3
● VMware and Bellsoft now have a support
agreement in place that provides end-to-end
native support to VMware Tanzu customers via
Liberica Native Image Kit*
● Bellsoft Liberica NIK (based on the GraalVM
Community Edition) and Liberica JDK are used
in native Buildpacks
● Consistent with the JVM side where Liberica
JDK is used
● Fixes and enhancements will be contributed
upstream to GraalVM
* https://bell-sw.com/liberica-native-image-kit/
From Spring Native to Spring Boot 3
From Spring Native to Spring Boot 3
│
1 of 33

More Related Content

More from VMware Tanzu(20)

tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu153 views
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu13 views

Recently uploaded(20)

From Spring Native to Spring Boot 3

  • 1.
  • 4. Low memory and CPU Scale to zero Function as a Service Microservices Backoffices Container image distribution Very frequent deployment High traffic website Unsupported dependency Big monolithic application Huge memory and CPU Agent-based observability Kubernetes
  • 14. @NativeHint RuntimeHints @RegisterReflectionForBinding
  • 20. mvn -PnativeTest clean test gradle nativeTest
  • 23. > curlie :8080/actuator/prometheus process_cpu_usage 0.0 process_files_max_files 524288.0 executor_queued_tasks{name="applicationTaskExecutor",} 0.0 jvm_classes_unloaded_classes_total 0.0 tomcat_sessions_active_current_sessions 0.0 tomcat_sessions_created_sessions_total 0.0 executor_pool_core_threads{name="applicationTaskExecutor",} 8.0 process_uptime_seconds 43.158 system_load_average_1m 4.39404296875 jvm_threads_peak_threads 18.0 disk_free_bytes{path="/home/moe/Downloads/demo/.",} 1.24508004352E11 executor_pool_size_threads{name="applicationTaskExecutor",} 0.0 tomcat_sessions_rejected_sessions_total 0.0 tomcat_sessions_expired_sessions_total 0.0 executor_pool_max_threads{name="applicationTaskExecutor",} 2.147483647E9
  • 27. > docker image ls | grep petclinic spring-petclinic-data-jdbc jvm 896bc2bc6c1c 288MB spring-petclinic-data-jdbc native 78269635266a 124MB spring-petclinic-data-jdbc native-upx 1a9056c5d00e 51MB
  • 28. https://github.com/sdeleuze/image-service
  • 30. ● VMware and Bellsoft now have a support agreement in place that provides end-to-end native support to VMware Tanzu customers via Liberica Native Image Kit* ● Bellsoft Liberica NIK (based on the GraalVM Community Edition) and Liberica JDK are used in native Buildpacks ● Consistent with the JVM side where Liberica JDK is used ● Fixes and enhancements will be contributed upstream to GraalVM * https://bell-sw.com/liberica-native-image-kit/
  • 33.

Editor's Notes

  1. Moritz & Sebastien Introduce ourselves
  2. Moritz
  3. Moritz
  4. Sébastien
  5. Sébastien
  6. Moritz + Sébastien
  7. Moritz Show start.spring.io Show build.gradle Show help.md and reference documentation Create controller Compile to native Start the native image
  8. Sébastien
  9. Sébastien
  10. Sébastien
  11. Sébastien
  12. Sébastien
  13. Sébastien
  14. Sébastien
  15. Sébastien
  16. Moritz
  17. Moritz
  18. Moritz
  19. Moritz
  20. Moritz
  21. Moritz
  22. Moritz
  23. Moritz
  24. Moritz
  25. Sébastien
  26. Sébastien https://docs.google.com/spreadsheets/d/1_KVd9gbZ5mGurAa_K3sTMykjy-U-X86DU_RdEIus7FU/edit#gid=0
  27. Sébastien https://docs.google.com/spreadsheets/d/1_KVd9gbZ5mGurAa_K3sTMykjy-U-X86DU_RdEIus7FU/edit#gid=0
  28. Sébastien From https://github.com/sdeleuze/image-service
  29. Sébastien
  30. Sébastien
  31. Moritz
  32. Moritz
  33. Moritz