Stateful Serverless for Rust
Shuttle is a web application platform that uses traits and annotations to configure your backend deployment - including databases.

Serverless for Rust

The only serverless platform that lets you control your infrastructure from Rust code as easily as deriving a trait.

Infrastructure from Rust

Traits and annotations define all your infrastructure from your service code


All the infrastructure and wiring you need is handled by the deployer runtime. No VMs or containers


Wiring up a service to a persistent database is as easy as deriving a trait

Entirely open-source

A completely free and open-source project, with no vendor lock-in or hidden code

Self-hosting friendly

Deploy the entire platform under your own AWS account for extra security and isolation

Fast deploy times

Deploy new versions as quickly as running an incremental build, all with zero downtime

How it works

Shuttle is built for Rust.

A simple cargo command packages up your application, ships it to the shuttle build cluster where it's incrementally compiled and automatically served on a unique subdomain.

Shuttle uses simple but powerful annotations to understand your dependencies. Infrastructure dependencies like databases or key-value stores are spun up for you and everything is automatically wired together from the get-go.

It feels a little magical.

1use rocket::{get, routes};
4fn hello() -> &'static str {
5    "Hello, world!"
9async fn init() -> shuttle_service::ShuttleRocket {
10    Ok(
11        rocket::build()
12            .mount("/", routes![hello])
13    )

Let's make Rust the next language of cloud-native

We love you Go, but Rust is just better.