Deployment
How is Rust deployment onto existing server infrastructures? Well, stuff is looking quite good actually.
Heroku
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
AWS Lambda supports Rust natively with an opensource runtime! There is also an unofficial but very popular AWS SDK, rusoto.
Docker
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
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
▲ Vercel, (formerly Zeit) is a cloud platform for serverless functions. There is a community rust runtime, vercel-rust.
Unikernels
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:
Still missing...
-
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!