AWS Bites
104. Explaining Lambda Runtimes
In this episode, we celebrate AWS Lambda's 9th birthday by taking a deep dive into Lambda runtimes. We discuss how Lambda works, compare official runtimes vs. custom runtimes, and explain when and why building a custom runtime might be worth the effort. We talk through how custom runtimes work, options for deploying them, and potential use cases where they could be beneficial over standard runtimes. 💰 SPONSORS 💰 AWS Bites is brought to you by fourTheorem, an Advanced AWS Partner. If you are moving to AWS or need a partner to help you go faster, check us out at fourtheorem.com!
In this episode, we mentioned the following resources:
- The original announcement launching AWS Lambda in 2014: https://aws.amazon.com/about-aws/whats-new/2014/11/13/introducing-aws-lambda/
- List of official Lambda runtimes: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
- Library implementing the Rust runtime: https://github.com/awslabs/aws-lambda-rust-runtime
- Library implementing the Go runtime: https://github.com/aws/aws-lambda-go/
- Library implementing the C++ runtime: https://github.com/awslabs/aws-lambda-cpp
- Third-party PHP runtime (Bref): https://bref.sh/
- Third-party Swift runtime: https://github.com/swift-server/swift-aws-lambda-runtime
- Official documentation on how to build a custom runtime: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html
- An official tutorial on how to build a custom runtime: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-walkthrough.html
- List of all the environment variables available to a runtime: https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime
- Lambda Response Streaming official docs: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html#runtimes-custom-response-streaming
- Our previous episode on Lambda Response Streaming: https://awsbites.com/77-how-do-you-use-lambda-response-streaming/
- On-demand Container Loading in AWS Lambda (paper): https://arxiv.org/abs/2305.13162
- Deep dive on container support for AWS Lambda (Eoin's article): https://dev.to/eoinsha/container-image-support-in-aws-lambda-deep-dive-2keh
- When is the Lambda Init Phase Free, and when is it Billed? (article by Luc van Donkersgoed): https://lucvandonkersgoed.com/2022/04/09/when-is-the-lambda-init-phase-free-and-when-is-it-billed/
You can listen to AWS Bites wherever you get your podcasts:
- Apple Podcasts: https://podcasts.apple.com/us/podcast/aws-bites/id1585489017
- Spotify: https://open.spotify.com/show/3Lh7PzqBFV6yt5WsTAmO5q
- Google: https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy82YTMzMTJhMC9wb2RjYXN0L3Jzcw==
- Breaker: https://www.breaker.audio/aws-bites
- RSS: https://anchor.fm/s/6a3312a0/podcast/rss