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 Cloudcast by Massive Studios

        The Cloudcast

        154 Listeners

        a16z Podcast by Andreessen Horowitz

        a16z Podcast

        1,040 Listeners

        Thoughtworks Technology Podcast by Thoughtworks

        Thoughtworks Technology Podcast

        41 Listeners

        Talk Python To Me by Michael Kennedy

        Talk Python To Me

        585 Listeners

        Software Engineering Daily by Software Engineering Daily

        Software Engineering Daily

        624 Listeners

        AWS Podcast by Amazon Web Services

        AWS Podcast

        202 Listeners

        Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

        Super Data Science: ML & AI Podcast with Jon Krohn

        298 Listeners

        Data Engineering Podcast by Tobias Macey

        Data Engineering Podcast

        141 Listeners

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

        Syntax - Tasty Web Development Treats

        990 Listeners

        Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

        Kubernetes Podcast from Google

        184 Listeners

        The Real Python Podcast by Real Python

        The Real Python Podcast

        138 Listeners

        Last Week in AI by Skynet Today

        Last Week in AI

        298 Listeners

        The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis by Nathaniel Whittemore

        The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis

        496 Listeners

        The Pragmatic Engineer by Gergely Orosz

        The Pragmatic Engineer

        62 Listeners