Sunday, July 19, 2009

A Comparison of Azure and Google App Engine Pricing

Update 10/24/2009: See my MSDN Premium Subscribers and BizSpark Members to Receive Windows Azure and SQL Azure Benefits post of 10/20/2009 for updated information on developer quotas for Windows Azure and SQL Azure.

Update 7/16/2009: Added GAE Data Store CPU Time, Azure and GAE instance resources
           7/19/2009: Clarified need for free service threshold or developer accounts

The computer trade press on 7/14/2009 was full of comparisons of Amazon Web Services (AWS) and Windows Azure pricing with headlines such as Is Microsoft Starting a Cloud Price War? by Reuven Cohen. What’s missing from the price-war posts I’ve seen to date is a comparison between Google App Engine (GAE) and Azure pricing.

Most cloud computing observers (including me) classify GAE and Azure as Platforms as a Service (PaaS) and AWS as an Infrastructure as a Services (IaaS) offering. Both GAE and Azure offer a multi-lingual development environment: Google supports Python and Java, while Azure accommodates .NET’s Visual Basic and C#, IronPython and IronRuby plus Java on the desktop and in the cloud. Therefore, it seems much more logical to me to compare GAE and Azure costs.

Following are GAE and Azure pricing presented in the tabular format from Google’s Billing and Budgeting Resources page with data from the Windows Azure Pricing & Licensing Overview added:

Resource Unit GAE Unit Cost GAE Daily Quota Azure Unit Cost
Outgoing Bandwidth gigabyte $0.12 1 $0.15
Incoming Bandwidth gigabyte $0.10 1 $0.10
Application CPU Time* CPU hours $0.10 6.5 $0.12
Stored Data gigabytes/month $0.15 1 $0.15
Data Store CPU Time* CPU hours $0.10 60 N/A
Recipients Emailed recipient $0.0001 2,000 N/A
Storage Transactions 100,000 N/A N/A $0.10
.NET Service Messages 100,000 N/A N/A $0.15

*Clarified 7/16/2009

Disregarding GAE’s free daily Bandwidth and CPU Time quotas, Azure appears a bit more expensive than GAE. However, GAE defines CPU Time as follows:

The total processing time for handling requests, including time spent running the app and performing datastore operations. This does not include time spent waiting for other services, such as waiting for a URL fetch to return or the image service to transform an image.

CPU time is reported in "seconds," which is equivalent to the number of CPU cycles that can be performed by a 1.2 GHz Intel x86 processor in that amount of time. The actual number of CPU cycles spent varies greatly depending on conditions internal to App Engine, so this number is adjusted for reporting purposes using this processor as a reference measurement.

Azure’s CPU Time is the clock time per instance deployed, $2.88/day; GAE’s CPU Time is based on application activity. GAE claims its free daily quota, which is worth up to $7.02 per day, will “serve a reasonably efficient application around 5 million page views per month, completely free.”

Conclusion: If there is a “cloud price war,” Azure has lost it to Google.

Update 7/16/2009: Comparison of instance resources:

Each Windows Azure instance is the equivalent of a 1.5-1.7GHZ AMD processor and runs Windows 2008 Server x64 with 2 GB RAM, which leaves about 1.7 GB to run the application.  Each instance has the equivalent of a 250-GB fixed disk for transient storage and a 100-Mbps network connection.

For free GAE accounts, the maximum CPU usage rate is equivalent to 15 CPUs (15 CPU minutes/minute); billable accounts offer up to 72 CPUs (72 CPU minutes/minute). Free incoming and outgoing bandwidths are limited to 56 MB/minute; billable accounts receive up to 740 MB/minute.

Of note: Joab Jackson’s Revving up Google App Engine post of 3/3/2009 to the Government Computing News blog quotes Wayne Beekman, co-founder and co-owner of consulting company Information Concepts, who delivered a seminar at Google’s Reston, VA offices:

Thus far, about 45,000 apps have been built on GAE, and about 10 million developers have registered for the service. …

Uptime was another concern audience members voiced. Google offers no specific guarantees of how reliable you could expect the service to be, called a service-level agreement (SLA) by the industry. When your users come calling, you want to make sure the app is ready. The discussion of downtime is pertinent given that one Google service has had a few unscheduled downtimes of late.

I haven’t found any evidence that Google has offered an SLA for GAE subsequently.

Update 7/15/2009: Aashish Dhamdhere (@dhamdhere) of the Azure team said in a 7/15/2009 Tweet responding to my Twittered suggestion about free Azure quotas or special no-charge development accounts: “We are actively considering this. More soon.”

The Azure Team’s Steve Marx (@smarx) added the following in another couple of Tweets:

Note that GAE's cost function is different. Small app w/ no traffic = no cost to them. Not so in Windows Azure.”

“That said, we're still looking at lots of ways to evolve our pricing model, and I do hear the feedback. Stay tuned.”

Update 7/19/2009: I believe it’s imperative that Microsoft offer either a free service threshold or free developer accounts for Windows Azure and SQL Azure Database after their RTW at PDC 2009. AWS and GAE are proven cloud-computing hosts; Azure and SADB are relatively unknown entities, especially SADB. Failure to provide potential users and developers free access for initial testing will severely affect the ultimate commercial uptake of Azure services. The reported 45% development discount won’t suffice.

blog comments powered by Disqus