Following in AWS's footsteps Azure now offers a solution for a "low-CPU VM most of the time" in the form of the B-series, where the B stands for "burstable."

Many VM workloads such as web servers, test, dev, and report servers often use very little of the CPU most of the time. However, both on premises and in the cloud, you have to allow for the peak time when sizing your VMs so your compile job or monthly report doesn't take too long.

Microsoft announced the B-series on September 11, 2017 in preview, and it is now generally available (GA) (as of December 5, 2017). Compared to an A1_v2 VM, a B1s is just under one-third of the monthly cost.

Time for some math ^

Here are the six sizes the B-series comes in:

SizevCPUMemory: GiBLocal SSD: GiBBase CPU Perf of VMMax CPU Perf of VMCredits Banked/HourMax Banked Credits
Standard_B1s11410%100%6144
Standard_B1ms12420%100%12288
Standard_B2s24840%200%24576
Standard_B2ms281660%200%36864
Standard_B4ms4163290%400%541296
Standard_B8ms83264135%800%811944

The B series follows the new(ish) naming scheme for Azure VM sizes where the m stands for memory and the s stands for supporting SSD storage. Note that you can provision B-series VMs with either HDD or SSD storage.

Picking the B series VM

Picking the B series VM

The CPU Perf and Credits columns require a bit of explanation. You need to look at these credits over a period of time, for example 24 hours. Taking the B1ms VM as an example, which only has a single vCPU core, it's got a baseline of 20% of that core (.2 per minute).

Say your workload is busy 3 hours of the day, using about 60% of the CPU core (40% over the baseline, .4) and idling at 10% (.1 under the baseline) the other 21 hours of the day. For the non-peak times you'll earn .1 x 60, or 6 credits per hour, for a total of 126 credits. At peak times you'll "pay" .4 x 60, or 24 credits per hour, for a total of 72 credits. In this sample 24-hour period you'll be accumulating an extra 54 credits (126 - 72) you could use for additional bursting.

Notice you can put a maximum number of credits "in the bank" as per the table. Also note that the baseline and max CPU derive from the number of cores. So a B8ms with eight cores, four used at 30%, would be 120% utilization (earning you a .15 credit, as you're under the baseline), and 800% would be eight cores going at 100% each. Obviously you don't accumulate credits when a VM is turned off.

Picking the VM size

Picking the VM size

Monitoring your workload ^

Figuring out if your workload is a candidate for a B-series VM will take some performance measuring. If you already have the application running on premises, make sure you use Performance Monitor's Hyper-V counters (or the VMware equivalent) to gather data on how much CPU the application uses at different times of the day.

The next step would be to migrate a VM to Azure. (Use Azure Site Recovery; it’s free for the first 31 days for each VM.) Test it out for a week or so, making sure to generate the same load the VM normally is under. Underlying the B-series VMs is either an Intel Broadwell E5-2673 v4 2.3GHz or an Intel Haswell E5-2673 v3 2.4 GHz processor.

Azure provides two new metrics to see your credits, [Host] CPU Credits Consumed and [Host] CPU Credits Remaining. To see them, simply click on the VM and click on Metrics in the menu on the right; you can't see them on the Overview tab. Here you can see my test VM after running idle overnight:

VM accumulating credits

VM accumulating credits

And here's the same VM after running a CPU-intensive workload for a short time.

Subscribe to 4sysops newsletter!

VM using up all CPU credits

VM using up all CPU credits

Azure is an interesting device in the tool belt of a modern IT professional. It's like a Swiss Army knife with so many tools sticking out of it that it's hard to pick the right one. I think businesses just got another important tool to look at for their Azure workloads. After all, the original justification in the early days of virtualization was that most servers run idle most of the time—pack them on the same host and increase the processor utilization. Well, that's still true, but now you're paying per minute for those VMs; make sure you don't pay more than you have to.

0 Comments

Leave a reply

Your email address will not be published.

*

© 4sysops 2006 - 2022

CONTACT US

Please ask IT administration questions in the forums. Any other messages are welcome.

Sending

Log in with your credentials

or    

Forgot your details?

Create Account