Windows Azure and Amazon AWS Comparison
During my past few session talking about Windows Azure, the topic of Azure vs. Amazon will always pop up during the Q&A session and I hope to give my personal opinion on the difference I can see from both offerings.
This is not an official comparison and I am comparing both services after using both of them for the past 6+ months.
Let compare Azure .NET Hosted Services and Amazon EC2:
If you are a startup that wants to make use of the raw capability of a virtualized server, e.g. installing different variety of Operating Systems (e.g. Windows, Linux, etc) and you want to have the full flexibility of configuring the OS and running custom codes (e.g. invoking certain system calls), then EC2 is your best option.
However, the trade-off that you will experience for using EC2 is that you will be responsible for the maintenance of the system. This is similar of hosting your own virtualized server farm which in theory is exactly what EC2 offers you – hosted virtualized server. Thou you still get the benefits of the typical cloud computing service offerings like just-in-time scalability and pay-per-use model, you are trading system administration efforts with raw capability of hosting your own server.
Windows Azure on the other hand is different. There is no need for you to patch your system or do any system maintenance. You simply have to upload your .NET code using the online interface and it’ll be deployed onto the Azure .NET hosting services automatically. It’s really easy and you can read more about it at http://cloudfex.com/cs/blogs/cloud/archive/2009/03/27/windows-azure-hosted-service-and-storage-account.aspx if you’re interested to learn more.
However, just like EC2, there’s a tradeoff for this ease of deployment and maintenance. The tradeoff is the ability to run funky stuff on your server as you are currently restricted to running .NET codes (thou it may change in the very near future as the team expands to support other languages). This is more than sufficient for most businesses especially if you are running on the .NET stack all along. Furthermore, your existing code base requires minimal modification and can be deployed onto the Azure Cloud with ease.
It’s pretty interesting to observe that both companies are doing their best to push out their cloud offering and yet both started their journey at the both extreme (Amazon: High Maintenance + Very flexible vs Azure: Low Maintenance + Limited Flexibility). Recently, I’ve been observing how both offerings are progressing and it seems that they both moving towards each other and certain sections of the service started to converge.
Azure is currently on CTP and Amazon is a released product. Both offers a unique service that caters for the needs of most businesses. It’ll be really exciting to how they evolve over time and if new players were to come into this market.
I’ll blog more about Table Storage in my next few post.