A Brief History: Cloud CPU Costs Over the Past 5 Years

When I started Sonian in 2007, one of the driving forces for beginning what would become my third start-up journey was the allure of all-you-can-consume “ten-cent-per-hour” cloud computing. Amazon Web Services was the new IT game changer in town, and the on-demand compute platform they launched in August 2006 literally brought cloud computing to the masses over night. These past five years I have been studying “cloud costs” in different ways, and this weekend I looked back at the compute pricing history and uncovered some interesting trends.

Before I continue with this post, here’s a brief history of my experience with previous “clouds,” which illustrates why in 2006 I was ready to take a big leap into the AWS cloud as an early adopter.

In 2004 I was involved with another SaaS information archiving project, and I worked with a team at SUN Microsystems to create a reference architecture for our archive software stack to live on the “SUN Utility Compute Grid.” At the time we were hosting the archiving software on dedicated co-located hardware racks, and planning a large capital expenditure to increase capacity. In the guise of “there has to be a better way!” we entertained the idea of moving our software to SUN’s “cloud.” (In 2004 the term cloud computing was pretty alien…. the common term for this type of shared virtual computing was “utility computing”). SUN offered the promise of true utility computing, but at the end of six months of effort, we could not make the underlying cost structures work. SUN was charging one dollar per CPU hour and one dollar per gigabyte per month for storage. We ended up adding more capacity to our existing co-located hardware plant because our “all-in” internal unit costs were less than what SUN was willing to sell their compute grid for.

Now back to the purpose of this post… a historical analysis of the cost of cloud CPU from 2006 through 2011.

Beginning in August 2006, Amazon Web Service’s new Elastic Compute Cloud (EC2) service introduced the concept of the EC2 Compute Unit (ECU) …. a standardized way to define a unit of cloud computing, the associated characteristics of that unit (processor speed and memory), and a revolutionary hourly cost model requiring no up-front expense. Amazon achieved what SUN, IBM and others had been talking about for years, but could never bring to market. In 2006, for ten cents per hour 1 EC2 Compute Unit could be rented with no up-front costs. In 2006, a single ECU was defined as equivalent to a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor with 1.7  Gb of RAM. This 1 ECU reference is still in effect today.

Compare Amazon’s 2006-era EC2 offering at just ten cents per hour against SUN’s 2004-era one dollar per hour. Whoa…. there’s something going on here if a reasonably powerful virtual CPU could be rented for ten cents an hour, a ninety percent price reduction in just two years. (n.b. to be fair to SUN, their 2004 one-dollar price was probably more powerful than AWS’s 2006 CU.)

Since 2006, Amazon has gone from a single compute offering to over a dozen different types. The ECU is still used as a way for a developer to remove the unknowns of performance, since as Amazon states: “Because Amazon EC2 is built on commodity hardware, over time there may be several different types of physical hardware underlying EC2 instances. Our goal is to provide a consistent amount of CPU capacity no matter what the actual underlying hardware.”

In 2006 1 ECU cost 10 cents an hour. In 2011, that same 1 ECU costs .085 cents an hour. That’s nearly a 15% reduction. One and a half cents at an individual ECU consumption rate may not sound like much, but a modern cloud orientated architecture that consumes thousands of ECU’s a month will appreciate the reduction in a meaningful way.

Comparing today’s price to five years ago, in 2006 pricing, 2,000 ECU’s for a full 720 hour month would have cost $144,000. In 2011, the same 2,000 ECU consumption will cost $122,400, a 15% savings of $21,600 on a monthly basis. A quarter-million dollars on an annual basis.

Over the past five years Amazon has introduced various CPU configurations to allow software architects to optimize the best CPU for a specific processing task. Some CPU types have more memory, some have more cores, and some have a combination of both more memory and more cores. But the ECU is the common measurement to rank all cloud compute types.

The “original” cloud CPU type is now called a “m1.small” and is equivalent to the commodity hardware circa 2007: A 1.0-1.2 GHz 2007 Opteron / Xeon processor. A “m1.small” wtih 1 ECU is complimented by m1.large with 4 ECU and m1.xlarge with 8 ECU. Each is priced on a multiple of the .085 cents per hour. Each scales out on the same dimensions of cores and memory. (n.b. For this post I am focusing on the most common CPU types. The “m1” family is the workhorse of cloud compute nodes. Amazon has many other CPU types with similar pricing scenarios.)

I was curious about the pricing history and when exactly new compute types were announced and when price decreases took effect. I scoured the Amazon blog posts and forum notices to build this timeline below.

