# Service modes

Every web service runs in exactly one mode: **standard**, **serverless**, **cron**, or **volume**. The mode decides how the service runs — always on, scaled to zero when idle, on a schedule, or with a persistent disk attached.

Modes apply to web services only. Databases run only as standard: always on, with exactly one replica.

## Compare the modes

Whatever the mode, a rolling-out service shows **In progress** first — see [status](/docs/observability/status) for how health is reported.

## Standard

Standard is the default. The service keeps a fixed replica count in each of its locations and stays up whether or not requests arrive.

Replica counts, sizes, and locations are covered in [resources and scaling](/docs/services/resources-and-scaling).

## Serverless

Serverless mode scales the service to zero when it is idle and wakes it on the next request. The replica count becomes the scale ceiling rather than a fixed count.

See [serverless & scale to zero](/docs/services/scale-to-zero).

## Cron

Cron mode runs the container on a 5-field cron schedule instead of keeping it up. A cron service takes no HTTP traffic and can never be exposed.

See [run cron jobs](/docs/services/cron-jobs).

## Volume

Volume mode attaches a persistent disk to the service. The disk keeps its data across restarts and redeploys, and the service runs a single replica so the disk has one writer.

See [volumes](/docs/services/volumes).

## Change a service's mode

1. 
2. 
3.

> **Note:**
>
> A web service runs as exactly one of standard, serverless, cron, or volume. The console disables the other toggles while one is on, and the [API](/api/services) rejects a write that enables two at once.
