Azure SQL Hyperscale Migration - 60% Cost Reduction Through Smart Architecture

Andrei Bespamiatnov

Introduction
We were running Azure SQL on a Business Critical Gen5 elastic pool (skuCapacity 6) with ~10 production databases. Our largest database hit ~1.3 TB, pushing the pool limit (~1.65 TB). The usual next step—bumping to skuCapacity 8—would raise cost meaningfully. Instead, we moved to Azure SQL Hyperscale Premium Series (HS_PRMS) and achieved ~60% monthly savings while removing the storage ceiling.
This mirrors the experience described in my LinkedIn post: we swapped “scale up and pay more” for “scale out smartly and pay less.”
Before vs After (costs and limits)
- Before (BC_Gen5, skuCapacity 6): ~$3,500/mo, storage cap ~1.65 TB, zone redundancy included
- Upgrade path (BC_Gen5, skuCapacity 8): ~$4,500/mo
- After (HS_PRMS, 6 vCores + 1.3 TB):
$1,419/mo ($1,019 compute + ~$400 storage), storage scales independently up to 100 TB - HS_PRMS with zone redundancy: ~$2,838/mo (compute doubles with zone redundancy)
Numbers are East US pricing around September 2025 and will vary by region/time.
Why Hyperscale worked
- Decoupled cost: Compute and storage billed separately; no overpaying for storage headroom
- Scalability: Storage up to 100 TB without re-architecture
- Predictability: Storage growth is linear and transparent
Migration (zero downtime)
High‑level process we followed:
- Disable zone replication on the existing pool
- Create a new Hyperscale pool
- Migrate existing databases to the new pool
- The largest DB (~1.3 TB) took ~4 hours; the system stayed online
Trade‑offs to note
- Zone redundancy: No longer included; costs extra on HS_PRMS (doubles compute for the additional replica)
- New SKU: Hyperscale is relatively new; test and monitor accordingly
Outcome
- ~60% cost reduction vs previous setup
- Storage ceiling removed; straightforward path to 100 TB
- Future‑proofed without re‑architecting
If you’re hitting elastic pool limits due to storage (not CPU), Hyperscale can be a cleaner lever than scaling up BC_Gen5.