For more than 25 years, Java played an essential role when building sustainable software architectures and applications. The traditional approach to develop & run Java applications included setting up applications servers, complex build & dependency management and often relied on large enterprise frameworks. In contrast, Serverless functions are ideally short-lived, single-purposed and do not rely on extensive infrastructure configuration. This paradigm shift encouraged new frameworks, concepts and techniques to evolve.
In this session we will explain how to run your traditional Java Spring application in a Serverless way (on AWS Lambda) with minimal effort. We’ll also cover how to iteratively apply optimizations to get the best out of your Serverless Java experience. You will get an overview of best practices such as GraalVM native images and SnapStart (which leverages elements of the CRaC project), performance trade-offs and the design considerations for each step to be able to make well-informed decisions when bringing enterprise Java applications to AWS Lambda.