Workshop: GraalVM (part 2)
summary
Hands‑on demo builds a GraalVM native-image from a Micronaut web app, runs it in Docker and shows concrete numbers: a compressed executable boots startup under 100ms, putting a statically linked binary into a distroless container yields ~96 MB image with a 77 MB app (distroless image 96MB with 77MB app), fully static musl binaries can run from scratch, -Xmx limits contain memory (unconstrained runs hit ~800 MB), and PGO boosts throughput by roughly 50% in the demo. Observability requires app-side metrics (Micrometer) because JVMTI/JMX remote tooling is limited.
AI-written summary · about
chapters (10)
- 0:00Introduction and Q&A
- 3:03Native image deployment options
- 8:00Building Docker images for native apps
- 12:34Static linking and minimal images
- 21:40Configuring native image memory
- 30:19Observability and monitoring
- 41:34Profile guided optimization
- 58:17Comparing GraalVM JIT vs Native Image
- 1:08:32Exploring GraalVM internals
- 1:13:05Workshop wrap-up and Q&A
related talks
50mCloud native Java microservices with GraalVM
42mJava in the Cloud with GraalVM
45mFast and Efficient Microservices with GraalVM
47mGraalVM as a Platform for Cloud Native Java
59mMaximizing performance with GraalVM
53mBuilding High Performance Microservices for Java with Micronaut & GraalVM
33mCloud-Friendly Applications with GraalVM
55mUnleash the power of your applications with Micronaut and GraalVM
