Microsoft announced at the PDC 2008 yesterday that the project they have been working on for cloud computing called Red Dog has a final name as Azure (azh'?r) . At a dinner function last night there was some debate on the proper pronunciation of the word, but it's origins are pretty clear. It comes from the Persian, for the location of the Lapis Lazuli.
Now that we know how to say the word, What is it? There are two key aspects to Azure. First there is Windows Azure, the Operation System for the Cloud. It provides a base for the Azure Services Platform to run on. The following graphics from the Azure site succinctly lays out the architecture of Azure.
From this graphic you can also see that the MS Live services are also going to leverage the Azure Services Platform. What Microsoft is offering as a preview this week only includes the Windows Azure OS, Live Services, .Net Services and SQL Services. You can download the SDK's for each of these from the Azure web site.
The Azure Platform is extensible so that 3rd party and corporate IT departments can leverage the platform to extend their reach to the world. The Azure platform abstracts a lot of what is required to built, and deploy services and applications into a cloud. Since Microsoft has had to do this already with the Live services and corporations are doing it already, Azure brings to the table many best practices and all of the experiences of previous cloud implementations. What this means for yo and I is that we can build and deploy services to the Azure Platform and not have to be concerned with provisioning new hardware or virtualized servers to execute the code. Load balancing is also handled by the Azure Platform.
The really key point I took away from the Keynote and the following breakout session was that there really isn't anything new that we have to do to develop for the cloud. Obviously there are some new API's tat we can leverage to take advantage of the platform our services are now running on. But a Web Service is still a Web Service.
The deployment story has changed quite a bit, however Microsoft has gone to great lengths to make the development of cloud services a lot less painful than you might expect. The SDK for Windows Azure includes a fully functional simulation environment that allows you to execute your services as if they were deployed into the cloud. This includes the ability to to step-by-step debugging.
One thing to note here; Azure is Microsoft Services offering for Cloud Computing, don't expect to be able to install Windows Azure into your corporate infrastructure. Instead, there are services and gateways for you to be able to access your internal data from the cloud services.
I'm looking forward to working more with this platform and will be continuing to post what I find here.