B-series VMs are Azure's burstable compute tier. They're priced attractively, which is why they appear all over most Azure estates. The issue is that B-series has a hard cap on uncached disk throughput that most teams don't know about until they look at the spec sheet.
A B4ms (four vCPUs, 16 GB RAM) caps at 35 MB/s uncached disk throughput. That's the ceiling, regardless of what's attached to it.
A Premium SSD P20 (512 GB) can deliver 150 MB/s. On a B4ms, it will never deliver more than 35 MB/s. The disk is capable of four times what the VM can consume.
You're paying for 150. You're getting 35.
Why this matters at scale
The cost difference between Premium SSD and Standard SSD on common data disk sizes is significant. On a 512 GB disk in UK South, Premium SSD runs roughly £60/month. Standard SSD of the same size is around £14/month.
If the VM can't exceed 35 MB/s regardless of disk tier, the performance delivered is identical. The £46/month difference per disk is pure overspend.
Across a typical estate with 50 data disks attached to B-series VMs, that's around £2,300/month, or £27,600/year, in disk overspend before you've changed a single VM configuration.
The actual number from one recent review: £30,000 per annum recovered from disk SKU changes alone. That doesn't require a single VM to be resized or reprovisioned. Changing disk SKU is a portal operation on a stopped VM.
The B-series IO cap by size
The throughput ceiling scales with the VM, but it stays low across the whole family:
- B2ms: 22.5 MB/s
- B4ms: 35 MB/s
- B8ms: 35 MB/s
B8ms has the same IO ceiling as B4ms. Eight vCPUs, twice the RAM, identical disk throughput cap. The burstable model is built around CPU credits, not storage performance.
Any Premium SSD P10 or above exceeds what B-series can consume. P10 alone delivers 100 MB/s, nearly three times the B4ms ceiling.
When B-series with Standard SSD makes sense
General purpose application servers, DevOps agent VMs, monitoring and management VMs, anything where disk IO isn't the workload constraint: these are exactly what B-series was designed for. Standard SSD delivers adequate IOPS for most of these patterns.
The combination that actually makes sense: B-series for compute economy, Standard SSD for the disk, right-sized to the actual storage requirement.
What doesn't make sense
Databases on B-series VMs with Premium SSD data disks. The database engine will hit the VM IO ceiling long before it touches the disk's capability. You've paid for Premium storage performance on a VM that structurally can't use it.
If the workload has genuine IO requirements, the right answer is a VM family without the throughput cap (D-series or E-series) paired with the appropriate disk tier. That's a different conversation from the B-series + Premium SSD pattern, which is almost always just an oversight.
VM and disk SKU alignment is one of the first things we look at in an Azure cost review. If you'd like an independent assessment, our free cost assessment covers the full disk and compute estate.