Vadym Kazulkin
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.
Senior Java Developer
Picnic Technologies B.V.
Amsterdam, Netherlands
Senior
Java
Amazon Web Services (AWS)
+1
Matching moments
00:04 MIN
Why Java struggles with serverless adoption on AWS
High performance Serverless Java on AWS
09:42 MIN
Introducing AWS SnapStart for faster Java cold starts
High performance Serverless Java on AWS
04:15 MIN
Why traditional Java was too slow for serverless
Serverless Java in Action: Cloud Agnostic Design Patterns and Tips
09:51 MIN
Java's adaptation for cloud-native and serverless computing
Build ultra-fast In-Memory Database Apps and Microservices with Java
07:13 MIN
Identifying the key challenges of serverless functions
Fun with PaaS – How to use Cloud Foundry and its uniqueness in creative ways
06:38 MIN
Identifying the key challenges of serverless functions
The Future of Cloud is WebAssembly
20:01 MIN
Applying WebAssembly to solve serverless performance issues
The Future of Cloud is WebAssembly
10:00 MIN
Solving Java's serverless challenges with Quarkus
Serverless-Native Java with Quarkus
Featured Partners
Related Videos
High performance Serverless Java on AWS
Vadym Kazulkin
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Serverless-Native Java with Quarkus
Alex Soto
Serverless Java in Action: Cloud Agnostic Design Patterns and Tips
Kevin Dubois & Daniel Oh
Going serverless using the Spring Framework ecosystem
Timo Salm
Microservices with Micronaut
Moritz Kammerer
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Serverless Architectures with Spring Cloud Functions and Knative
Ingo Weichsel
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.


Cloud Engineer (m/w/d)
fulfillmenttools
Köln, Germany
€50-65K
Intermediate
TypeScript
Google Cloud Platform
Continuous Integration
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)
Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL

DevOps Engineer – Kubernetes & Cloud (m/w/d)
epostbox epb GmbH
Berlin, Germany
Intermediate
Senior
DevOps
Kubernetes
Cloud (AWS/Google/Azure)

Backend Developer (Java / AWS Lambda / MySQL)
Johnsons 1871
Wigan, United Kingdom
Remote
Junior
Java
.NET
REST
MySQL
+2

Senior Java Developer (AWS)
Test Yantra Software Solutions Private Limited
Bournemouth, United Kingdom
£80K
Senior
Java
NoSQL
Docker
MongoDB
+4

Kernel/Hypervisor Engineer, EC2 Deep Learning Accelerators
Amazon.com, Inc
Berlin, Germany
Senior
C++
Machine Learning
Amazon Web Services (AWS)

Fullstack Developer - ReactJS and TypeScript, AWS RDS, Lambda
GULP Information Services GmbH
Frankfurt am Main, Germany
API
Azure
Scrum
React
Python
+6
