Going Serverless With Spring’s Support for GraalVM, Project CraC & More
summary
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
chapters (16)
- 0:00Serverless introduction
- 1:06What is serverless
- 3:34Serverless limitations
- 5:17Unoptimized Spring on Knative
- 7:19Startup time with GraalVM
- 9:52GraalVM native images
- 12:02GraalVM native trade-offs
- 13:04Dynamic Java in GraalVM
- 15:08Project CRaC overview
- 16:34CRaC demo benefits
- 17:16CRaC CI/CD setup
- 19:02CRaC trade-offs
- 21:07Class data sharing
- 22:13Class data sharing demo
- 24:01Class data sharing trade-offs
- 24:23Performance optimizations summary
related talks
41mGoing Serverless With Spring’s Support for GraalVM, Project CraC & More
46mBring the Action: Using GraalVM in Production
46mFast and Lightweight Spring Boot Applications with GraalVM
50mGoing AOT: Everything you need to know about GraalVM for Java
42mTechniques for a faster JVM start-up
46mCRAC vs GraalVM
23mBoost Java Application Efficiency and Slash Costs with GraalVM and Spring AOT
53mBootiful GraalVM
