In June of last year, ISG published the first report benchmarking the average price of four leading public IaaS providers against the corresponding average internal IT costs for large Windows data centers. One of the key findings was:
“At a usage level of approximately 55 percent, public cloud prices are at parity with the prices in our internal IT benchmark.” – ISG
Though the report was freely available for a few months, access now requires a research subscription. That finding meant public IaaS, using “on-demand” or “pay-as-you-go” compute instances, was more expensive than large scale internal IT unless those instances were running during less than 55% of the hours in a month. The finding made perfect sense, since the promise of cloud is to save money by making you pay only for what you use. It follows that if you use it 100% of the time, you shouldn’t expect to save money with an on-demand pricing model.
Now that well over a year has passed since that report, I thought I’d re-price the same configuration that ISG used just to see how things have changed. I also included AWS reserved instances and SoftLayer monthly billing in my analysis just to see if any new conclusions could be drawn. What I found was pretty interesting.
The first thing I noticed was that, for the priced configuration, three of the four providers (Amazon, Google and Microsoft) had left their prices virtually unchanged. IBM’s pricing was lower. Google had actually lowered prices just before the ISG report came out, but it’s been months longer for Amazon and Microsoft. I wasn’t expecting to see that kind of pricing stability, for two reasons:
- During the early days of public IaaS, price drops were coming fast and furious. Many people expected them to continue for the foreseeable future just due to market pressure, though there was certainly no guarantee that this would happen.
- Public IaaS providers own the server hardware, and you pay for access to it. That means that natural market reductions in the cost of CPU power (e.g., the famous Moore’s Law) go 100% to the cloud provider’s bottom line unless they make a conscious decision to pass those savings on to customers via a price drop. We’ve already seen that public providers have begun making some serious money, and their profits are growing. Is it possible that the leading market players are currently happy with their positions and will simply let the cloud market’s rising tide raise all ships? I’d be surprised, especially given Amazon’s usual preference for crushing competitors over generating profits, but If customers aren’t complaining, I guess it’s possible.
Conclusion: Customers must pressure providers to drop prices to pass on hardware savings, or they will not realize the full financial benefits of public IaaS.
The second thing I noticed was the price for the AWS configuration with 3-year reserved instances. When you reserve your instances you don’t get any of the “pay only for what you use” benefits of cloud, which is why the curve representing reserved instances and SoftLayer’s monthly pricing (essentially a 1-month reserved instance) are horizontal lines. But look where the AWS 3-year Reserved line crosses the On Demand line. Right about 58% of hours used per month. Sound familiar? That’s very, very close to the ISG benchmark for internal IT costs from last year. The financial disadvantage of internal IT vs. cloud is that you pay up front and then depreciate over 3 years whether you continue using the instance or not, very similar to the way you pay Amazon for a reserved instance, so I don’t think this is entirely a coincidence. AWS reserved instances appear to be intentionally priced to compete with traditional in-house infrastructure.
Conclusion: AWS 3-year reserved instances may be price-competitive with large, internal Windows shops, simply by giving up certain advantages of cloud that internal IT also cannot provide (e.g., pay only for what you use). That indicates that smaller Windows shops may be able to save money by using reserved instances over in-house infrastructure, even if their applications can’t release instances during intervals of lower demand for compute power.
How can Amazon do this and still make money? I’m not sure what fraction of their compute business is Reserved instances vs. On Demand, but I know they use very inexpensive, white-box machines, relying on redundancy to ensure quality of service. They also don’t have to dedicate any of that hardware to you unless you specify it (and pay more for it), so CPU cycles you may not be using during each hour on the clock that you’re paying for, could, at least in theory, be used to serve other customers. And of course the data centers are enormous, highly automated and often located to exploit cheap hydroelectric power, so economies of scale should be superior.
Now, let’s talk about some of the limitations of this chart, because there are some BIG ones. In fact, I would strongly caution you not to use it to draw any conclusion regarding which provider offers the lowest cost service. For one thing, pricing a single configuration doesn’t tell you much. If I make a very simple change and just multiply the amount of storage by 5, look what happens:
SoftLayer’s curves shift upwards, while Azure shifts down. In fact, Azure is now the cheapest service when instances are in use during about 34% of the hours in the month or less. Why the change? Simple. SoftLayer’s storage costs more than Amazon’s and Azure’s costs less, for this configuration.
That’s just the tip of the iceberg folks. This post has already gone long, so I’m going to leave you with the details of the sample configurations used in the charts. In Part 2 we’ll go over the differences in the services and why they must be taken into account before you can do a valid comparison. That includes things like discount opportunities and the availability of per-minute pricing for GCE and Azure that can have a dramatic effect on what you actually pay. Read Part 2!