Choosing where to deploy a Rustlang application

preview_player
Показать описание
Rust can run in quite a few environments, from small, one-off embedded systems to massively scalable fully managed serverless environments.

Where you deploy your application then, depends on a few different factors.

In this video we'll take a look at what platforms are available, then pick one that works for our use case and go through the process of actually deploying the JSON API we built in the last video.
Рекомендации по теме
Комментарии
Автор

“We’re not going to deploy a web based JSON api to a microcontroller” quitter talk

ottergauze
Автор

Beware: There's a terminology collision here.
Baremetal in Embedded means "there's no code bellow" (no OS)
Baremetal in Cloud means "there's only 1 VM bellow"

e
Автор

I kinda like the idea of running on Cloudflare Workers which is pretty much AWS Lambda on edge but with all the Cloudflare advantages like CDN for free.

davidhusicka
Автор

I have used the google distroless images (specifically the base or cc image if compiled with gnu targets, or the static image with musl targets) for very slim images running simple rust binaries. It also reduces the size and attack surface and you can even run your binaries as non-root.

beebakrizzle
Автор

I was wondering about this very thing a few days ago. Thanks for the video

davidrempel
Автор

On cloud providers you have so many options that require the same amount of maintenance as other “heroku alike”. Cloud run is one example btw.

lcarv
Автор

Think you missed a nice option from AWS for Rust apps, which is ECR+ECS with Fargate, you just need a Docker image that compiles the Rust binary and keep it running and that's it.
Also ElasticBeanstalk could help on that too.

luiscarlosjayk
Автор

I am also interested in cloudflare or fermyon as potential options. Dockerfile's still seem like a good way to go though. Since cloudflare supports rust basically inside a v8 worker, and uses things like web_sys and wasm_bindgen, I wonder what the performance is like here.

There is also a great video with cloudflare by Michael Cann that ties nicely into all the Bevy/game related work you do. I think cloudflare with multiplayer edge storage could be an extremely cool video/project. The video is called: Serverless & Databaseless Event Sourcing with Cloudflare Workers & Durrable Objects.


Curious what you think of something like this? As per usual, Thanks for the content!

tenthlegionstudios
Автор

Maybe it's not very trendy, but you haven't considered one vps scenario, or aws ec2. Applications written in rust seems to me to be the way to go for such a distribution. Small simple programs. Without a docker, and if necessary with a simple script, it can be installed in many locations + Most importantly, you will be able to update the system on which you have installed the software.

grzegorz.bylica
Автор

ECS Fargate? Lamda can get expensive. I unfortunatly speek from experience.

jaysistar
Автор

I don't know how to use Docker and for me it seems like compiling to wasm is actually a much better, lightweight and viable option. Have you heard about Lunatic by the way?

adsick_ua
Автор

Hello, have you tried busybox as a base image? It has all you need to launch your binary and it's smaller than alpine image.

KennyCallado
Автор

Hello! Can you go deeper over Rust in embedded? What the about wasm3 project?

Sirleopard
Автор

Cloud Run with GCloud is serverless with docker, would you think this is a good choice and why not? We've been using it for years.. got lots of great services around it with GCloud as well (Like ML content moderation). The main issue I find with these small hosting companies is they lack essential services.

ollydix
Автор

You can still use axum for rust lambdas using the lambda web crate.

everythinggoes