64. How do you write Lambda Functions in Rust?
AWS Bites20 Tammi 2023

64. How do you write Lambda Functions in Rust?

Are you curious about using Rust to write AWS Lambda functions?

In this episode of AWS BItes, we will be discussing the pros and cons of using Rust for serverless applications. With Rust, you'll be able to take advantage of its fast performance and memory efficiency. Plus, its programming model makes it easy to write safe and correct code. However, Rust is not a native runtime for Lambda, but rather a library that implements a custom runtime built and maintained by AWS. This custom runtime is built on top of the Tokio async runtime and even has a built-in middleware engine, which allows for easy hook-in of reusable logic and building your own middleware.

But what if you're new to Rust? Don't worry, we'll also be walking you through the steps on how to write your first Lambda in Rust. From cargo-lambda to the serverless framework plugin for Rust, we'll be sharing different alternatives for building and deploying your Rust-based Lambda functions.

So join us on this journey as we explore the exciting world of Rust and Lambda.


💰 SPONSORS 💰

AWS Bites is sponsored by fourTheorem, an AWS Consulting Partner offering training, cloud migration, and modern application architecture.


In this episode, we mentioned the following resources:

  • Rust 1.0 original announcement: https://blog.rust-lang.org/2015/05/15/Rust-1.0.html
  • The Rust programming language home page: https://www.rust-lang.org/
  • Firecracker runtime: https://firecracker-microvm.github.io
  • Luciano's Twitch profile: https://twitch.tv/loige
  • AWS Rust runtime library: https://github.com/awslabs/aws-lambda-rust-runtime
  • Tokio, Rust async runtime: https://tokio.rs/
  • Example of how to enable the tracing middleware in Lambda: https://github.com/awslabs/aws-lambda-rust-runtime/blob/99dba6447253ac87cf3cefeb2ba130b50514f9df/examples/http-tower-trace/src/main.rs#L4
  • Rustup tool to install the Rust toolchain: https://rustup.rs/- Reference article on how to write a Lambda in Rust using cargo-rust: https://blog.scanner.dev/getting-started-with-serverless-rust-in-aws-lambda/
  • Cargo-lambda, a cargo extension that helps with writing, running, testing, and deploying lambdas written in Rust: https://www.cargo-lambda.info
  • Serverless framework plugin for Rust: https://www.serverless.com/plugins/serverless-rust
  • Eoin's article on Container Image Support in AWS Lambda: https://dev.to/eoinsha/container-image-support-in-aws-lambda-deep-dive-2keh- AWS SDK for Rust: https://github.com/awslabs/aws-sdk-rust
  • Coding challenges to learn rust: https://exercism.org/


You can listen to AWS Bites wherever you get your podcasts:

Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on Twitter:

#AWS #rust #lambda

Jaksot(157)

129. Lambda Provisioned Concurrency

129. Lambda Provisioned Concurrency

In this episode, we discuss AWS Lambda provisioned concurrency. We start with a recap of Lambda cold starts and the different concurrency control options. We then explain how provisioned concurrency w...

22 Elo 202422min

128. Writing a book about Rust & Lambda

128. Writing a book about Rust & Lambda

In this episode, we discuss Luciano's new book project on using Rust to write AWS Lambda functions. We start with a recap on why Rust is a good fit for Lambda, including performance, efficiency, safet...

25 Heinä 202426min

127. Which Load Balancer should you use?

127. Which Load Balancer should you use?

An overview of load balancers, explaining how they distribute traffic across multiple servers and provide high availability. We discuss layer 4 and layer 7 load balancers, detailing their pros and con...

11 Heinä 202424min

126. Bastion Containers

126. Bastion Containers

This episode discusses solutions for securely accessing private VPC resources for debugging and troubleshooting. We cover traditional approaches like bastion hosts and VPNs and newer solutions using c...

27 Kesä 202413min

125. A first look at CloudFront Hosting Toolkit

125. A first look at CloudFront Hosting Toolkit

In this episode, we discuss the newly announced CloudFront Hosting Toolkit from AWS. We provide an overview of the tool, which aims to simplify deploying modern front-end applications to AWS while ret...

13 Kesä 202433min

124. S3 Performance

124. S3 Performance

In this episode, we discuss some tips and tricks for optimizing performance when working with Amazon S3 at scale. We start by giving an overview of how S3 works, highlighting the distributed nature of...

30 Touko 202420min

123. What do you need to know about DynamoDB?

123. What do you need to know about DynamoDB?

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, a...

16 Touko 202435min

122. Amazing Databases with Aurora

122. Amazing Databases with Aurora

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...

2 Touko 202428min