~/talk

Going Serverless With Spring’s Support for GraalVM, Project CraC & More

Talkat Microsoft JDConf 2024 · 2024-03-27..03-28· [java, serverless]
name:Timo Salm
github:timosalm
slides:none on file

A demo compares three concrete JVM approaches: GraalVM native image cuts a 4s Spring startup to 169 ms startup and memory from ~200 MiB to 40 MiB but requires long build times (minutes vs seconds), architecture-matching binaries and explicit hints for reflection/proxies. Project CraC produces similar warm-start times by checkpointing a fully JIT‑warmed JVM but needs special CRaC‑enabled JDKs, Linux capabilities and careful handling of open sockets and secrets. Class data sharing gives smaller gains (example ~2.6s) with minimal code changes.

AI-written summary · about

  1. 0:00Serverless introduction
  2. 1:06What is serverless
  3. 3:34Serverless limitations
  4. 5:17Unoptimized Spring on Knative
  5. 7:19Startup time with GraalVM
  6. 9:52GraalVM native images
  7. 12:02GraalVM native trade-offs
  8. 13:04Dynamic Java in GraalVM
  9. 15:08Project CRaC overview
  10. 16:34CRaC demo benefits
  11. 17:16CRaC CI/CD setup
  12. 19:02CRaC trade-offs
  13. 21:07Class data sharing
  14. 22:13Class data sharing demo
  15. 24:01Class data sharing trade-offs
  16. 24:23Performance optimizations summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.