Azure B-Series VMs

Key points to note about the cheapest Azure B-Series VMs from various online hyper-linked sources:
  • B-series burstable VMs are suitable for workloads that do not need the full performance of the CPU continuously or workloads typically having burstable performance requirements.
  • Example use cases include development and test servers, low-traffic web servers, small databases, micro services, servers for proof-of-concepts, build servers.
  • B-Series VMs run on hosts with Intel Haswell 2.4 GHz E5-2673 v3 processors or better processors. The E5-2673 v3 is what is used on the D_v2- and F-Series hosts, so the B-Series is a throttled FS-Series machine
  • B-Series uses a similar system to the AWS T2 Instance. A B-Series virtual machine has a per-core base performance level, which is a percentage of each core. If the virtual machine remains under this level, it will earn credits up to a certain level. These credits can be burned to allow the virtual machine to burst beyond this per-core base performance level, up to 100 percent of the potential of the underlying physical core until either the workload subsides or credits run out.
  • After you’ve picked the burstable VM size in Azure (or for your EC2 instance) it’s very important to monitor it. In Azure, two metrics are specific to B-series VMs: CPU credit consumed and CPU credits remaining 

  • The VM accumulation and consumption rates are set such that a VM running at exactly its base performance level will have neither a net accumulation or consumption of bursting credits. A VM will have a net increase in credits whenever it is running below its base performance level and will have a net decrease in credits whenever the VM is utilizing the CPU more than its base performance level. Example: I deploy a VM using the B1ms size (Base CPU Perf of VM is 20%, max  CPU Perf of VM is 100%) for my small time and attendance database application. This size allows my application to use up to 20% of a vCPU as my baseline, which is .2 credits per minute I can use or bank. My application is busy at the beginning and end of my employees work day, between 7:00-9:00 AM and 4:00 - 6:00PM. During the other 20 hours of the day, my application is typically at idle, only using 10% of the vCPU. For the non-peak hours I earn 0.2 credits per minute but only consume 0.l credits per minute, so my VM will bank .1 x 60 = 6 credits per hour. For the 20 hours that I am off-peak, I will bank 120 credits.During peak hours my application averages 60% vCPU utilization, I still earn 0.2 credits per minute but I consume 0.6 credits per minute, for a net cost of .4 credits a minute or .4 x 60 = 24 credits per hour. I have 4 hours per day of peak usage, so it costs 4 x 24 = 96 credits for my peak usage. If I take the 120 credits I earned off-peak and subtract the 96 credits I used for my peak times, I bank an additional 24 credits per day that I can use for other bursts of activity.
  • To see if “bursty” non-B-series VMs can be resized to the B-Series to save money without compromising on performance, empirical data from performance monitoring may need to be used to establish the usage profile
  • All B-Series sizes support Premium Storage data disks.

Comments