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
62 nodes running 180 vCPU of actual work.
Pooled and sized once for the peak, 71 nodes would average 31.7%. Auto-scaling brings it to 62 nodes at 36.3%, moving between 31.9% and 38.7% across the day against a 38% setpoint.
The arithmetic, in full
| Step | Working | Result |
|---|---|---|
| Provisioned today | 50 clusters of 3 nodes each, 150 in total x 8 vCPU | 1200 vCPU |
| Mean demand | 1200 vCPU x 15.0% estate average utilization (per-cluster 0.5% to 28.0%, sd 5.3%) | 180 vCPU |
| Aggregate peak | 180.0 vCPU x (1 + (2.23 - 1) / sqrt(50)), a pooled peak-to-mean of 1.174 | 211 vCPU |
| Consolidated, sized once for the peak | max(3, ceil(211.3 vCPU / (8 vCPU x 37.5% target))) = max(3, ceil(70.42)); the mean sits well under that peak | 71 nodes, averaging 31.7% |
| 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 | 62 nodes on average, at 36.3% CPU |
| Utilization across the day | 31.9% to 38.7% 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 | 31.9%-38.7% |
Assumptions
- 8 vCPU per node. Standalone clusters are drawn around 3 nodes, snapped to an odd number for quorum and held between 3 and 15; in this estate they're all 3, because a spread centred on the end of that range has nowhere to go, for 150 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 0.5% to 28.0%, a 5.3-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 71 at peak.
- The auto-scaler sizes for what it saw 30 minutes ago and waits 2 hours before shrinking, so the pool averages 36.3% 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.