TL;DR: If Pause/Resume is the manual lever, Redshift Serverless (2022) is the automatic transmission — same query engine, no node sizing, no EventBridge scheduling. You set a base capacity in RPUs (a ceiling for the autoscaler, not a floor you pay for), capacity scales in seconds and drops to zero when idle, and you're billed per second for actual RPU-hours. For any workload that isn't pegged at high load 24/7, it's now the simpler default.
The numbers
- RPU (Redshift Processing Unit) bundles CPU + memory + I/O; base capacity 8–512 RPUs, ~$0.375/RPU-hour (us-east-1, verify current).
- Idle = $0 compute — the base capacity caps the autoscaler; no queries means no RPU-hours billed. Storage bills separately at ~$0.024/GB-mo (same as provisioned).
- Cross-over: ~10 hrs/wk at 32 RPUs ≈ 1,385 RPU-hours/mo ≈ ~$520/mo vs ~$360/mo for a dc2.large × 2 running 24/7 — slightly higher absolute, but with auto-scale headroom, zero ops, and no upsize risk. The more intermittent the workload, the more Serverless dominates.
- Reserved Capacity: commit a predictable RPU-hour floor for 1 or 3 years for up to ~65% off the committed portion; everything above bills on-demand.
- Field examples: a finance team with month-end bursts went $1,200 → ~$350/mo (~$10,200/yr); a SaaS analytics startup landed at ~$200–300/mo vs $700+ provisioned.
Do this
- Start conservative at a 32 RPU base — it handles a lot; scale up only when query queueing actually shows in the Query Monitoring view.
- Watch real RPU consumption in CloudWatch for a week before tuning — actual patterns rarely match the week-one gut estimate; most teams over-set and trim back.
- Migrate from provisioned via snapshot → restore into a Serverless namespace + workgroup → repoint BI/ETL/dbt connection strings → validate a week → decommission.
- Buy Reserved Capacity only after usage stabilizes — don't commit on day one.
- Validate query performance after cutover — usually comparable or better (the autoscaler often gives big queries more compute than a fixed cluster).
Gotchas
- Base capacity is a ceiling, not a paid baseline — the single most common misconception; idle truly costs zero compute.
- Cold start from idle is usually under 10s — negligible for analytics, relevant only if you've promised a 50ms p99 to a customer-facing dashboard.
- Soft concurrency limits exist — hit them and AWS scales up, or you raise base capacity.
- Verify region availability before committing.
Skip this if
- The warehouse runs pegged at high load most hours of the day and you'll commit to multi-year terms — a provisioned
ra3fleet with Redshift Reserved Nodes can edge out Serverless; price both. - Your usage is predictable business-hours-only and you'd rather keep an existing provisioned cluster — Pause/Resume captures most of the savings without a migration. For the OLTP side of the house, see Aurora I/O-Optimized.