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(156)

144. Lambda Billing Changes, Cold Start Costs, and Log Savings: What You Need to Know

144. Lambda Billing Changes, Cold Start Costs, and Log Savings: What You Need to Know

Cost is always top of mind when building in the cloud, and recently AWS has introduced some changes worth paying attention to. In this episode of AWS Bites, we explore a shift that caught many by surp...

22 Touko 202513min

143. Is App Runner better than Fargate?

143. Is App Runner better than Fargate?

Picture this. You’ve got a web app built with Rust and Solid.js. It started life running on a dusty on-prem server, but now it's time to move it to the cloud. The clock is ticking. You could take the ...

8 Touko 202542min

142. Escape from S3

142. Escape from S3

We discuss common use cases and challenges for copying data between S3 buckets and S3-compatible object storage services. We share our experience building an open source Node.js CLI tool called S3-Mig...

3 Huhti 202530min

141. Step Functions with JSONata and Variables

141. Step Functions with JSONata and Variables

In this episode, we provide an overview of AWS Step Functions and dive deep into the powerful new JSONata and variables features. We explain how JSONata allows complex JSON transformations without cus...

21 Maalis 202515min

140. DuckDB Meets AWS: A Match Made in Cloud

140. DuckDB Meets AWS: A Match Made in Cloud

In this episode, we explore DuckDB, an open-source analytical database known for its speed and simplicity. Discover how DuckDB stands out in various applications and compare it to other tools like SQL...

21 Helmi 202517min

139. Building Great APIs with Powertools

139. Building Great APIs with Powertools

In this episode, we discuss using AWS Lambda Powertools for Python to build serverless REST APIs with AWS Lambda. We cover the benefits of using Powertools for routing, validation, OpenAPI support, an...

19 Helmi 202524min

138. How Do You Become A Cloud Architect?

138. How Do You Become A Cloud Architect?

Ready to take your tech career to the cloud and build those awe-inspiring systems you see? Then you're in the right place. This episode of AWS Bites is your blueprint for becoming a successful cloud a...

10 Tammi 202539min

137. Transit Gateway Explained

137. Transit Gateway Explained

In this episode, David Lynam provides an overview of AWS Transit Gateway, which aims to simplify complex network connectivity between VPCs, VPNs, and on-premises networks. We discuss the limitations o...

13 Joulu 202418min