Replit Autoscale vs Reserved VM vs Static vs Scheduled: which deployment should you choose?
Short answer
- Autoscale is the right default for most web apps and APIs: it scales with traffic and can scale to zero when idle, at the cost of occasional cold starts.
- Reserved VM is for apps that must always be running: bots, websockets, queues, background workers. You pay a predictable fixed price.
- Static is for sites with no server code. Scheduled is for jobs that run on a timer, like nightly syncs or weekly reports.
Replit gives you several ways to publish an app, and picking the wrong one is one of the most common reasons a Replit app feels slow, flaky or expensive in production. Here is how to choose.
The comparison
| Autoscale | Reserved VM | Static | Scheduled | |
|---|---|---|---|---|
| Best for | Web apps, APIs | Always-on services | Sites with no backend | Recurring jobs |
| Always running | No, scales to zero | Yes | n/a | Only when triggered |
| Cold starts | Possible after idle | No | No | n/a |
| Websockets, bots, queues | Not ideal | Yes | No | No |
| Cost model | Usage-based | Fixed monthly | Low, transfer-based | Usage-based |
Prices change, so check Replit's pricing page for current numbers before you commit. For the full picture of what drives your bill, see Replit Agent costs.
Autoscale: the default for web apps
Autoscale runs your app on servers that are added when traffic grows and removed when it drops, down to zero when nobody is using it. You mostly pay for what you use.
Choose it when: you have a normal web app or API, and traffic is uneven. Internal tools, client portals and dashboards used during business hours are a perfect fit.
Watch out for:
- Cold starts. After a quiet period, the first request waits for an instance to start.
- No local state. Several instances can run at once and any can be stopped. Don't keep sessions, uploads or caches in memory or on the local disk. Use the database or object storage.
- No background work. Timers and queue workers inside a request-serving instance can be cut off. Move them to Scheduled or a Reserved VM.
Reserved VM: when it must never sleep
A Reserved VM is a dedicated machine that stays on. Performance is consistent and the monthly price is predictable.
Choose it when: you run a Discord or Telegram bot, a websocket server, a queue worker, long-running AI jobs, or an app where the cold start of Autoscale hurts the experience.
Watch out for: you pay even when nobody uses it, and one VM is one machine. Size it for your peak, and still keep state in the database.
Static: for sites without a server
Static deployments serve your HTML, CSS, JavaScript and images from a cache. They are fast and cheap.
Choose it when: your app is a landing page, documentation, or a frontend that only talks to external APIs without secret keys. If the frontend needs a secret, you need a server, which means Autoscale or a Reserved VM.
Scheduled: for jobs on a timer
A Scheduled deployment runs a command on a schedule, like a cron job: nightly data syncs, weekly reports, cleaning up old records.
Choose it when: the work does not need a user request to start. Many business apps end up with two deployments: Autoscale for the web app and Scheduled for the jobs, both using the same database.
A 30-second decision tree
- No server code at all? Static.
- Something must run continuously (bot, websocket, worker)? Reserved VM.
- Only a recurring task? Scheduled.
- Everything else: Autoscale, plus Scheduled for any background jobs.
Next step: follow our production deployment runbook, or check whether your app is ready with the free Replit Readiness Score.
FAQ
What is the cheapest way to host a Replit app?
Static deployments are the cheapest if your app has no backend. For apps with a server, Autoscale is usually cheapest at low or uneven traffic because it can scale to zero when idle. Check Replit's current pricing page, since prices change.
Why is my Replit Autoscale app slow on the first request?
When an Autoscale deployment has scaled down to zero, the first request has to start a new instance. That cold start adds latency. If that is unacceptable for your users, use a Reserved VM.
Can I run background jobs on Autoscale?
Not reliably. Autoscale instances exist to serve requests and can be stopped when traffic drops. Use a Scheduled deployment for recurring jobs, or a Reserved VM for continuous workers and queues.
Can I switch deployment types later?
Yes. You can change the deployment type from the publishing settings and republish. Test afterwards, because run commands and assumptions about always-on processes may need to change.