Wednesday, July 15, 2009

Azure verses Amazon AWS Pricing

Microsoft released the pricing today for their cloud computing platform called Azure.  The costs really look competitive when compared across the other platforms that are currently offered in the market.  The breakdown is as follows:

  • Windows Azure
    • Compute = $0.12 / hour
    • Storage = $0.15 / GB stored / month
    • Storage Transactions = $0.01 / 10,000
    • Bandwidth = $0.10 IN / $0.15 OUT / GB
  • SQL Azure
    • Web Edition - Up to 1 GB relational database = $9.99
    • Business Edition - Up to 10 GB relational database = $99.99
    • Bandwidth = $0.10 IN / $0.15 OUT / GB
  • .Net Services
    • Messages = $0.15 / 100,000 message operations
    • Bandwidth = $0.10 IN / $0.15 OUT / GB
As you can see, they look fairly competitive to Amazons pricing in the different areas which can be found on the pages for EC2, S3 and SQS.  It is very hard, if not impossible, to do a complete side-by-side comparison that covers all of what is offered and all of the different configurations and software stacks, but let's look at some of the basics to get an idea.

Let's first look at the storage services offered by the platforms since they are almost identical in function and feature.  Azure's platform for storage is a flat $0.15 / GB / month and
$0.01 / 10,000 transactions.  Data transfer across all of Azure's services is $0.10 IN and $0.15 OUT / GB. This makes the calculation for storage very simple on their part.  S3 has a tiered pricing scheme which makes it a little more difficult to calculate, but does offer some cost saves when storing vast amounts of data.  On light storage (1-50 TB) Amazon will charge $0.15 / GB for storage, $0.10 IN and $0.17 OUT / GB in bandwidth.  Amazon divides the types of transactions in their pricing: $0.01 per 1,000 PUT, COPY, POST and LIST request and $0.01 per 10,000 GET (and other) request.  This ultimately gives Azure the win on the low end for storage.  As soon as you go over the 50 TB / month threshold for storage or transfer more than 10 TB of data OUT of storage however, Amazon wins in price on the growth.  The more your store, the less it will cost you on Amazon, even going down to $0.12 / GB.  The data transfer rates going out can get as low as $0.10 / GB OUT.  Amazon also does not charge you for data transfer from S3 to EC2 (inside the cloud).  It is not clear if the same holds true for Azure. So, if you have a lot of data, then Amazon will give you the better prices, but if you are light on data and traffic, then Azure has the best price.  All that being said, it is important to note that Azure is severely limited during the preview period to 50 GB of storage.  They could add tiered pricing in the future to compete with Amazon's pricing at larger volume.

Probably one of the most anticipated, but hardest thing to compare, was the pricing on the compute hours for Azure.  This is extremely difficult for many reasons: Amazon offers a dozen different types of operating systems while Azure is the only environment.  Amazon virtualizes the memory and cpu so you have the option of adding horsepower at added costs and Azure has not published any information about the underlying metrics of a computational unit. Azure takes care of all of the scaling and load balancing within the fabric and these are add on services that you must pay for with Amazon.  Lastly there is an upper limit of 2000 VM hours right now on Azure during the preview period.  With all that being considered, if you compare the lowest price Windows installation on Amazon at $0.125 / hour to the $0.12 / hour on Azure, then Azure wins on price ever so slightly.  It is very hard to say how the "speed" compares on the two systems by virtual core and if this is even a fair price comparison, but it is the closest we can get for a comparison.  When included the tiered pricing from Amazon for data transfer, which lowers the cost per GB as you go up, and include Amazon's costs for Auto Scaling, and Elastic Load Balancing then the waters start to get very muddy.

The easiest to compare is the messaging systems on both cloud offerings.  Azure is offering 100,000 message operations for $0.15, plus the regular $0.10 IN and $0.15 OUT / GB.  Amazon offers 100,000 message operations for $0.10, plus the Amazon tiered pricing for data.  It is very likely that the majority of the messaging operations on these platforms will stay internal to their platform which takes the cost on Amazon for data virtually down to $0.00.  In this case Amazon beats the Azure pricing by 1/3.

I was happy to see Microsoft release the pricing for Azure today as I have been anxious to see what the cost comparison would be.  With pricing relatively close between the two, I would venture to say that Azures success will depend on its ease of use and streamlined single platform while Amazon will continue to thrive on its openness and plethora of options.


Conrad said...

Interesting that you call Amazon open because we found that their cost/pricing was difficult to process and predict. We went so far as to prototype an app with the entire goal of making it easier so you have more control over your usage. Take a look, Troy -- I'd like to hear what you think after playing with Azure also:

Unknown said...

Conrad, your site requires the Amazon username and password. I do not give that information out on any site except Amazon's and I would suggest that no one else do that either. Otherwise, I would be happy to evaluate your site.