Serverless Java Web Applications on AWS Lambda with Micronaut Quarkus & Spring Boot
summary
Compares running a REST API (API Gateway → Lambda → DynamoDB) with Micronaut, Quarkus and Spring Boot and measures cold starts: about 100,000 warm starts and 100 cold starts during stress tests, Spring ~7s P90 cold starts, Quarkus ~6s, plain JVM ~3s. Shows two optimizations that work: SnapStart priming (simple one-liner DynamoDB priming reduces P90 to ~1–2s) and GraalVM native image (custom runtime yields sub‑1s P90 but requires build/config work and reflection hints). Results are measured and reproducible.
AI-written summary · about
chapters (16)
- 0:00Introduction to talk
- 1:17Why serverless Java?
- 4:28Pure Java vs frameworks
- 6:17Spring Boot on Lambda
- 10:52Quarkus Micronaut setup
- 14:28Cold starts explained
- 16:55Performance without optimizations
- 21:34Optimizing with SnapStart
- 29:40Priming techniques
- 33:32SnapStart results
- 36:01Advanced optimizations
- 38:30GraalVM Native Image
- 43:12GraalVM results
- 45:24Alternatives and resources
- 47:31Future of GraalVM
- 48:54Q&A
related talks
01h 00mAdapting Java for the Serverless world
44mHow to develop, run and optimize Spring Boot 3 application on AWS Lambda
34mThawing Java on AWS Lambda
53mHigh performance Serverless Java on AWS
56mAfraid of Java cold starts in Serverless? Fear not, Java is fast
32mServerless & JVM: Build Your Benchmark to Bust Preconceptions
46mReduce Cold Starts for Java Serverless Applications in AWS
46mThawing Java on AWS Lambda Reducing Cold Start Times from 11 Seconds to 1
