104. Explaining Lambda Runtimes
AWS Bites
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 !
🔖 Chapters:
00:00 Introduction and overview of serverless and AWS Lambda. 01:04 Recapping serverless and AWS Lambda. 01:43 The magic of Lambda is managing compute infrastructure. 02:32 What is a Runtime in the context of AWS Lambda? 04:09 Comparing built-in runtimes vs. custom runtimes. 06:23 How does a custom runtime work? 09:16 The Lambda Runtime API. 11:19 Deploying custom Lambda Runtimes to production. 14:49 Using container image deployments for custom runtimes. 18:38 Recommendations: when are custom runtimes beneficial? 24:12 Closing notes
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
Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on X, formerly Twitter:
#aws #lambda #runtime ... https://www.youtube.com/watch?v=hvEJR9nx9XA
144735885 Bytes