Over the coming weeks and months I will be covering public cloud computing and discussing the offerings from the major vendors in the market. Initially this will focus on Infrastructure as a Service or IaaS from Google (Google Cloud Platform), Amazon (Amazon Web Services) and Microsoft (Azure), although where possible I will include other providers, especially those in the UK and Europe.
In this first post, I will discuss Google Compute Engine (their virtual server offering) and their latest billing option called Sustained Use Discounts.
Setting the scene a little, it’s worth looking at the charging mechanism used by nearly all the public cloud providers. Almost all the service providers in the market today use the concept of “per hour” billing, that is, charging for each hour (or part thereof) that a virtual machine is active (running), although Google have introduced per minute charging with a 10 minute minimum. The baseline price is typically described as “on-demand” or “pay-as-you-go”and represents the cost you will pay if you simply subscribe, configure and go. This price allows you to shut down and delete your virtual machine or instance at any stage with no further charges incurred.
Discounts are available if you are prepared to commit to longer terms. For example, Azure discounts a medium general purpose instance from £0.115 per month to between £0.078 and £0.092 depending on length of commit (which can be 6/12 months) and whether payment is monthly or all up front. This represents a discount of 20-32% on standard pricing, however the monthly payment requires a minimum committed monthly spend of £300.
Amazon have a slightly different model for discounts on instances with two features called Reserved Instances and Spot Instances. A Reserved Instance is similar to that of Azure with an extended contract period of either one or three years. The customer pays an up-front fee and receives a discount on the hourly charge for the instance. For example, an m3.medium instance sees a price reduction from $0.070/hour to $0.039/hour for a one off payment of $259 over a 12 month period. In order to benefit from the up-front payment, the instance needs to run for more than 8354 hours, which represents only around a 5% saving. A three year commitment gets a much better discount with the savings cutting in after about 435 days of use.
The only issue with using these advanced discounts is the difficulty in understanding how they will be affected with price changes. So far, pricing has gone in only one direction and that’s downwards, with a recent “price war” seeing all three big providers cutting their costs by around 30%. In both Amazon and Azure scenarios, the up-front payment ensures that any price reductions are watered down as the companies already have your money.
Sustained Use Discounts
Google have chosen a different approach to loyalty discounting. Sustained Use Discounts are applied to instances that runs over a certain percentage of each month, with the discount applied on a monthly basis. For example, an n1-standard-1 instance is charged at $0.07/hour at full cost for the first 25% of the month. The next 25% of the month’s usage receives a discount of 20%, with the subsequent quarters (50-75% and 75-100%) receiving discounts of 40% and 60% respectively. Using this sliding scale method, an instance running 100% of the time would receive an average discount of 30% compared to the baseline price.
Google has thrown another curve ball into the cost calculation with the idea of Inferred Instances. Where instances are started and stopped over the course of a month, non-overlapping instances can count towards an aggregate instance “count” as shown in the figure here (Copyright/Courtesy of Google). The result is an increase in savings but more crucially, more flexibility through less dependence on a specific instance and less need to keep the instance alive over the long term.
The Architect’s View
Like buying a mobile phone contract, the public cloud market has already become a mix of many different formats and price models. You can choose to pay as you go, or you can get in bed with your provider and take a contract for a better deal. However, like the contract market, prices change continually, usually with a downward trend. Anyone who has stayed with a mobile provider for any length of time will know that service quality can be an issue. However changing phone provider is significantly easier than changing cloud provider.
Google are being more proactive with cost savings, making them monthly rather than annual and giving more flexibility to save having to treat a discounted VM as a “pet” rather than “cattle”. At some point the difference between offerings will be small enough to make changing provider a worthless exercise, then we will be in energy supplier territory.
- AWS – EC2 Pricing (Amazon Web Services website)
- Windows Azure Virtual Machine Pricing Details (Windows Azure website)
- Google Compute Engine Pricing (Google website)
Comments are always welcome; please read our Comments Policy. If you have any related links of interest, please feel free to add them as a comment for consideration.
Copyright (c) 2007-2018 – Post #484B – Chris M Evans, first published on https://blog.architecting.it, do not reproduce without permission.