The most noticeable price decreases occurred in October 2009 and again in September 2010. In October 2009 there were five price decreases and two new CPU types announced. Almost a year later, in September 2010, there was another price decrease as well as a new “micro” CPU offering.

Summary

Amazon has been creating large-scale operational efficiencies which lower their costs and in turn the savings are passed to their customers. In the cloud there are inherited responsibilities between the provider (Amazon) and the customer to maximize efficiency at every layer. In keeping with this mindset, Amazon now offers more granular cloud compute building blocks so that we customers can optimize our software to run on the most efficient virtual compute type. Optimizing allows us to achieve near perfect utilization. Approaching or reaching 100% utilization is the holy grail of cloud computing optimization.

Based on my analysis I would expect to see another price decrease by the end of this year or early next.

UPDATE: After publishing this post I realized the summary could have been more clear in highlighting the two other cost decreases we have seen in the cloud. There are three dimensions to cost reductions at play in the cloud. The first is the crux of this post; Per-unit hourly rates for each ECU type have gone down over the previous 5 years. But in addition to this, there are two other significant factors that have lowered costs even more than the 15% unit cost reduction. These are SPOT pricing and Reserved Instances. For cloud orientated architectures that can take advantage of SPOT and Reserved, costs can be decreased by more than 60%. But cloud ISV’s will only realize these savings if they have the right architecture. All previous traditional enterprise software designs do not have this ability to use SPOT and RI instance types.

UPDATE 2:

December 2, 2011 Amazon announced two new Reserved Instance (RI) pricing tiers. “Just in time for the holidays” Amazon gifts to us cloud companies two additional ways to save money on our cloud CPU costs.

The existing RI pricing model is now called the “Medium Tier” and is complimented with the new tiers “light usage” and “heavy usage” tiers.

Heavy usage will save an additional 9% compared to the newly renamed medium tier.

The savings are incremental, but add up over time when you can implement a “cloud orientated architecture” to “game the cloud.”

A Brief History of Amazon EC2 Compute Types

August 2006

August 25, 2006, Jeff Barr authored a post for the Amazon Web Services blog announcing the limited beta of a new web service called “Elastic Compute Cloud” or EC2. This new on-demand compute offering complemented Amazon’s two existing web services, S3 and SQS.

Pricing is set at ten cents per hour. Beta limited to early adopters only, very controlled access to the EC2 platform.

October 2007

Two new instance types launched: “Large instances are 4 times larger in each dimension (CPU power, RAM, and disk storage) than the Small instances and cost $0.40 per hour. Extra Large instances are 8 times larger in each dimension and cost $0.80 per hour.”

May 2008

Two new “High-CPU” instance types launched. “The new instance types have proportionally more CPU power than memory, and are suitable for CPU-intensive applications. Here’s what’s now available.”

The High-CPU Medium Instance is priced at 20 cents per hour. 5 EC2 Compute Units. The High-CPU Extra Large Instance is billed at 80 cents per hour. 20 CU

October 23 2008

EC2 is officially out of beta and has an up-time SLA.

March 2009

Amazon announces Reserved Instances. Get up to a 45% discount by pre-purchasing EC2 instances.

October 2009

Two more EC2 instance types: “To enable further scaling up for these workloads, we are introducing a new family of memory-heavy EC2 instances with the Double and Quadruple Extra Large High-Memory instance types.”

Double Extra Large, 13 CU ($1.20/hour) and Quadruple Extra Large, 26 CU ($2.40/hour). All other instance types get a 15% price decrease.

December 2009

Spot pricing is announced. Bid on compute time. This is truly revolutionary. With the right software architecture it’s now possible to “surf the price” curve to run low-priority tasks at the optimum price threshold. If you can’t take advantage of spot pricing then you do not have a “cloud orientated architecture.”

September 2010

Micro instance announced. Two cents an hour compute. Imaginations run wild with the possibilities.

March 2011

Dedicated instances announced. “Buy” a dedicated hardware instance in the cloud. Seems like an oxymoron.

August 2011

Happy 5th Birthday to Amazon EC2.

December 2011

Two new Reserved Instance (RI) pricing tiers announced. “Just in time for the holidays” Amazon gifts to us cloud companies two additional ways to save money on our cloud CPU costs.

The existing RI pricing model is now called the “Medium Tier” and is now complimented with “light usage” and “heavy usage” tiers.

Heavy usage will save an additional 9% compared to the newly renamed medium tier.

The savings are incremental, but add up over time when you can implement a “cloud orientated architecture” to “game the cloud.”