AWS Bites

64. How do you write Lambda Functions in Rust?


Listen Later

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:

    • 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 Twitter:

      • https://twitter.com/eoins
      • https://twitter.com/loige
      • #AWS #rust #lambda

        ...more
        View all episodesView all episodes
        Download on the App Store

        AWS BitesBy AWS Bites

        • 4.6
        • 4.6
        • 4.6
        • 4.6
        • 4.6

        4.6

        11 ratings


        More shows like AWS Bites

        View all
        Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

        Software Engineering Radio - the podcast for professional software developers

        272 Listeners

        The Changelog: Software Development, Open Source by Changelog Media

        The Changelog: Software Development, Open Source

        283 Listeners

        The Cloudcast by Massive Studios

        The Cloudcast

        152 Listeners

        a16z Podcast by Andreessen Horowitz

        a16z Podcast

        1,027 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        592 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

        The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

        443 Listeners

        AWS Podcast by Amazon Web Services

        AWS Podcast

        202 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        142 Listeners

        Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

        Syntax - Tasty Web Development Treats

        982 Listeners

        Darknet Diaries by Jack Rhysider

        Darknet Diaries

        7,865 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        181 Listeners

        The AWS Developers Podcast by Amazon Web Services

        The AWS Developers Podcast

        23 Listeners

        AI + a16z by a16z

        AI + a16z

        30 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        52 Listeners