Overview

Shuttle.rs is a serverless platform built specifically for Rust developers, aiming to streamline the deployment and management of Rust-based web services and applications. Founded in 2022, Shuttle.rs positions itself as a specialized environment for backend development with Rust, addressing the complexities often associated with deploying high-performance Rust code to the cloud. The platform supports a range of popular Rust web frameworks, including Axum, Actix-web, Rocket, and Warp, allowing developers to use their preferred tools while leveraging Shuttle's automated infrastructure provisioning.

The core value proposition of Shuttle.rs lies in its developer experience. It offers a local development environment that is designed to closely mirror the production setup, which can reduce discrepancies and simplify debugging during the development cycle. A key feature is its ability to automatically detect and provision necessary infrastructure components, such as databases (PostgreSQL, MongoDB, Redis) and message queues, based on the dependencies declared within a Rust project. This automation is intended to abstract away much of the manual configuration and setup typically required for cloud deployments.

Shuttle.rs is designed for scenarios requiring rapid prototyping and deployment of Rust applications, as well as for building scalable serverless backends. Its CLI-driven workflow facilitates quick iterations from local development to cloud deployment. The platform's architecture is built around the Shuttle Cloud Platform, which hosts the deployed services; the Shuttle Runtime, which manages the execution environment for Rust applications; and Shuttle Connect, which handles the interaction between the developer's local machine and the cloud platform. This integrated approach aims to provide a cohesive experience for Rust developers looking to deploy serverless functions or long-running web services.

For developers accustomed to the performance and safety guarantees of Rust, Shuttle.rs provides an environment that maintains these benefits while simplifying the operational overhead. It targets individuals and teams building microservices, APIs, and other backend components where Rust's performance characteristics are critical. The platform's focus on Rust also means it can cater to specific Rust ecosystem needs, such as managing dependencies and build processes unique to the language. While general-purpose serverless platforms like AWS Lambda or Google Cloud Run support Rust, Shuttle.rs offers a more opinionated and integrated experience tailored to the Rust development workflow, potentially reducing the learning curve for Rust developers new to serverless deployments.

Key features

  • Automated Infrastructure Provisioning: Shuttle.rs automatically provisions and manages cloud resources such as PostgreSQL, MongoDB, Redis, and message queues based on project dependencies, reducing manual configuration efforts.
  • Local Development Environment: Provides a local environment that replicates the production setup, allowing developers to test and debug applications with consistent configurations before deployment.
  • CLI-Driven Workflow: Offers a command-line interface for deploying, managing, and monitoring Rust applications, integrating into existing developer workflows.
  • Serverless Rust Applications: Supports the deployment of Rust functions and web services in a serverless model, scaling resources based on demand.
  • Database and Resource Integrations: Includes built-in support for common databases and services, abstracting connection details and management.
  • Support for Rust Web Frameworks: Compatible with popular Rust web frameworks like Axum, Actix-web, Rocket, and Warp, allowing developers to use their preferred framework.
  • Live Reloading: Facilitates rapid development cycles with live reloading capabilities for local changes.
  • Custom Domains: Allows users to configure custom domains for deployed services.
  • GDPR Compliance: Adheres to General Data Protection Regulation (GDPR) standards for data privacy and security.

Pricing

Shuttle.rs offers a tiered pricing model, including a free developer plan and paid plans with additional resources and features. The pricing structure is designed to accommodate individual developers up to enterprise-level organizations. Detailed pricing information is available on the Shuttle.rs pricing page as of May 2026.

Plan Price (per month) Projects RAM Disk Features
Developer (Free) $0 Up to 3 1GB 10GB Basic deployment, local development
Pro Starts at $20 Unlimited Configurable Configurable Increased resources, priority support
Business Starts at $100 Unlimited Configurable Configurable Advanced features, dedicated support
Enterprise Custom Custom Custom Custom Custom solutions, SLAs

Common integrations

Alternatives

  • Fly.io: A platform for deploying full-stack apps and databases close to users, offering more control over infrastructure and supporting various languages and frameworks, including Rust.
  • AWS Lambda: Amazon's serverless compute service that lets you run code without provisioning or managing servers, supporting Rust as a runtime.
  • Google Cloud Run: A fully managed compute platform for deploying containerized applications, scalable from zero to thousands of requests, and supporting any language including Rust.

Getting started

To get started with Shuttle.rs, you typically begin by installing the Shuttle CLI and then creating a new Rust project or integrating Shuttle into an existing one. The following example demonstrates a basic "Hello, World!" web service using the Axum framework with Shuttle.

First, install the Shuttle CLI:

cargo install shuttle-cli

Next, create a new Shuttle project:

cargo shuttle init my-rust-app
cd my-rust-app

This will create a new Rust project with a basic setup. Open src/main.rs and add the following code for an Axum web service:

use shuttle_axum::ShuttleAxum;
use axum::{routing::get, Router};

async fn hello_world() -> &'static str {
    "Hello, World! from Shuttle.rs!"
}

#[shuttle_runtime::main]
async fn axum() -> ShuttleAxum {
    let router = Router::new().route("/", get(hello_world));

    Ok(router.into())
}

Ensure your Cargo.toml includes the necessary dependencies:

[package]
name = "my-rust-app"
version = "0.1.0"
edition = "2021"

[dependencies]
axum = "0.7"
shuttle-axum = "0.36"
shuttle-runtime = "0.36"
tokio = {"version" = "1.23", features = ["full"]}

To run this application locally, use the Shuttle CLI:

cargo shuttle run

This command will start your application locally, typically accessible at http://localhost:8000. To deploy your application to the Shuttle cloud, use:

cargo shuttle deploy

The CLI will guide you through the authentication process if it's your first deployment. Once deployed, Shuttle.rs will provide a URL where your Rust web service is accessible. For more detailed guides and framework-specific examples, refer to the Shuttle.rs getting started documentation.