Step 1 of 8 - Virtualization
You're running an estate, not a cluster
Every cluster below was sized for its own peak, so every one of them idles.
Deployment model
45 nodes running 54 vCPU of actual work.
The arithmetic, in full
| Step | Working | Result |
|---|---|---|
| Provisioned today | 5 clusters totalling 45 nodes (drawn around 9, 7 to 13) x 8 vCPU | 360 vCPU |
| Mean demand | 360 vCPU x 15.0% estate average utilization (per-cluster 6.9% to 27.7%, sd 7.0%) | 54 vCPU |
| Aggregate peak | 54.0 vCPU x (1 + (2.23 - 1) / sqrt(5)), a pooled peak-to-mean of 1.549 | 84 vCPU |
| Consolidated, sized once for the peak | max(3, ceil(83.7 vCPU / (8 vCPU x 37.5% target))) = max(3, ceil(27.89)); the mean sits well under that peak | 28 nodes, averaging 24.1% |
| Auto-scaled through the day | the pool follows the pooled curve in whole nodes, 30 minutes behind it, holding its size for 2 hours before shrinking | 20 nodes on average, at 33.8% CPU |
| Utilization across the day | 22.1% to 41.1% against a 37.5% setpoint: the pool runs hot while it's a bucket behind a rise, and cool while the cooldown is still holding capacity after a peak | 22.1%-41.1% |
Assumptions
- 8 vCPU per node. Standalone clusters are drawn around 9 nodes, snapped to an odd number for quorum and held between 3 and 15; in this estate they run 7 to 13, a 2.2-node standard deviation, for 45 nodes in total.
- Each standalone cluster's CPU is a draw from a normal distribution centred on 15.0% and held between 0% and 100%; in this estate they run 6.9% to 27.7%, a 7.0-point standard deviation. The published band is 10-15% today against a 30-45% auto-scaled target, and this Private Host Cluster is set to 37.5%.
- The Private Host Cluster floors at 3 nodes and must reach 28 at peak.
- The auto-scaler sizes for what it saw 30 minutes ago and waits 2 hours before shrinking, so the pool averages 33.8% rather than sitting on its 37.5% setpoint.
- Workloads are independent; consolidation moves where work runs, not how much there is.
What a virtual cluster gives an app team
Its own connection string, databases, schemas, users, roles and backups, and no visibility into the Private Host Cluster or any other virtual cluster.