Aug 25

In this post I want to introduce the Windows Azure Platform. If you or your company is thinking about using “The Cloud” for either application hosting or integration purposes or for whatever reason, sooner or later you run into Windows Azure. It may not be a surprise that Microsoft follows the current trend for moving services into the cloud. Amazon has been providing cloud based services since 2006 with their Amazon Web Services (drop your developer hat for a minute and don’t think “web service” but think of it as services through the web).

We have seen it before, you contact an ISP to host your web application, you rent some servers which the ISP maintains for you in their data centers. Deploy your application and you are good to go, until your traffic goes up and up and your servers are not able to handle the load. You would contact your ISP and make arrangements to rent more powerful servers, weeks go by to get the equipment configured for you, you migrate your application and so on. After a while it is still not enough and the whole process starts all over again.

Amazon’s answer is the Elastic Cloud Computing (EC2). The underlying principle is virtualization, you don’t work on physical hardware but a virtual machine. Although you may consider virtualization the core of the operation, the services a company like Amazon provides is to make it all easier and transparent. If you get more traffic to your application you just start another instance of your application, Amazon takes care of the load balancing and all the infrastructure headaches you normally have to deal with. If you need more storage, no problem it is all available. If your traffic reduces and you don’t need all that computing power anymore you just remove one or more running instances of your application. The best thing of it all, you only pay for active instances.

Windows Azure Platform

Microsoft feels the heat of the trend of moving services and applications into the cloud and they have been talking about offering MS Office as a service for a long time. The Windows Azure Platform is the foundation to deliver on that direction.

At the heart of the platform we currently find 4 service areas which I will discuss below.

The Cloud Computing and Services Platform Diagram
Fig.1 Windows Azure Platform, courtesy of Microsoft Azure.

Windows Azure

Windows Azure is the core foundation for the services running on it. You may compare the Windows Azure layer with Amazon’s EC2 layer but that’s where it pretty much ends. Windows Azure is a cloud services operating system which developers can use to host their applications and services. These cloud OS instances run in Microsoft’s data centers and Microsoft makes it clear that Windows Azure is not the same as Windows Server.

In contrast to Amazon’s EC2 you have no OS level access to the running instances with Windows Azure. The focus for Windows Azure is a hosting and computing platform for developers with only one way to use it, uploading your application using the Azure portal. This is not necessarily a bad thing but it does indicate that Microsoft wants you to focus on application development while they provide the robust and scalable infrastructure through their data centers.

Using Visual Studio 2008 SP1 or Visual Studio 2010 you would develop your application and publish it on Windows Azure using the Azure portal which you use to upload (deploy) your application and manage your instances. I will talk about how to create applications for Windows Azure in later posts. Although the core focus is around hosting .NET based applications, Microsoft is also opening its doors to allow for other languages such as PHP, Ruby and Python.

Live Services

Part of the Windows Azure Platform are Live Services. This is an extensive collection of Windows Live Services such as Windows Live Contacts, Windows Live Framework, Windows Live Photo Gallery, Windows Live Mesh, Windows Live ID and so on. I was going to describe the services here but a recent blog posting from David Treadwell indicates that a large part of the Live Services platform has been removed from the Windows Azure Platform because of feature set differences between the up coming release of Windows Live and the work that is still well under way to make Windows Azure a all-round platform. You can read the notice here.

However, Live Mesh will continue to be available through the Windows Azure Platform.

.NET Services

The .NET Services component for the Windows Azure Platform allows developers to build .NET based Azure web apps and services. Currently there are two components left, Access Control and .NET Service Bus. There was Windows WorkFlow Foundation included in the .NET Services but it has been removed as well as the team makes the preparation to align with the upcoming .NET Framework 4.0 which also includes WWF. You can read more about the .NET Access Control Service here and about the .NET Service Bus here.

SQL Azure

Although Windows Azure contains Simple Data Storage Services which is a code based non-relational storage mechanism, customers have asked to also have SQL Server available in the cloud to continue the investments in T-SQL and SQL Server based developments customers have made in the SQL Server technologies. Microsoft quickly responded by adding a stripped down (if you will) version of SQL Server to the Azure Platform. The service offered under the SQL Azure header is called Windows Azure SQL Database. With SQL Azure Database you can take advantage of a globally distributed data center providing enterprise level availability, scalability and security.

Summary

I am excited about this new platform, there are some pieces missing such as the WorkFlow service but should be rectified as soon as the .NET Framework 4.0 is released. One other thing to mention is that it is not unlikely that the current BPOS (Business Productivity Online Suite) moved into the realm of Windows Azure, making integration projects even more interesting. As long as the programming API’s are kept consistent throughout the platform and kept in sync with the underlying .NET Framework it should bode some exiting times for us developers.

Frequently Asked Questions

If you have questions about this new platform, please take a look at the FAQ’s posted here.

Comments are closed