azurevirtual-machinescost-optimizationburstable

Azure B-series burstable VM cost: credits, banking, and when to use them

B-series burstable VMs cost far less than general-purpose sizes because they run at a low baseline CPU and bank credits for bursts. For mostly idle workloads they are the cheapest option; for steady load they throttle. Here is how they work.

The C3X Team··6 min read

Quick answer

Azure B-series burstable VMs run at a guaranteed low baseline CPU (for example a B2s is 2 vCPU with a modest baseline) and bank CPU credits while idle that they spend to burst to full speed when needed. Because you pay for baseline performance, they cost much less than always-full sizes: a B2s runs about $0.0416 per hour (roughly $30 per month) versus a D2s v5 at about $0.096 per hour (roughly $70 per month). They are the cheapest option for workloads that are mostly idle with occasional spikes, but throttle to baseline once credits run out. The rule: use B-series for bursty low-average workloads, general-purpose for sustained load.

The B-series is Azure's burstable VM family, designed for workloads that do not need full CPU continuously. Instead of paying for constant performance, you pay for a low guaranteed baseline and bank credits during idle time that you spend to burst to full speed when a spike arrives. For the right workload, the B-series is the cheapest way to run a VM on Azure.

How burstable pricing compares

SizevCPU / RAMApprox per hourApprox per month
B1s1 / 1 GB~$0.0104~$8
B2s2 / 4 GB~$0.0416~$30
B2ms2 / 8 GB~$0.0832~$61
D2s v52 / 8 GB~$0.096~$70

A B2s costs roughly $30 per month against a comparable D2s v5 at about $70, so for a workload that fits the burstable model, the B-series saves more than half. The catch is the credit mechanism: you only get the savings if the workload's average CPU stays at or below the baseline.

How credits work

Each B-series size has a baseline CPU percentage it is guaranteed and priced for. When the VM runs below that baseline, it accrues CPU credits up to a cap; when it needs more than the baseline, it spends banked credits to burst toward 100 percent CPU. As long as bursts are occasional and idle periods refill the bank, the VM performs like a full VM when it matters and costs like a small one. If the workload runs hot continuously, credits deplete and the VM throttles down to its baseline, which can feel slow.

Ideal workloads

B-series suits small web servers, dev and test boxes, low-traffic APIs, build agents that spike then idle, microservices with bursty request patterns, and internal tools used intermittently. These share a profile: low average CPU with occasional short spikes, exactly what the credit system rewards. For dev environments specifically, pairing B-series with scheduled shutdown compounds the savings, as the dev environment optimization guidecovers.

When to avoid the B-series

Steady, CPU-intensive workloads, a busy application server, a database under constant load, a batch job that pegs the CPU for hours, will exhaust their credits and throttle to baseline, hurting performance. For those, a general-purpose D-series or compute-optimized F-series sized to the load is the right choice, and right-sizing plus a reservation, as in the VM right-sizing guide, minimizes their cost. The B-series is a specialist tool, not a universal cheaper VM.

Choosing burstable on cost

Check the workload's average CPU: if it sits comfortably below a B-series baseline with only occasional spikes, the B-series is the cheapest fit and saves half or more versus general-purpose. If average CPU is high or sustained, choose a general-purpose size instead. Price both the B-series and the general-purpose alternative against the resource catalog before you deploy so the burstable saving, and its throttling risk, are understood upfront.

FAQ

How do Azure B-series VMs save money?

They run at a guaranteed low baseline CPU and bank credits while idle that they spend to burst to full speed when needed, so you pay for baseline performance rather than constant full performance. A B2s costs about $30 per month versus a comparable D2s v5 at about $70, saving more than half for workloads that fit the burstable model of low average CPU with occasional spikes.

How do B-series CPU credits work?

Each size has a baseline CPU percentage it is guaranteed and priced for. Running below baseline accrues credits up to a cap; needing more than baseline spends banked credits to burst toward 100 percent CPU. As long as bursts are occasional and idle periods refill the bank, the VM performs like a full VM when needed. Sustained high load depletes credits and throttles the VM to baseline.

What workloads suit Azure B-series VMs?

Small web servers, dev and test boxes, low-traffic APIs, build agents that spike then idle, bursty microservices, and intermittently used internal tools. These share a profile of low average CPU with occasional short spikes, which the credit system rewards. Pairing B-series with scheduled shutdown on dev environments compounds the savings further.

When should I avoid the B-series?

For steady, CPU-intensive workloads such as a busy application server, a database under constant load, or a batch job that pegs the CPU for hours. These exhaust their credits and throttle to baseline, hurting performance. Choose a general-purpose D-series or compute-optimized F-series sized to the load instead, and right-size plus reserve it to minimize cost.

How does C3X help with B-series VM cost?

C3X prices VM sizes from Terraform before you deploy, so the difference between a B-series burstable size and a general-purpose alternative is visible in the pull request. That helps you choose the cheapest fit for the workload's CPU profile at design time and avoid either overpaying for a general-purpose VM on a bursty workload or throttling a steady workload on a B-series.

What to do next

Choose the right VM family before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.

Try C3X on your own Terraform

Free and open source. No API key required. One command to install, one command to estimate.