in

Cloud Pricing Comparison: AWS vs. Microsoft Azure vs. Google Cloud vs. IBM Cloud

As major cloud providers (AWS, Azure, Google, and IBM) continue to drop the prices of cloud instances, they have added discounting options, added instances, and dropped the billing increments, in some cases, to per second billing. Costs come down, but complexity increases. Understanding how to navigate this complexity is critically important. We estimate that companies will waste more than $10 billion in the next 12 months on their cloud spend.

So how do you begin to understand cloud costs? Which providers have the lowest cost options?

This primer provides the information you need to know to understand public cloud pricing options and optimize your cloud spend. Read More: How to Diagnose Cloud Performance Issues

What’s changed in cloud instance prices

When you follow cloud pricing closely, you see how often things change. There have been a large number of changes in pricing for cloud instances in 2017 alone. Here is a quick summary.

  • Many prices go down: 70 percent of the 104 price points we include in our comparison have fallen since our last comparison in April 2017. While this is a fraction of the total price points, they represent some of the most commonly used instances. Of the 26 price points we analyzed for each cloud provider, AWS dropped 19 of 26 prices, Azure dropped 24 of 26 prices, Google dropped 4 of 26 prices, and IBM dropped 26 of 26 prices.
  • New instances for our comparison: Cloud providers continue to add new instances, and in some cases new instance families. For example, AWS added the C5 instance family (the next generation for C4 instances) and IBM moved from fully custom options to instance families.
  • Discounting options increase: There are growing opportunities (and challenges) in getting discounts. Azure introduced Reserved Instances with up to 72 percent savings, AWS added one year Convertible Reserved Instances, and Google introduced one year and three year Committed Use Discounts.
  • Per second billing: AWS moved from per hour to per second billing for EC2 and several other services. Google has always provided per second billing, but reduced the minimum time billed for an instance from 10 minutes down to 1 minute. Azure offers per second billing only on container instances.
  • Local disk pricing evolves: Cloud providers seem to be steering users away from a reliance on local disks for instances, and instead pushing toward attached storage. For example, AWS offers instance families with and without local storage, Azure has decreased the amount of local storage on the most recent generations (although it continues to offer local storage on all instance families), and Google continues to offer no local storage out of the box, making it an “optional add-on” for any VM type.

Understanding cloud discounting options

With the recent availability of Azure Reserved Instances, the big three cloud providers—AWS, Azure, and Google—all offer publicly available discounts (reaching as high as 75 percent) in exchange for committing to usage on the cloud provider for a one year or three year period. In all cases, you can decide how much usage to commit, and how much to leave as on-demand. IBM only offers public discounts for monthly usage, which saves about 10 percent over on-demand usage.

Google also offers a sustained use discount that requires no commitment, but offers an automatic discount on each instance type that is running in a region for more than 25 percent of a month. For instances running 24×7 for an entire month, the discount maxes out at 30 percent.

In addition to the publicly documented discounts listed above, there are opportunities for privately negotiated discounts on a case by case basis. The more you are spending with a particular cloud provider, the more likely you are able to negotiate further discounts.

Comparing commitment-based discounts

The three programs for commitment-based discounts vary in flexibility as outlined below.

Ease of purchase: Google offers the simplest approach for purchasing, where your CUD can apply to any instance family and size in a region and there is no need to request any changes. 

Ease of changes: Google CUDs automatically apply to any instance type in the region. AWS Convertible RIs and Azure RIs allow you to change your purchase (including the instance type and region), but require you to go through a manual process to do so.

Ability to cancel: Azure is unique in allowing you to cancel your reserved instances, but it is important to note that there is a 12 percent fee for doing so.

Most flexible payment options: AWS offers you the most payment options, and enables you to save more the more you pay up front.

We won’t discuss how each type of commitment-based discount works here, but it is important to know that these discounts don’t require you to change anything about your physical instances or VMs. Rather, you can think of them as “discount coupons” that can be applied to any instances that match the parameters of that “reservation” or “commitment.”

Deciding how many RIs to buy

It can be complex to decide your committed coverage level—how much of your footprint in a particular cloud provider should be covered by commitment-based discounts. In general the answer is never 100 percent coverage level (despite what your cloud provider sales rep might tell you).

You need to consider a variety of factors when purchasing, including:

  • Historical usage (by region, instance family, etc.)
  • Steady state usage vs. part-time usage
  • Future plans for:
    • Growth or decline in use
    • Changing cloud providers
    • Changing instance families
    • Moving regions
    • Shifting to other compute models (containers, serverless, etc.)
  • Balance between savings over time and cash payments upfront
  • Level of flexibility required

RightScale’s cloud cost management product, RightScale Optima, combines analytical reporting on historical usage with human intelligence about future plans to create a tailored plan for commitment-based discounts. We help you decide on the appropriate coverage level, then turn that into a full Optima Discount Plan for purchasing RIs or CUDs as shown below. This plan can then be used to provide options to your IT managers and finance teams.

