Practical Performance Tuning for Serverless Java on AWS

code red code red

Java is for many years one of the most popular programming languages, but it is known for its high cold start times and high memory footprint, compared to other programming languages like Node.js and Python. 

In this talk we'll look at the general best practices and techniques we can use to decrease memory consumption and cold start times for Java Serverless applications on AWS Lambda including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks.  We'll also look into the SnapStart priming techniques which help us increase the Lambda performance and explore how AWS Lambda Profiler for Java can help us identify this potential. 

Additionally we'll introduce AWS Lambda SnapStart Bug Scanner which is the SpotBugs plugin for helping AWS Lambda customers inspect their Lambda functions against potential bugs unique to AWS Lambda SnapStart environment. We'll also explore the impact of the SnapStart snapshot tiered low-latency cache on the Lambda cold start times.

Vadym will also provide Lambda functions performance (cold and warm start times) benchmarking for:

  • Deployment package sizes
  • Lambda memory settings
  • Java compilation options
  • Choice of hardware architecture x86 vs arm64
  • HTTP (a)synchronous clients
     

Speaker

Vadym Kazulkin

Head of Development @ip.labs | AWS Serverless Hero | Java Fan and Speaker | 25+ years in Software Engineering

Vadym Kazulkin is AWS Serverless Hero and Head of Development at ip.labs GmbH, a 100% subsidiary of the FUJIFILM Group, based in Bonn. Vadym has been involved with the Java ecosystem for over twenty years. His focus and interests currently include the design and implementation of highly scalable and available applications in AWS Cloud with the special passion for Serverless. Vadym is also the co-organizer of the Java User Group Bonn meetup and a frequent speaker at various Meetups and conferences.

Read more
Find Vadym Kazulkin at: