This post will explain how Windows Phone 7 and Windows Azure relate to each other. This is in response to an email question I received over on my apps site. The person, apparently, had been assigned the task of “putting his rewards app on Azure.”
This post is a 100 level (introductory) explanation.
Twenty years ago the client/server conversation was obvious with a physical client machine (perhaps a Windows version) connecting through a wire to a physical server. Usually these were in the same location or in some sort of private wide area network. But they were just a client and a server.
Ten years ago the client/server conversation was a physical client machine connecting through a wire to a physical server that was not in the same building, probably not in the same state or country. But they were just a client and a server.
Since then, until Windows Phone and Azure, nothing really changed except the connection, which became wireless.
Now, the client/server conversation is a physical phone with a wireless connection to the server. The server is now a cloud account on Windows Azure. You login to your Gmail account and your Facebook account so the idea isn’t foreign. But still just a client and a server.
What goes on the Phone?
Your UX. Possibly an asynchronous connection from the phone to the server, if you need a server. And whatever else you would put in your web app, your Windows application, or your game. Leave the heavy lifting for the server to do.
What goes on Azure?
Azure is just the server so it can be a web site, web service, file store, database, or a running service. Or anything you want to do with code. It’s location changed but not what it does.
How are they related?
From a consumer standpoint, they aren’t. Your consumers shouldn’t have to figure out the technology. It should just work.
From a developer perspective, each is a different project type in Visual Studio.
From an accessibility perspective, they are different as night and day. You control what goes on your Azure account and how often. You want to upload a new deployment every day in a running release system? Go for it. Want to deploy once a month, once a year, or just once at all. Fine, it’s your account. Is your deployment buggy as hell and can barely stay up? All within your control to keep or go.
Not the same for the phone. If you go the get-your-app-certified route, not the side-load route, you are at the mercy of the Microsoft Marketplace: their timeframe, their rules. It isn’t bad but it is completely outside of your immediate control. Plan accordingly.
How do I feel about my Windows Phone and Azure development?
I love it and I wouldn’t be able to choose between them if I had to. The end to end solution is an amazing thrill.