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.

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
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
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!

From learning to earning

Jobs that call for the skills explored in this talk.

Java & Quarkus Architect

Java & Quarkus Architect

Paradigma Digital
Municipality of Valencia, Spain

Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1
Java & Quarkus Architect

Java & Quarkus Architect

Paradigma Digital
Municipality of Madrid, Spain

Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1
Java Developer - AWS

Java Developer - AWS

Infoplus Technologies UK Limited
Municipality of Vitoria-Gasteiz, Spain

Java
Spring
Terraform
TypeScript
AWS Lambda
+3
Senior Java Developer (AWS)

Senior Java Developer (AWS)

Test Yantra Software Solutions Private Limited
Bournemouth, United Kingdom

80K
Senior
Java
NoSQL
Docker
MongoDB
+4