On September 12th, Microsoft announced the general availability of the latest Azure virtual machines – the burstable Bpsv2 VMs – based on the Ampere® Altra® processors that power the Dpsv5 and Epsv5 instances. B-series virtual machines are targeted at workloads that are ‘bursty’ and do not require sustained levels of high CPU performance. When used correctly, developers can expect to see compelling cost savings while running their applications at expected levels of performance. These virtual machines continue to build upon the cloud mantras of elasticity and ‘pay only for resources you need’.
Reducing cloud spending has simultaneously been a challenge and an opportunity, given the myriad applications and usage patterns. The cloud allows developers to spin up more VMs to meet increased demand and tear them down when they are not needed. However, the smallest unit of compute for such applications is a virtual machine and the sizing of these VMs are done on a per-workload basis. Right sizing workloads – the process of analyzing the performance and requirements of an application to determine the appropriate amount of compute – is done by understanding application requirements and usage patterns. Since usage patterns are not predictable, VMs are typically sized “for the peak”.
Workloads in the cloud, though, rarely run at sustained levels of high performance. Traffic patterns are typically bursty and follow diurnal cycles. Traditional virtual machines are rented on an hourly basis and charges are incurred whether resources are used or not. If a VM hosting your application is booted up, you will pay hourly charges. Burstable virtual machines behave differently. Let’s see how.
When you deploy a Bpsv2 virtual machine, it has a specific number of vCPUs (which are cores in the case of Ampere Altra processors), amount of memory, storage, and network capability, just like Dpsv5 virtual machines. The difference between the two arises from the fact that the Bpsv2 VMs have a guaranteed “baseline” level of performance per vCPU. When the application requirements are below that level of performance, the VM accrues credits. These credits allow the VM to burst above baseline levels of performance and utilize 100% of CPU resources occasionally when the need arises. The different types of credits and the baseline performance of B-series VMs are documented here.
This concept of credits and bursting of CPUs is best explained using a real-world example.
Consider a meal delivery service running an end-to-end delivery logistics stack, from the mobile app on your phone to the cloud native applications running in Azure. For fast predictable access of assets like food menus, an in-memory cache like Redis is used, which is known for its low-latency reads and writes. In this example, let’s say Redis is deployed in traditional non-burstable virtual machines, like the Dpsv5 VMs, built on the Ampere Altra processors, which have been designed for predictable performance and resistance to noisy neighbors.
Meal delivery services experience diurnal patterns, leading to bursts of activity several times a day. When the number of orders for food delivery spikes during typical mealtimes, the amount of throughput needed from the Redis cluster is higher than during the remainder of the time. As mentioned earlier, developers have sized VMs to handle the absolute maximum peak traffic and used the elasticity of Azure compute to shut down VMs when not needed. This is an effective technique, but the Bpsv2 VMs are better suited for such usages.
Figure 1 shows a typical scenario with three upticks during mealtimes – breakfast, lunch, and dinner. The graph plots CPU utilization in response to incoming traffic as well as accumulated credits. When the credits fall to zero (or below), the B-series VMs can only run at baseline CPU performance. In this example, the credits never dip below zero, meaning the VM was right-sized for the incoming traffic.
Table 1 shows the 3-year costs across different general purpose VM types for a single VM running Redis. The Bpsv2 VMs can result in up to 31% savings with no compromises to performance.
B8psv2 | D8psv5 | D8asv5 | D8sv5 | |
---|---|---|---|---|
3-year Reserved Costs | $2,684 | $3,076 | $3,435 | $3,835 |
Cost Savings with the B8psv2 VMs | - | 13% | 21% | 31% |
The Bpsv2 virtual machines were designed for real-world usages that are bursty in nature with the same emphasis on performance, predictability, and sustainability that has made the Azure Dpsv5 VMs so popular. Microsoft and Ampere have partnered closely in bringing these VMs to market with a focus on tailoring compute to the needs of the cloud developer.
At Ampere, we are passionate about enabling cloud developers make the once-in-a-lifetime leap to Cloud Native Processors built on a platform of sustainability. We believe that doing so is good for the developer, good for your pocket, and good for our planet.
Do you have questions? Please access technical resources at our Developer Center or reach us and engage with the Ampere-aarch64 community.
See what our partners have to say about Azure’s latest bustable VMs: