While price isn’t and shouldn’t be the most important factor when evaluating cloud service providers, the fact of the matter is, it does matter quite a bit. Being able to get a sense of what your monthly or yearly bill will be is important for budgeting. Unfortunately, cloud pricing isn’t a very opaque subject. To make matters worse, the major public cloud providers, AWS, Google Cloud Platform, and Microsoft Azure, are regularly trying to out do the others with changes to their pricing and discount structures. In this slideshow, I’ve gathered five important factors that experts say you need to consider when thinking about public cloud pricing.
Learn more about cloud pricing when you attend Interop ITX, April 30 - May 4 in Las Vegas, and attend the session Cloud Price War: Metrics for Comparing Public and Private Cloud.
Price by Time Matters, but Only to a Point
If you’re paying attention (are you?) then you’ve noticed that public cloud providers Microsoft, Google, and Amazon are in a bit of price war when it comes to who can charge by the smallest increment of time.
Up until September of 2017, Amazon was charging by the hour and Google and Azure were charging by the minute. Amazon announced it would be offering a by-the-second price in order to create price reductions on many AWS-run workloads that were already running for less than an hour, allowing its users to take advantage of greater elasticity, and most importantly according to Amazon, "inspire you to innovate and to think about your compute-bound problems in new ways." Google, however, beat Amazon to the punch and released a by-the-second option first, saying the new pricing wouldn't likely result in great savings, but offered greater elasticity to its users. Amazon soon followed with its own by-the-second price launch for provisioned storage for Elastic Block Store (EBS) and Linux-based Elastic Compute Cloud (EC2) instances. Both Google and Amazon charge a minimum of one minute and then per-second after the first minute.
There was a lot of hubbub over the Amazon announcement and questions about whether by-the-second pricing was innovative or ineffective. And the answer is, it won’t really provide great savings to developers right now. Owen Rogers, Research Director, Digital Economics Unit, for 451 Research goes heavily into detail about why offering a by-the-second price has a negligible effect on savings, but how it could mean something in the future, here, but the gist of it is that most virtual instances aren’t running for less than a minute.
“Essentially, per minute pricing is likely to have great benefits over per hour, but per second pricing is pretty pointless,” says Rogers.
Discounts are a Good Way to Save
Each of the major public cloud service providers (Amazon, Google, and Microsoft) offer discounts to their customers, but the way they offer them varies, and in some cases has changed over time.
Amazon used to automatically apply discounts to all of their cloud customers, but they don’t do this to the same extent as they used to, says Sebastian Stadil, CEO of Scalr, a cloud management platform company. Amazon now passes the discounts on to individual customers.
“The only way you can get [Amazon] discounts, is if you have leverage, if you can negotiate,” such as a large company can, says Stadil.
If you’re a smaller company, you can take advantage of discounts by purchasing reserved instances. Those can be a great way to save (or lose) money, but it does require a purchase.
Google Cloud has automatically applied discounts through “sustained use” if you run a virtual machine (VM) instance for more than 25% of the month, as well as “inferred instances.” Here’s a definition of an inferred instance from the Google Cloud Platform blog: “An inferred instance combines multiple, non-overlapping instances in the same zone into a single instance for billing. With inferred usage, you are more likely to qualify for sustained use discounts.”
Microsoft Azure offers discounts with a purchase of one to three years of reserved instances. You can also save if you use their dev/test software or if you run a hybrid cloud using Windows Servers licenses with their software.
The More Abstract Your Computing, the Harder it is to Understand Price
Prior to the introduction of microservices, the most abstract computing could get was by using virtual machines, but developers are increasingly using containers, serverless computing or functions-as-a-service (FaaS), which create higher levels of abstraction, says Stadil of Scalr.
“High-level abstraction generally allows you to be more productive. But it becomes harder and harder to understand your cost, and where your money is going,” says Stadil.
FaaS can be cheaper if you only need to scale a select set of functions, but if you’re scaling multiple functions independently, it likely will be more expensive than scaling an entire app. It’s not so much that abstract computing is more or less expensive, it’s that the independent nature of it makes it harder to understand how the data is being processed.
Are Smaller Cloud Providers Worth Considering?
There are differing opinions here.
Stadil from Scalr says: “Sadly, no [it’s not worth it to work with smaller providers]. If you’d asked five years ago I’d say yeah, maybe. [Today,] it is both cheaper and more convenient and more featureful to go with a big provider.”
Stadil did say that it’s possible that you’ll get better support with a smaller provider and Rogers from 451 Research agrees.
“Smaller providers are more likely to be able to give custom models and terms, perhaps better relating cloud expenditure to business value. For instance, charging based on airline seats sold or retail transactions executed,” says Rogers.
If your public cloud solution needs a lot of customization, it seems to be worth a call to one of the smaller companies to see what they can offer you.
Predicting Cloud Costs isn't Impossible, but is Unlikely
Predicting your cloud cost is difficult because it's based on three things, says Leon Stigter, developer advocate and product manager at TIBCO Software: data traffic, compute time, and storage.
“Most of the customers I talk to tend to only think about the compute time, number of CPU cycles, the memory that your application is using, not so much about data traffic and not so much about storage...They can make a big difference in what you’re paying at the end of the month,” says Stigter.
In terms of tools you can use to help understand your costs, Stigter says there are a bunch of software offerings that help you calculate exactly what you’ll pay at the end of the month, but, this assumes you’re not running 24/7 and not elastically scaling.
And, there’s the but. Elastic scaling and the use of microservices and functions-as-a-service can be very helpful and potentially cost-effective, but understanding what your costs will be on a month-to-month basis becomes difficult when you’re not the one authorizing resources used.
“For companies, it's incredibly difficult to find a good approach to what kind of traffic they’re going to see on a day-to-day basis, and based on that make an assumption on what they’re going to be paying,” says Stigter.
If you're really interested in having a predictable set of cloud prices, one piece of advice from Stigter is to start off looking at the marketplace offerings that the different cloud providers have.
“As you get farther along, that's where I think it starts to make sense to start to consider how you want to use your workloads. Some of it might actually be better off on a machine that runs 24/7 simply because it just has to, some of it might make more sense in functions and in that case you want to break it down and then you start paying by second,” says Stigter.
So while you might not be able to predict your costs down to the penny, there are ways to manage costs, such as evaluating where to run your workloads. And as Stigter from TIBCO described, it's possible to analyze a month's bill and make tweaks to your usage to see where you can save next month or when you renew your contract.
Emily Johnson is the digital content editor for InformationWeek. Prior to this role, Emily worked within UBM America's technology group as an associate editor on their content marketing team. Emily started her career at UBM in 2011 and spent four and a half years in content ... View Full Bio