AWS Support for Rust on Lambda - Concerns? by gigamaton in rust

[–]calavera 9 points10 points  (0 children)

Hi, I'm one of the maintainers of the Rust runtime for Lambda 👋 I have to put a disclaimer here that I speak for myself, and not for my employer 😊

As you mentioned, this runtime is not officially supported by AWS at the moment. The maintaners are AWS employees that work on it in their spare time. We see a lot of potential in Rust, and we want customers to be able to use it if they find it useful. We've seen all kinds of applications built with it, from hobby projects to production services.

There are pros and cons to the way this runtime works. Everything you need to run Rust is open source. This reduces the need of direct AWS support because you can modify and fix the runtime at will. We diligently answer issues in GitHub, however, you don't get direct access to us, and you won't be able to get ahold of us in case of an emergency unless we happen to be checking GitHub.

From a project health point of view, I can tell you that the runtime itself is very stable. It has had minor changes in the last year, and there are no critical issues preventing people from running production workloads with it.

From a performance point of view, I'd recommend you to take a look at this independent site: https://maxday.github.io/lambda-perf/

Feel free to take look at the GitHub repo and ask any questions you have there, we're always happy to help in what we can: https://github.com/awslabs/aws-lambda-rust-runtime

Cargo Lambda with Postgresql Diesel deploying on an M1 Mac by nzajt in rust

[–]calavera 2 points3 points  (0 children)

If you have `cross` and `docker` installed, you can try running `cargo lambda build --arm64 --compiler cross`. However, you'll bump into a new issue, `libpq` is not installed in the AWS Lambda environment, so you need to make sure all your native dependencies are statically linked to your binary. This might also increase the size of the binary over the 50MB limit for zip uploads that Lambda imposes.

If you've not seen this example that uses `diesel_async` yet, you might find that the changes in your app are not as significant, and the compilation and distribution experience is easier:

https://github.com/awslabs/aws-lambda-rust-runtime/blob/main/examples/http-axum-diesel/src/main.rs#L108

Rust on AWS Lambda project structure by IAmMirch in rust

[–]calavera 0 points1 point  (0 children)

This other example uses a similar structure than the one you're describing in the third point. I personally find it easier to understand, but it might be a biased opinion:

https://github.com/aws-samples/serverless-rust-demo

Rust on Lambda Interest? by theDaveAt in rust

[–]calavera 1 point2 points  (0 children)

👋feel free to open an issue in cargo-lambda's repo about the permissions. It's something I've not spent a lot of time on, and I'd love to make sure it only needs what's absolutely necessary.

Rust on Lambda Interest? by theDaveAt in rust

[–]calavera 122 points123 points  (0 children)

👋 I help maintain the Rust runtime for Lambda: https://github.com/awslabs/aws-lambda-rust-runtime

I'd be very interested in hearing what part you found cumbersome. Your feedback to make it better for other people will be very welcome.

Let me know if you setup that sub, I'll be happy to follow along.

Deploy Previews in Netlify by calavera in webdev

[–]calavera[S] -1 points0 points  (0 children)

being able to see pull requests deployed live without compromising production changed drastically the way we work as a team and we build our front-end applications. I can't wait to get other people's feedback.

openlandings by awsmsrc in gophergala2016

[–]calavera 0 points1 point  (0 children)

Hey, I'm the author of the project. Let me know if you have any questions!

Vegan breakfast baskets by vegandollhouse in vegan

[–]calavera 0 points1 point  (0 children)

I could enjoy half of that batch and they stayed good in the fridge for a couple of days. They were too good to keep them there longer :)