Vadym Kazulkin

High performance Serverless Java on AWS

Is a three-second cold start killing your serverless Java app? Learn two powerful strategies that get you under 700 milliseconds on AWS Lambda.

High performance Serverless Java on AWS
#1about 4 minutes

Why Java struggles with serverless adoption on AWS

Java's popularity as a language has not translated to serverless due to significant cold start times and a high memory footprint compared to Node.js or Python.

#2about 2 minutes

Understanding the Lambda execution model and cold starts

A cold start involves creating a new microVM, downloading code, and running static initializers, whereas a warm start only executes the handler method on a reused environment.

#3about 3 minutes

Benchmarking a standard Java Lambda's performance

Initial performance tests of a simple Java Lambda function show fast warm starts but unacceptable cold start latencies of over three seconds.

#4about 3 minutes

Introducing AWS SnapStart for faster Java cold starts

AWS SnapStart improves cold start times by taking a snapshot of an initialized microVM during deployment and quickly restoring it for new invocations.

#5about 3 minutes

Optimizing SnapStart performance with priming techniques

Priming uses CRaC hooks like `beforeCheckpoint` to pre-initialize expensive components such as HTTP clients and JSON serializers so they are included in the snapshot.

#6about 3 minutes

Measuring the impact of SnapStart and priming

Activating SnapStart with priming reduces cold starts from over three seconds to one second, with further improvements to 700ms as the tiered cache warms up.

#7about 3 minutes

Using the Lambda profiler for advanced priming

The AWS Lambda profiler can reveal internal SDK initialization processes, like event serialization, which can be primed to further reduce cold start times.

#8about 2 minutes

Exploring GraalVM Native Image as an alternative

GraalVM's Native Image compiler creates a small, self-contained executable that achieves even faster cold starts and warm starts compared to standard JVM execution.

#9about 3 minutes

Comparing the trade-offs of SnapStart vs GraalVM

While GraalVM offers the best performance, SnapStart is a fully managed solution that avoids the CI/CD complexity and dynamic invocation challenges of native image compilation.

Related jobs
Jobs that call for the skills explored in this talk.

d

Saby Company
Delebio, Italy

Junior

test

Milly
Vienna, Austria

Intermediate

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
BB
Benedikt Bischof
Using Java 17 latest features in real world projects
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Ron Veen who introduced the audience to some of the most interesting features that got added to the Java language.About the speaker:Ron is a hig...
Using Java 17 latest features in real world projects
CH
Chris Heilmann
Dev Digest 109 -Egg-citing things…
As we are heading into the Easter break, here are some things to spend some time on. There's resources on improving the performance of your code and you hear from the winners of CODE100 Amsterdam what it was like to be on stage. Also, hang tight as t...
Dev Digest 109 -Egg-citing things…
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!
CH
Chris Heilmann
Dev Digest 136 - No JS(on) of mine
News and ArticlesDouglas Crockford is our featured video, so let's talk about evolving JavaScript and all things JSON. Judicious JSON explains all the weird things in it, you can learn why it can be incredibly slow, people wonder what even is a JSON ...
Dev Digest 136 - No JS(on) of mine

From learning to earning

Jobs that call for the skills explored in this talk.