azure

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

Andrei Bespamiatnov

Andrei Bespamiatnov

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

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:

  1. Disable zone replication on the existing pool
  2. Create a new Hyperscale pool
  3. Migrate existing databases to the new pool
  4. 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.

References