104. Explaining Lambda Runtimes
Description
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
In this episode, we provide a comprehensive overview of DynamoDB, including how it compares to relational databases, when to use it, how to get started, writing and querying data, secondary indexes, and single table design. We share our experiences using DynamoDB and discuss the pros and cons...
Published 05/16/24
In this episode, we provide an overview of Amazon Aurora, a relational database solution on AWS. We discuss its unique capabilities like distinct storage architecture for better performance and faster recovery. We cover concepts like Aurora clusters, reader and writer instances, endpoints, and...
Published 05/02/24