Comparing instance pricing

Now that you understand the different discount options, let’s compare both on-demand and discounted prices.

Important note: Keep in mind that the annual on-demand prices used in this analysis include the Google SUD because it will automatically apply. Our discounted prices will include AWS and Azure RIs as well as Google CUDs. For IBM, we use monthly pricing and assume a 30 percent negotiated discount. As a result, your IBM prices could vary depending on your negotiated rate.

In comparing compute prices, it’s important to note where the compared instances are similar and where they are not. In our analysis, we chose six scenarios to compare, shown in the first column of the table below. We looked at standard, high memory, and high CPU instance types with two vCPUs. For each of these three instance types, we looked at scenarios where a local SSD is required, and where a local SSD is not required, resulting in a total of six scenarios. All scenarios are based on the lowest price region for each provider and, except for the Linux vs. Windows comparison, assume using one of the standard, free Linux distros that are available at no extra charge (not RHEL or SLES).

For each cloud provider, we then mapped the appropriate instance type for each scenario. You can quickly see that everything cannot be compared exactly “apples to apples.”

  • Notice that the amount of memory varies for the similar instances across the cloud providers. In most cases, the difference in memory is relatively small (10 percent or less), but for high CPU scenarios, AWS and Azure offer more than double the memory of Google and IBM.
  • AWS has instance families with and without the local SSD for standard (M3 and M4) and high CPU (C3 and C5) instance types. For high memory types, there is only the R3 family, which includes an SSD drive.
  • Azure always includes local SSD with all of its instance types, so as a result you are “paying for it” as part of the instance price whether you need it or not.
  • Google never includes local SSD with the instance type, so you need to pay for it as an add-on cost. The minimum size for an add-on local SSD is 375 GB, which is quite large. You can use Google Persistent Disk as an alternative, but it does not offer the same access times as the local SSD.
  • IBM usually includes a SAN drive, but there is an option for a local drive on the standard type of instance.
cloud instance comparisonRightScale

On-demand cloud instance pricing: AWS vs. Azure vs. Google vs. IBM

For each of the six scenarios below, you can see the hourly on-demand (OD) price for each cloud and then the hourly price per GB of RAM for each. We calculate both so that you can normalize the prices if the amount of memory is important to you.

In the chart below, red indicates the highest price of the cloud providers within a scenario and green represents the lowest price. If there are ties, then both cloud providers are highlighted green or red.

on demand cloud cost comparisonRightScale

In pure on-demand prices for one hour

  • Azure is lowest price for eight scenarios; highest price for one scenario.
    • Azure is lowest price for all of the scenarios that include a local SSD and all comparisons based on per GB RAM.
    • Azure matches or is lower than AWS for all scenarios.
  • Google Cloud is lowest price for four scenarios; highest price for five scenarios.
    • Google Cloud tends to be the lowest price when no SSD is needed.
    • Google Cloud is higher priced on the “per GB RAM” cost for high CPU due to the fact that it includes less than half the memory of AWS and Azure.
  • AWS is lowest price for two scenarios; highest price for two scenarios.
  • AWS is most often a middle-priced option.
  • IBM is lowest price for one scenario; highest price for five scenarios.

Discounted cloud instance pricing: AWS vs. Azure vs. Google vs. IBM

In comparing discounted prices, we looked at annual (instead of hourly) costs to give a better comparison. This is because the commitment-based discount are for a minimum of one year.

Below for each of the six scenarios, you can see the discounted annual price for each cloud and then the discounted annual price per GB of RAM for each. We calculate both so that you can normalize the prices if the amount of memory is important to you.

In the chart below, red indicates the highest price of the cloud providers within a scenario while green represents the lowest price. If there are ties, then both cloud providers are highlighted green or red.

annual discounted cloud cost comparisonRightScale

In annual prices for a one year commitment:

  • Azure is lowest price for nine scenarios; highest price for one scenario.
    • Azure is lowest price for all of the scenarios based on per GB RAM.
    • Azure matches or is lower than AWS for all scenarios.
  • Google Cloud is lowest price for two scenarios; highest price for seven scenarios.
    • Google Cloud tends to be the lowest price when no SSD is needed.
    • Google Cloud is higher priced on the “per GB RAM” cost for high CPU due to the fact that it includes less than half the memory of AWS and Azure.
  • AWS is lowest price for no scenarios; highest price for two scenarios.
  • AWS is most often a middle-priced option.
  • IBM is lowest price for one scenario; highest price for four scenarios.
    • IBM pricing will depend on the negotiated price.

Leave a Reply

Your email address will not be published. Required fields are marked *

How to Diagnose Cloud Performance Issues

NoSQL Standouts: The Best Document Databases