Saturday, February 21, 2009

Introduction to Live Services, Part 1: How Windows Live Fits Into Azure Cloud Computing

In this two-part article we'll introduce and explore Live Services, one area of the Azure cloud computing platform.

What do Windows Live and cloud computing have to do with each other? On the one hand, there must be some connection since the Azure platform diagram shows an area called "Live Services". On the other hand, Microsoft has long had services and products with the name "Live" that pre-date the Azure platform announcement by years. So how are we to understand all this, and what can Live do for your cloud computing applications? In this article we'll clear that up. In Part 1, we'll clarify what the intersection is between Live and cloud computing. In Part 2, we'll take you on a guided tour of the many capabilities in Live Services that are available to you.

Live as a Brand
The first thing we need to do is get a handle on what the "Live" brand means. That's confusing for several reasons. Live has been a moving target, not always meaning the same thing over the years. It isn't always applied consistently. The collection of offerings in Live is vast which makes it hard to find a common theme and dilutes its meaning. We'll do the full tour later, but to get an idea of how many different things are in Live, check out
this diagram.

Azure to the rescue. What Live needed was a rallying point around which most of its offerings made sense. The Azure cloud computing platform fills this need perfectly. If we can overlook a few misfits like OneCare, nearly every part of Live serves a purpose in filling out the Azure platform. More than anything else, Live provides the social layer of Azure, connecting people, devices, data, and applications.. And as we all know, social networking is big these days.

Live and Cloud Computing
Let's see if we can convince ourselves that Live and cloud computing have something to do with each other. Cloud computing is about leveraging smart, scalable data centers for your computing needs. Those computing needs might include hosting, storage, communication, security, collaboration, and workflow. Most of Live's offerings are also services provided by smart, scalable data centers and fall into these same categories or add some new ones. Some examples:
- Live Mail (Hotmail) and Live Messenger provide communication services through a smart data center.
- Live Desktop and SkyDrive provide storage services through a smart data center.
- Live ID provides identity services through a smart data center.
- Live Maps (Virtual Earth) provides geospatial services through a smart data center.

Live and Azure
Azure platform diagram shows Live being used in two ways. At the top of the platform diagram are Software as a Service (SaaS) offerings that you use and configure online but don't program against. Those with "Live" in the name are consumer applications and those with "Online" in the name are business applications.

The middle layer of the Azure platform diagram is called Azure Services, one member of which is called Live Services. To an Azure developer, this is the area that will be most interesting to you. "Live Services" refers to a healthy subset of the Live family that can be considered building block services for Azure cloud computing.

Since Live was around before Azure, you may be wondering if Live really uses the base Azure infrastructure or not. What I've heard is that parts of Live are using the Azure infrastructure--especially on the storage side--and over time more and more most of Microsoft's online services will be using the Azure infrastructure.

If they aren't fully integrated, does this mean you can't combine Live services with the Azure platform? Not at all. Personally, I've created several Azure-hosted web applications that also integrate with Live ID. I've also created an Azure-hosted Silverlight web site that integrates with Live Maps (Virtual Earth). All of this was straightforward.

Live Services
Let's return back to the question of how much of Live is part of Azure. The web site has sections for the following under "Live Services": Admin Center, Alerts, Contacts, FeedSync, Live Framework, Messenger, Photo Gallery, Photos, Search, Silverlight Streaming, Spaces, Virtual Earth, Web Gadgets, Windows Live ID, and Writer. In my opinion the Live Mesh Desktop and Live SkyDrive belong on this list as well.

While most developers already use some parts of Live personally--such as Live Mail or Live Messenger or Live ID--many don't seem to be aware that all of the members of Live Services can be programmed against. This opens up some truly interesting possibilities for your applications.

SDKs and the Live Framework
There's clearly a lot of work going on to integrate and align Live with the rest of the Azure effort. Although every part of Live has its own individual SDK today, the
Live Framework appears to be the "main" API Azure developers are being encouraged to use. It's being positioned as the unified way to get at Live Services, supporting the RESTful protocols found all throughout the other parts of Azure.

If you're doing any work with Live Services the first thing you'll want to install is the Live Framework SDK. You'll also want the Live Framework Tools for Visual Studio. Downloading the Live Framework SDK and Tools is tricky! Instead of just going to a download page, you have to first sign up for an Azure and get your Live Framework invitation. Once you've received and activated that, you can get to a
download area for the SDK and Tools after signing in at The other Live SDKs are not so restricted: if you browse the different services listed at you'll see to links to one or more SDKs on the page describing each service.

So there you have it. Live is big, adds a social face to Azure, and contains an amazing amount of useful functionality you can leverage in your cloud computing applications.

In Part 2, we'll get acquainted with the individual members of Live Services and see what they offer you.

No comments: