Cloud Economics: Visualizing AWS Prices over Time

This post is the first in a series on cloud economics.

The key value proposition of cloud computing is that the economies of scale earned inside massive data centers, coupled with the flexibility and elasticity of virtualization, make it possible to outsource your computing at a lower cost than running your infrastructure locally.

Needless to say, "your mileage may vary," but for many circumstances (for example, highly variable usage, non-subsidized acquisition and operating costs), the evidence supporting this value proposition is already widely available.

Here we focus on an aspect that has received less attention: the steady decrease in prices offered by Amazon for their services. Over time, the price to rent 1 unit of resources for three years of continuous usage has fallen dramatically as Amazon offered new instance types, offered new long-term pricing plans, and lowered prices outright across the board. This makes cloud computing even more attractive financially. (Presumably other vendors of cloud computing will show a similar trend over time.)

To visualize these effects, we can plot the price of renting various AWS resources over time, as affected by the announcements made by Amazon. To normalize the effect of different kind of price adjustments, we consider one resource at a time, independent of the others. For example, this plot shows the lowest possible price to rent a single EC2 Compute Unit, ignoring the exact number of cores, the amount of memory, the amount of local storage, etc. In this plot, each price drop (vertical segment) is flagged with a letter that indicates an announcement on Amazon's website that affected the price of that resource.

Lowest Total Price (USD) for Continuous 3 Year Rental of 1 EC2 Compute Unit
(Amount of memory, number of cores, etc., is allowed to vary to achieve the lowest possible price)

We can also group multiple types of resources into a single plot to see that many announcements affected the price of multiple resources. For example, the figure below plots the drop in price for a three-year deployment of resources on EC2 over the last few years. Resources are normalized to 1 EC2 compute unit (blue line) - approximately equivalent to a 1.0 GHz CPU - and to 1 GB of RAM (red line). In all plots, the events that influenced the price are linked at the right and labeled in the graph.

We see that the price of one EC2 compute unit has dropped over 80% since 2007, which does not quite track Moore's law (100% every 18 months), but it comes close. Of course, Moore's law only considers transistors per chip and therefore instructions per second, which rarely dominates costs in realistic applications.

The price of 1 GB of RAM has dropped about 75% over the same period.

For these purposes, the price of 1 EC2 unit is defined as the lowest possible price regardless of instance type. For example, a High CPU instance offers 20X the compute power, but only costs 8X the amount. Similarly, a High Memory instance type offers 10X the main memory, but only costs about 6X the price. So the cost per unit (either compute or memory) dropped when these new instance types were announced.

For the long-term deployment, this price includes the up-front reservation charge plus continuous hourly usage fees for 3 years (once reserved pricing was available).

These prices are in fact overstated, since existing customers benefit from an immediate price reduction in hourly charges, just like new customers. So the total cost for a 3-year deployment beginning in 2007 dropped when prices were reduced in 2008.

Lowest Possible Price (USD) for a 3-year Rental of AWS Resources
Price per EC2 Compute Unit (amount of RAM, scratch storage, etc. varies)
Price per GB of RAM (number of EC2 compute units, total amount of RAM on the instance, amount of scratch storage, etc. varies)

We can perform a similar analysis for a short-term deployment, say, 10 days. The cost in this case does not benefit from reserved pricing. Specifically, the cost is determined from hourly usage fees for 240 hours of use at on-demand prices.

The results are similar: a 65% drop in the cost of 1 EC2 compute unit, and a 50% drop in the cost of 1 GB of RAM.

Lowest Possible Price (USD) for a 10-day Rental of AWS Resources
Price per EC2 Compute Unit (amount of RAM, scratch storage, etc. varies)
Price per GB of RAM (number of EC2 compute units, total amount of RAM on the instance, amount of scratch storage, etc. varies)

Finally, we can look at storage costs. Over time, the price to rent 1PB and 1TB of storage has fallen as Amazon offers new pricing tiers, additional redundancy offerings, and across the board price drops. In this third plot, we see the cost to store 1 petabyte (orange line) for one month has dropped by 45% since 2008, and the cost to store 1 terabyte (green line) for one month has dropped by 38%. We are assuming that Amazon's reduced redundancy storage, which still provides 99.99% availability, is acceptable in this scenario, motivated by the fact that researchers rarely want, need, or can afford the seven nines of availability demanded by industry.

Price to Rent 1 PB and 1 TB of storage for one month

Overall, these prices are not dropping as precipitously as the cost of the raw hardware, but the hardware cost is only a fraction of the total cost of deploying computing infrastructure.

Other Resources:

How are the economics of computing affecting your research? Leave a comment and let us know!
b-economics_of_the_cloud_bva_OR.en-us.pdf852.46 KB


About Cloud

You have mentioned a detailed usage of S3 and EC2 but I would say it's better if you mention something about Azure becuase I have seen its rate are low but performance is far better and that is also a relational model on cloud like EC2 and S3.

Please take a look about sql azure

Thanks for sharing this.

keep the graphs coming

Keep the data coming, this is where it's all going.  Besides Amazons' offerings, what's Microsoft up to with Azure.  Also, you should take a look at heroku, which I think is actually built on the EC2 platform.

I'm having a lot of trouble

I'm having a lot of trouble reading these plots.  It seems like there are two different scales for the two curves being plotted together, both without labels or units.  The text around the plots is only helping marginally.

great feedback

Thanks for the feedback!  Some details:

-- All units are USD. (I agree this should be more clear; I'll see about adding a dollar sign.)

-- The labels for the axes are at the top right of each plot and are color-coded, just like the Google finance and Google trends charts (which use the same library).

-- There are indeed two different scales for each plot.  Each category -- long-term rental, short-term rental, and storage -- was given its own plot, since the prices all tend to be influenced by the same announcements.  The difference in scale was necessary to prevent one from dominating the other.  If it makes it more clear, these data can be divided into six separate plots, each with its own scale.