Windows Azure has been available for some time now and there are already a lot of good resources on the Internet. Having been working with Windows Azure since PDC 2009 I like to think I’ve discovered aspects of Azure not covered in most getting started guides. I hope to cover most of the topics surrounding Windows Azure and SQL Azure in future posts but for now what exactly makes up the Azure Cloud?
In a sentence Windows Azure is Microsoft’s Cloud computing platform. The idea of Cloud computing has been around for a while with the likes of Amazons Web Services featuring their EC2 platform and more recently the Rackspace Cloud, but Windows Azure is much simpler that either of these while at the same time being hugely powerful.
The key idea of Windows Azure is to get websites and web services up and operational fast. As a programmer it allows you to concentrate on the code, removing the need to worry about daily server health checks and other sys admin jobs. It is a great confidence to know that if you coded it right Microsoft will deliver it right.
As an on-demand service Windows Azure is perfect for fast growth small companies. We started running on the lowest level of service with our beta program, paying for only the service we needed. Since then we have expanded the services, added redundancy and extra features like a worldwide CDN and a queue processing service for our email application, but we are still only paying for the capacity we need yet are able to reach a worldwide customer base.
Two things impress me about the Windows Azure service as a on-demand platform. One, we don’t need to hire additional staff to deal with server incidents as Microsoft maintain the hardware for us. Second is that if we need additional processing power for the upcomig comic-con or other high volume event we can scale up for the period of the event then scale back down. Having worked previously in environments where new hardware could take weeks to arrive and configure being able to dial up the service as needed means smooth numbers on our service status.
Having SQL Server in the Cloud in the form of SQL Azure is a massive win for Microsoft and I’m really pleased they got it out. Originally, pre PDC 2009, Windows Azure Tables would form the only data storage environment. The only problem is Windows Azure Tables are not relational and many people (including me) had been expecting to just plug their SQL server database into the Cloud and be up and running.
Microsoft made a huge effort to bring a very good version of SQL to the cloud in the form of SQL Azure. It’s still missing some key features for many larger organisations (such as an integrated backup and restore feature) but there are work arounds that allow for backups which are satisfactory against the alternative of having to employ a SQL server clustering expert and buying three servers outright.
The third part of Microsfts Cloud infrastructure is AppFabric. It’s had a few name changes through its development (codename “dublin”) and is very closely related to Windows Server 2008 R2 AppFabric so be careful when searching for AppFabric details online.
AppFabric currently comprises two services for the Cloud, the Service Bus and Access Control. A third and very important Cache service (codename “Velocity”) will hopefully be available soon. The Service Bus is a powerful Enterprise component allowing you to expose data in a controlled way to 3rd party applications crossing corporate firewall boundaries. Access Control services allow you to centralise security authorization for RESTful web service that can accept a variety of identity providers (including on-premise domain authorisation). As more providers become available in future you can allow users to authenticate with these new providers without writing any new service code.
I hope that explains a little more around what the Windows Azure platform is about and I urge you to give the platform a go while Microsoft run some great introductory offers. See here for details: http://www.microsoft.com/windowsazure/