How is Rust deployment onto existing server infrastructures? Well, stuff is looking quite good actually.
Heroku is a cloud PaaS tool that supports collections of languages. It does not support Rust natively, however, you can run Heroku with github.com/emk/heroku-buildpack-rust, a popular but unofficial buildpack.
AWS Lambda supports Rust natively with an opensource runtime! There is also an unofficial but very popular AWS SDK, rusoto.
There are official docker images for rust (
rust) with over 10+ Million downloads! There are also nightly images (
rustlang/rust) if your application requires it. If you use docker's multi-stage builds, you can build your application binary and then copy it into a container. This allows you to avoid deploying the entire compilation toolchain with your web application.
Cloud-Native Buildpacks is a CNCF project that provides a specification for automatically transforming source code into OCI images you can run on any cloud. Paketo Buildpacks, a popular implementation of the Cloud-Native Buildpacks specification, has a Rust buildpack that supports transforming your Rust source code into OCI images.
Present features: pick your Rust version including nightly, automatically detects your binaries and configures the container to run them, supports projects with multiple binaries & workspace projects, supports installing additional tools via
cargo install, can optionally install
tini for proper pid1 handling, can generate images as small as a few MB plus your binaries, and loads of caching for fast rebuilds.
▲ Vercel, (formerly Zeit) is a cloud platform for serverless functions. There is a community rust runtime, vercel-rust.
Unikernels are the rising star and newest hot thing to do big scale deployment. With Rust being a system language unikernels are an obvious approach to the problem and doing your research you'll find that there is a lot happening here indeed. There's a number of unikernels which support rust:
Google Cloud (App Engine, Functions, Run) Support
Microsoft Azure Support
Do you know something we don't?
Did we miss an important crate? Or maybe you just recently launched something that should be listed here, too? Let us know!