Serverless & JVM: Build Your Benchmark to Bust Preconceptions
summary
A benchmark compares AWS Lambda implementations (Java, Kotlin, JavaScript/TypeScript) running CRUD operations against a database, deployed with Terraform, load-tested with k6 and measured via CloudWatch. Results show baseline JVM cold-start 99th percentile ~2.7–3s, provisioned concurrency reduces max cold-starts to <200ms, Amazon SnapStart lowers cold-starts from ~3s to ~1s but restore time inside SnapStart remains the main limiter, and GraalVM native images run in 128MB and reduce cost 2–4× versus TypeScript.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:45JVM and Serverless issues
- 3:34Call start challenges
- 5:22Benchmark methodology
- 8:13Basic optimizations
- 10:18Initial results
- 12:27Provisioning solutions
- 14:11SnapStart results
- 17:46GraalVM alternatives
- 22:22Tools and scaling
- 22:43Conclusions
- 25:30Q&A
related talks
46mReduce Cold Starts for Java Serverless Applications in AWS
53mHigh performance Serverless Java on AWS
01h 00mAdapting Java for the Serverless world
49mServerless Java Web Applications on AWS Lambda with Micronaut Quarkus & Spring Boot
51mHow To Reduce Cold Starts for Java Serverless Applications in AWS
46mThawing Java on AWS Lambda Reducing Cold Start Times from 11 Seconds to 1
56mAfraid of Java cold starts in Serverless? Fear not, Java is fast
51mAdapting Java for the Serverless world!
