The number of people running interesting binaries in AWS Lambda is increasing, and with the recent release of Headless Chromium—a version of the Chrome browser that can run without a UI—there have been experiments and different open-source projects of individuals running it inside an AWS Lambda environment. Running a large, memory-intensive piece of software designed for desktops inside a serverless function presents interesting performance challenges, including how to minimize cold start time and how to optimize the right amount of memory for the function.
This talk is about optimizing performance of chromium inside Lambda using multiple data sources, including AWS X-Ray traces and custom metrics. While the talk is focused on headless chrome in AWS Lambda, the performance techniques can be applied to any memory or compute-intensive serverless functions.