Vadym Kazulkin

High performance Serverless Java on AWS

Is Java's reputation for slow serverless performance still deserved? Discover how AWS SnapStart and GraalVM are finally changing the game for developers.

High performance Serverless Java on AWS
#1about 5 minutes

Understanding Java's challenges in serverless environments

Java's popularity contrasts with its low serverless adoption on AWS Lambda due to significant cold start and memory footprint issues.

#2about 6 minutes

Deconstructing the AWS Lambda cold start lifecycle

A new execution environment is created for the first request or during scaling, involving steps like code download and JVM initialization that cause latency.

#3about 4 minutes

Reducing cold starts with AWS SnapStart

AWS SnapStart improves Java startup performance by creating a snapshot of an initialized microVM during deployment and restoring it on invocation.

#4about 2 minutes

Optimizing SnapStart performance with priming techniques

Use the `beforeCheckpoint` CRaC hook to pre-initialize expensive components like HTTP clients and JSON marshallers, moving their setup cost into the deployment phase.

#5about 6 minutes

Benchmarking SnapStart and key performance factors

Performance benchmarks show that SnapStart with priming significantly reduces cold starts, while factors like memory allocation and package size also impact latency.

#6about 3 minutes

Tuning JVM compilation and garbage collection

Adjusting Java compilation options, such as using tiered compilation or stopping at level one, and sticking with the default G1 garbage collector can optimize performance.

#7about 5 minutes

Selecting the right HTTP client and architecture

The AWS CRT HTTP client outperforms the default Apache client for cold starts, and the ARM64 architecture offers a cost-effective alternative to x86.

#8about 4 minutes

How SnapStart's tiered cache improves performance

SnapStart uses a tiered low-latency cache that makes subsequent cold starts progressively faster after the initial invocations, but be aware of its limitations like a 14-day inactivity timeout.

#9about 2 minutes

Achieving peak performance with GraalVM native image

GraalVM Native Image provides the best performance by creating a pre-compiled native executable, resulting in the fastest cold starts and lowest memory footprint.

#10about 4 minutes

Navigating the challenges of GraalVM native image

Adopting GraalVM requires managing its closed-world assumption through reflection configuration and accommodating longer, more resource-intensive build processes in your CI/CD pipeline.

#11about 3 minutes

Choosing between SnapStart and GraalVM

Start with the fully managed AWS SnapStart for significant improvements with minimal effort, and adopt GraalVM Native Image when absolute peak performance is a critical business requirement.

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

Featured Partners

Related Articles

View all articles
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…
DC
Daniel Cranney
Dev Digest 162: AI careers, MCP, AWS best practices & floppy sweaters
Inside last week’s Dev Digest 162 . ⚒️ The AI developer tools landscape 🔥 Will MCP win? 📚 Cracking ePub 🎣 How CSS is used for phishing 🔶 AWS Lambda best practices ⚓ Learning anchor positioning 🐞 Hard bugs and terrible managers 💾 Floppy sweaters and ...
Dev Digest 162: AI careers, MCP, AWS best practices & floppy sweaters
DC
Daniel Cranney
Dev Digest 188: CfP time, the risks of NPM and IKEA algorithms
Inside last week’s Dev Digest 188 . 🤖 GitHub Copilot CLI is now in public review 💻 Microsoft is bringing ‘vibe working’ to office apps 🎣 Attackers abuse AI tools to generate captchas in fishing attacks ⚠️ When LLMs autonomously attack 🧠 Common cause...
Dev Digest 188: CfP time, the risks of NPM and IKEA algorithms

From learning to earning

Jobs that call for the skills explored in this talk.

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