This document discusses migrating a Java application backend to run serverless on AWS Lambda using Quarkus and GraalVM. It describes the architecture of the original monolithic Spring Boot backend and two iterations that moved to microservices. The third iteration deployed the application as a Quarkus microservice compiled to a native image using GraalVM, allowing it to run on AWS Lambda. Metrics are presented showing the performance and costs when running the application on Lambda during a user conference. While serverless Java is now viable, caveats like slow native image builds, library support issues, and debugging challenges are noted.