One of the benefits of the cloud is the ability to scale to your workload. At least, that’s the idea: Only buy what you need, when you need it.
But depending on your cloud provider and your needs, this is often more of an ideal than a reality. In the case of Microsoft Azure, for example, “burstable” virtual machines have been an obvious omission.
Until this week, however. Azure announced on Tuesday that a burstable VM tier is in public preview, and is finally starting to catch up to Amazon Web Services (which has had burstable VMs since July 2014) and Google Cloud Platform.
A “burstable” VM is one where you can bank, or save up, CPU cycles for the future.
For example, suppose you are running a relational database – such as MySQL or SQL Server – on a virtual machine. Normally, you’re performing run-of-the-mill read queries that aren’t particularly expensive, but at the end of the week, you need to run a series of huge, complex reports that really eat up processing time.
To date, the way you dealt with that in Azure was one of three ways:
- Scale up your VM on a schedule, using Azure Automation. This requires a hard restart of the machine, however, and purges in-memory and temporary storage files, which can really mess you up.
- Scale out your service to multiple VMs. This is difficult to do with most RDBMS, however, since a typical database master-slave relationship requires the slave DBs to be running at all times, and autoscaling necessarily makes instances disappear.
- Re-engineer the workload to run on a Platform as a Service platform; in Azure’s case, on Azure SQL Database. This, of course, is not a realistic option for a lot of existing database workloads.
With the addition of burstable VMs to Azure, if you have a predictable change in CPU demand, you can more easily provision a cost-effective solution to your occasional high-demand compute needs.
Basically, you normally run at some small percentage of the VM’s CPU capacity. The CPU cycles you are not using are then “banked” for you in a kind of virtual savings account. When you need extra CPUs, you can draw against your banked CPU cycles. Azure provides this “burst” of power without having to restart your machine. This provides you with a number of benefits, not the least being business continuity and predictable performance. It’s also generally cheaper to run a burstable VM than a tradtional VM*.
Azure is calling this its B series VMs, and right now they are available in US East (Virginia), US West 2 (Seattle area), West Europe (Netherlands), and Southeast Asia (Singapore) regions.
It’s worth noting that all Azure previews are provided without warranty or SLA. In other words, if it breaks, you’re probably out of luck, so don’t put mission-critical workloads in a preview service.
* Pricing information for Azure’s burstable VMs was not available at the time of this blog post.