Zachmann.NET

Azure Like It

Microsoft's cloud push is not just a thin veneer over the company's Software as a Service (SaaS) offerings.

It would be easy to lightly dismiss the cloud-computing announcements that were made at last month's Microsoft Professional Developers Conference (PDC) in Los Angeles as little more than the bundling of pre-existing pieces into a new package with a new label. It would also be a very big mistake. Some have said Microsoft's cloud push is just a thin veneer over the company's Software as a Service (SaaS) offerings. They're wrong.

This is the most significant new platform announcement for Microsoft developers since .NET was introduced eight years ago at the 2000 PDC in Orlando, Fla. Like .NET and .NET Framework, Windows Azure and the Azure Services Platform are sophisticated, complex, foundational architectures that aren't immediately easy to understand or to appreciate in their totality. Like .NET, Azure is going to present a steep and challenging learning curve for IT architects, designers and developers.


Azure is as multifaceted as it is complex and far-reaching. As in the old story of the wise men in India who encountered an elephant in the dark, it can be described in many ways. Those who felt only the tail said an elephant must be like a rope. Those who felt a leg said it was like a tree trunk. Those who touched the elephant's ears insisted it was like an enormous leaf. Those who touched its trunk thought it was like a fire hose, and those who bumped into its side claimed it was like a wall.

Your Azure Experience
Depending on how you encounter it, Windows Azure and the Azure Services Platform can be different things: Microsoft's response to competitive challenges from Google and Amazon; a vehicle for turning Microsoft applications into SaaS offerings; an ambitious use of virtualization and virtual server platforms to enable nearly unrestricted scalability for server-based applications; a competitor to IBM's Blue Cloud and Bluehouse offerings; a means for large corporations to easily outsource chunks of their data center operations; a versatile, on-demand IT service for small and midsize businesses; and much more.

But for developers, Azure is first and foremost an extraordinarily rich set of opportunities to build an entirely new generation of applications that combine Web-based services with locally executed software in a more seamless and accessible manner than has ever before been possible. Learning and understanding Azure is even more important for the future of Microsoft-oriented developers today than .NET was eight years ago.

Initially, for now, the four major component parts of the Microsoft Azure Services Platform are the Windows Azure foundation itself and the three initial offerings built on top of it: .NET Services, SQL Services and Live Services.

Designer Fabric
The Windows Azure kernel is called the Fabric Controller. Like an ordinary operating system kernel, it coordinates resources of a pool of servers in the cloud. It does this by communicating with the servers through a server agent on each of them. Each application includes a Service Model, which specifies to the Fabric Controller the resource requirements of the application. The Fabric Controller uses the information in the Service Model to initialize the application in the server pool and creates a virtual IP address for the app. It then monitors execution and corrects problems due, for example, to hardware failures. The basic server resource-allocation units are virtual servers running on the actual servers in the data center in the cloud.

.NET Services are developer-oriented hosted services offering key functionality for cloud-based and cloud-aware applications. You might think of them as .NET class libraries in the cloud. The three initial .NET Services are Access Control, the Service Bus and the Workflow.

Microsoft SQL Services is an updated version of the Microsoft Data Platform, providing cloud-based storage allocation, management and access. Like .NET Services and Live Services, it runs on top of the Windows Azure kernel.

Live Services and the new Live Framework are the final higher-level functionality now running on top of Windows Azure, but by no means the last. Customer Relationship Management (CRM) Services and SharePoint Services are the next two that will be added. More end-user focused than Live Services, which support it, Live Mesh enables an individual user to create a virtual desktop, create folders for storing resources on it, synchronize between it and the desktop or mobile device and share it with others. It's extensible and open to enable developers to build applications around it.

Perhaps the best aspect of all this is that you don't need to have been at PDC or even have an MSDN subscription to get started. Anyone can go to Microsoft's Azure Services Platform site, register for Azure Services, download the Azure SDKs and access a wealth of videos, demos, hands-on labs and other learning resources.

So what are we waiting for? Let's go do it!

About the Author

William F. Zachmann, born before the modern digital computer was invented, has lived with them (and made his living off of them) all his life. He was director of research for The Forum Corp. in the mid-'70s and senior vice president of corporate research at International Data Corp. (IDC) in the '80s. He has a copy of Windows 1.0 that Bill Gates signed for him the night it was rolled out at Comdex Fall '85. Zachmann is now director of Canopus Research Inc. He programs in C# using Visual Studio 2005 with a focus on ASP.NET and SQL Server 2005.

Reader Comments:

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above