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.

d

Saby Company
Delebio, Italy

Junior

asasd

Expire

Remote
Junior

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
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…
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 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
Dev Digest 113 - Debugging above the cloud
Hello there and welcome to Dev Digest 113! This time, we got an old friend in the sky back, jQuery asks us to upgrade and AI is eating the web. Also, are you sure the LLM you use is secure against code injection?News and ArticlesGood news everyone! N...
Dev Digest 113 - Debugging above the cloud

From learning to earning

Jobs that call for the skills explored in this talk.