performance

Migrating Java Applications to Kubernetes

Your CTO messages you out of the blue one day: How much effort would it be to run XYZ on Kubernetes? Shudder. Although there are some nuances to the process, it is fairly straightforward. This article assumes some knowledge of containers, Kubernetes, and JVM applications. Our goal is to migrate the application with as few … Read More

What’s the point of Lambda SnapStart?

Lambda SnapStart is intended to improve the cold start time for a Lambda function. It’s been available for Java workloads since 2022, and was recently released for Python and .Net workloads. It works by running the initialization code of your Lambda function when you release a version, and then storing an image of the Lambda execution environment. Cold starts load this image rather than running the initialization themselves. Given that cold starts happen unpredictably, and may be measured in seconds, this seems like a win-win situation.

The reality, as usual, is more nuanced. SnapStart introduces its own cold start delays, as it loads the image into the runtime. And it increases the time and effort of deployment. In this post I drill down into the nuance, so that you can decide whether it’s a worthwhile choice fo your project.