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.

Wednesday, July 1, 2009

North Carolina and the Amazon Associates Program

The North Carolina General Assembly has a mandate to balance the budget every year, which I can appreciate because at least it keeps us somewhat focused as a state. I guess I have a very hard time understanding how the General Assembly can try to get that money out of companies that are not even located within our state borders.
I am a member of the Amazon Associates program which will pay a small commission on products sold from simply advertising on your site.  I have not made any significant amount of money from this, but there are several people in our state that do very well supplementing their income and even forming a small business out of concepts such as the Amazon Associates Program.  The North Carolina General Assembly has now added to the budget that Amazon must pay the taxes on products sold through the program to North Carolina.  Amazon's answer.... pull the plug and don't offer it anymore.  I don't blame them.  What services is North Carolina providing for them?  They do not have any buildings here that our Fire Departments, Police Departments or Emergency services help protect.  They don't have any cars or trucks that use our streets and highways.  They do not have a physical presence here that consume any of the state provided services.  Why should they pay taxes?  What the General Assembly is doing is stifling small business and is really doing absolutely no good for the state.  It only serves to drive companies away from our state.  After passing a budget with this nonsense in it, why would Amazon even consider placing a facility here or locating a division here within North Carolina.  The passage of this item buried in the middle of the budget has produced no additional revenue for North Carolina and only serves to drive business away and make its own citizens consider moving to neighboring states.  Here is an excerpt from the email that I received from Amazon explaining the shut down of the program within North Carolina:
We are writing from the Amazon Associates Program to notify you that your Associates account has been closed as of June 26, 2009. This is a direct result of the unconstitutional tax collection scheme expected to be passed any day now by the North Carolina state legislature (the General Assembly) and signed by the governor. As a result, we will no longer pay any referral fees for customers referred to or after June 26. We were forced to take this unfortunate action in anticipation of actual enactment because of uncertainties surrounding the legislation’s effective date.
If we are going to look for ways to balance the budget, let's make sure that we actually have the ability to collect money or cut the money from many of the wasteful programs already in place.  Please don't drive business and people away.