Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,8 @@
]
},
"docs/account",
"docs/teams"
"docs/teams",
"docs/scaling"
]
},
{
Expand Down
37 changes: 37 additions & 0 deletions docs/scaling.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Scaling
description: Adjusting the computational resources allocated to your application
icon: arrows-up-down
---
At Shuttle, you can adjust the vCPU and memory resources allocated to your application’s compute environment. The level of scaling available depends on your [Account Tier](/docs/account#account-tiers). This functionality enables you to **vertically scale** your application to better suit your specific performance requirements and workload demands.

<Warning>
Changing the compute type or instance size of your application will result in additional charges. These are calculated according to our [usage-based pricing](/pricing/billing#usage-based-pricing) model. Please ensure you review the pricing details before making adjustments.
</Warning>

### Example

The example below illustrates how to configure your application to use a **medium** instance size:

```rust main.rs
#[shuttle_runtime::main(instance_size = "m")]
async fn main(
) -> shuttle_axum::ShuttleAxum {
// Your application logic here
}
```

### Available Instance Sizes

The table below lists the available `instance_size` values, along with the corresponding instance type and minimum required Account Tier:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe good to link to these docs here as well, to make it clear what the sizes correspond to.


| Instance Size | Value | Account Tier |
| --- | --- | --- |
| **Basic** | `xs` | Community+ |
| **Small** | `s` | Pro+ |
| **Medium** | `m` | Pro+ |
| **Large** | `l` | Pro+ |
| **X Large** | `xl` | Pro+ |
| **XX Large** | `xxl` | Growth+ |

_Ensure your selected instance size aligns with your application's current and anticipated workload._
4 changes: 4 additions & 0 deletions pricing/scaling.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ Simply upgrade your instance size and pay the difference. Each instance size com

*For example, if you upgrade from Basic (0.25 vCPU) to Medium (1 vCPU), you'll only be charged for the additional 0.75 vCPU since 0.25 vCPU is included in your plan.*

<Info>
[Read the Scaling section to find out how to adjust vertical scaling](/docs/scaling)
</Info>

## Horizontal scaling

Growth tier users can configure a single project to run on multiple instances and have Shuttle seamlessly load balance traffic across them for higher scalability and availability. Each replica instance is billed based on its instance size and vCPU usage per hour.
Expand Down