Today I got invitation from Microsoft to use their SQL Azure Database CTP. It is one of the services provided by Microsoft as part of their Azure Cloud Computing Platform. Tempted by this invitation I have made simple comparison between Microsoft Azure and Google App Engine. Which Cloud Computing Platform is mature enough to use it?
SQL Azure was released on 18th August. Till now the documentation provided by Microsoft regarding SQL Azure is pretty small. http://msdn.microsoft.com/en-us/library/ee336279.aspx . People are reporting problems with connection, access granting etc.
Google App Engine together with their data store solution was released in April. From that time Google managed to collect and improve several issues in their cloud solution. http://code.google.com/appengine/docs/java/datastore/
Winner: Google App Engine
Reason: Google App Engine already collected several remarks from their community and preformed first big improvement to their platform – Java support.
In SQL Azure you are using Transact SQL although with some limitations http://msdn.microsoft.com/en-us/library/ee336250.aspx . Secondly, you can use already existing tools like SQL Management Studio which enables you to access your SQL Azure server and work with it.
Google offers GQL syntax which is similar to SQL but limit you to perform queries only on one table. http://code.google.com/appengine/docs/
Winner: SQL Azure
Reason: Although SQL Azure offers limited features of Transact SQL it keeps the same syntax and offers JOIN queries.
Quotas and Quality
SQL Azure currently does not limit the amount of data to be retrieved in one transaction. Although Microsoft recommends: that you break up large transactions into smaller ones and incorporate retry logic into your code to accommodate for these situations.
The whole Microsoft Azure Platform quotas are not officially defined. Therefore, you can use till it drops.
“Windows Azure, SQL Azure, and .NET Services have complete SDKs that you can run locally to develop and perform initial testing of your application. These SDKs are free of charge. From now until commercial launch, the Windows Azure platform is free, making this the perfect time to develop and deploy an application to better understand its usage characteristics. Once you are ready to deploy to the cloud, you can enroll in our Special Consumption Offer which includes a limited amount of free usage which you can use to try out your application.”
Google App Engine directly states that App Engine limits the maximum rows returned from an entity get to 1000 rows per Datastore call. Quotas were reduced twice from the beginning of the service. Current ones are presented here.
Tie! Google App Engine & SQL Azure
Reason: Although SQL Azure offers unlimited usage of their services (these way community is testing SQL Azure) it means that you are not able to feel safe with it . Tie!
Although I am Microsoft Developer I have to conclude that currently Google App Engine is offering more stable service based on my short analysis. From the other side Microsoft Azure platform binds “old tools” (like Microsoft Management Studio, Visual Studio) with the new technology improving the usability of the whole service. If you want to start your adventure with CLOUD because you want to deliver it to your first clients soon, then I would advice to use Google App Engine. If you want to explore and check cloud computing capabilities without getting dirty too much (in low level documentations etc.) , I think that you should choose Microsoft Azure.
I am curious about your experiences, feel free to share them below, or meet and discuss through Twitter via @GOYELLO.