Burstable Instances: An Interesting Take on Pay-Per-Use

Burstable Instances


Picking the right instance type to host an application in the cloud requires detailed workload characterization and analysis. Burstable instances provide a lower cost option for workloads that do not have sustained high CPU usage. In this post we analyze their cost model, outline the analysis to determine their suitability, and explore how widely applicable they are in migrating business applications to the cloud.

Let’s do the data analysis and understand how adding burstable instances to your instance types can impact your cloud solution costs.

AWS introduced T2 burstable performance instances in 2014, then Intel T3 and AMD centric T3a instances in 2018. These instances have between 1 and 8 vCPUs. Applications running on such instances can use all vCPUs as needed. As long as the average vCPU usage over a 24-hour period does not exceed the instance’s baseline performance (between 5% and 40% depending on instance size), there will be no throttling or additional charge [1].

Cost Advantage

To get a sense of the cost advantage of burstable instances, let’s compare the monthly cost of running On-Demand t3.large (burstable) and m5.large (non-burstable) instances in the US East (N. Virginia) region. Both instance sizes have 2 vCPUs and 8 GiB memory.

The table below shows the costs from the AWS Simple Monthly Calculator [2] as of June 5, 2019.

Instance

Total with Operating System Operating System Cost
Linux RHEL Windows RHEL Windows
t3.large $60.91 $104.83 $81.11 $43.92 $20.20
m5.large $70.28 $114.20 $137.63 $43.92 $67.34
AWS Instance Cost – June 5th, 2019: Source : https://calculator.s3.amazonaws.com/index.html

 

When running Linux, t3.large is 13% cheaper than m5.large. Besides no vCPU usage constraints, m5.large comes with dedicated EBS bandwidth and higher network performance than t3.large. The 13% cost difference is not that compelling. What’s most notable is the difference in Windows license cost between them. The cost on t3.large is proportional to its baseline performance (average vCPU usage allowance) of 30% relative to m5.large. The total cost of t3.large is 41% cheaper than m5.large when running Windows. For all AWS burstable instances, Windows license cost is proportional to the baseline performance relative to a comparable regular instance. This Pay-Per-Use-like cost model combined with instance-based cloud consumption makes burstable instances appealing targets to lift-and-shift workloads to the cloud.

The cost advantage extends further to reserved instances(RI’s). The following table shows the monthly cost of 3-year no upfront reserved instances.

 

Instance

Total with Operating System Operating System Cost
Linux RHEL Windows RHEL Windows
t3.large $26.28 $70.08 $46.43 $43.80 $20.15
m5.large $30.66 $74.46 $97.82 $43.80 $67.16
AWS 3-year no upfront reserved instance costs – June 5th, 2019: Source : https://calculator.s3.amazonaws.com/index.html

 

First thing to note is that RIs have the same OS cost as on-demand instances. (The differences are in the rounding errors.) The total cost of t3.large is 53% cheaper than m5.large when running Windows.

Making the Right Choice

All major cloud providers maintain an extensive catalog of instance types/sizes. When we migrate a workload to an instance in the cloud, the key is making sure that the chosen instance has enough CPU, memory, storage and network capacity to satisfy workload demands while minimizing cost. If we monitor the CPU usage of a workload over an extended period of time, we can evaluate whether a burstable instance has enough CPU capacity for the workload in two steps.

Rightsizing. Oftentimes a workload has overprovisioned CPU capacity. Let’s say we monitor an application running in a VM with 8 vCPUs. Over the assessment period the peak CPU usage is 40%, so the workload fits in a VM with 4 vCPUs. When running on a virtualized server on-premises, the overprovisioned vCPUs may have negligible impact. If the VM is migrated as configured to a cloud instance, the unused vCPUs will incur significant cost. In this example, rightsizing by peak CPU usage limits us to choose xlarge or 2xlarge burstable instances. For less performance-critical workloads, we can rightsize by 99th or 95th percentile CPU usage to get lower cost.
"IMG_8549" by Tantek Çelik is licensed under CC BY-NC 2.0

 

Credit check. A burstable instance may get throttled or incur additional charge as governed by CPU credits [1]. With monitoring data on a workload’s CPU usage, it’s possible to simulate the crediting scheme and predict any throttling or charge. A simplified yet conservative check is to compare the daily average CPU usage of a workload with the baseline performance of a burstable instance. If the maximum of daily average CPU usage is 15% with 8 vCPUs, which translates to 30% with 4 vCPUs, a t3.xlarge instance (40% baseline performance) has sufficient CPU credits for the workload.

Cloud migration analysis is a key part of the CloudPhysics SaaS. We provide agentless monitoring of workloads both on-premises and in the cloud. The analysis outlined above and more are available to help you make the right choice when migrating workloads to all major cloud providers.

Applicability

Here’s a scenario where burstable instances greatly facilitate cloud adoption. A medium-sized business has dozens or a few hundred applications running on virtualized servers. Most are Windows-based and actively used during working hours. There are established processes that run backups, reports, etc. during off work hours. The physical servers are getting old and near end of support. The lower cost of burstable instances improves the favorability of a pragmatic “lift and shift” cloud migration relative to a hardware refresh. In larger organizations many workloads fit the same profile. Using burstable instances will expedite cloud adoption while development and operations staff focus on building new cloud native applications.

 

The data platform for CloudPhysics SaaS supports complex queries over our global data set. A majority of workloads in the data set have one of burstable instances as the best match (lowest cost while satisfying all resource demands of the workload) among all AWS instances. For our users that enabled AWS data collection, nearly 1/5th of their EC2 usage is on burstable instances.

Comparatives

In 2017, Microsoft Azure introduced B-series burstable instances [3], similar to AWS T2 instances. Compared with T3, the two largest sizes B4MS/B8MS have lower baseline performance than t3.xlarge/t3.2xlarge. Azure B-series offer deeper discount on Windows license cost. For example, Windows cost on B2MS with the same number of vCPUs, memory size and baseline performance as t3.large is 29% that of t3.large.

Google Cloud provides f1-micro and g1-small shared-core machine types. They are too underpowered to handle most workloads that AWS and Azure burstable instances support. Given the wide applicability of burstable instances and the advantage of their Pay-Per-Use-like cost model, they should be a great addition to GCP’s instance catalog.

Conclusion

In our opinion, the introduction and evolution of burstable instances is a customer-first strategy. When it’s pragmatic to “lift-and-shift” on-premises VMs to the cloud, burstable instances fit many workloads and help to reduce cloud cost.

 

References

 

  1. Burstable Performance Instances
  2. AWS Simple Monthly Calculator
  3. Introducing B-Series, our new burstable VM size

 

“Bubbles in the data center” image by Chris Grossmeier – copyright 2019 – all rights reserved.

Coffee Cups: “IMG_8549”by Tantek Çelik is licensed under CC BY-NC 2.0