Scaling & Replicas
Vessl supports horizontal scaling — running more than one instance (replica) of your app on the same server. Multiple replicas share incoming traffic through Traefik's load balancer.
How to scale
Go to your app → Settings tab → Replicas section. Use the + and - buttons to set the number of replicas, then click Scale to apply.
Scaling is a live action — it takes effect immediately without a full redeploy. Vessl adds or removes containers on the fly.
Plan limits
The maximum number of replicas depends on your plan:
| Plan | Max replicas |
|---|---|
| Hobby | 1 |
| Starter | 2 |
| Pro | 3 |
On the Hobby plan, scaling is disabled (fixed at 1 replica). On Starter and Pro, you'll see the controls in the Settings tab.
Rolling deploys
When you have more than one replica and trigger a deploy, Vessl uses a rolling deploy strategy:
- The new version passes a canary health check.
- The old replicas are replaced with new ones.
- Traffic is always served — at least one replica stays live during the swap.
This means zero-downtime deploys even with multiple replicas running.
Resource allocation per replica
Each replica runs with the CPU and memory limits you configured for the app. If you have 2 replicas each with 1 GB RAM, they consume 2 GB total on your server. Make sure your server has enough headroom before scaling up.
You can adjust CPU and memory limits from Settings → Resource Limits.
All replicas of an app run on the same server. Scaling increases redundancy and distributes load, but doesn't spread across multiple servers. If your server goes down, all replicas go with it.