If you’re not already using Windows Azure somehow in your applications, I’m sure you’ve been hearing more and more about how Windows Azure can help you build applications faster by focusing on development and not infrastructure or how it can help you respond faster to customer needs by having infrastructure resources at your disposal the moment you need them. You may have seen the following summary of why to use the Windows Azure platform (it’s on the Windows Azure site):
The response that I usually get from developers is “That all sounds great, but what does it all mean? Where would I actually use Windows Azure?” It’s a great question but unfortunately there’s no simple answer since the platform is flexible enough that you could use it in many different ways to solve very diverse problems.
I thought that I would pull together the scenarios that I’ve been seeing lately as I work with students who are developing apps across the country. Hopefully, these scenarios will plant the seed in your mind and maybe even compel you to take that app that you’ve been thinking about and see if you can use Windows Azure to make it come to life faster and cost-effectively.
When it comes to mobile platforms, such as the phone and slate devices, Windows Azure offers you an easy way to add redundant storage, compute power, database access, queuing, and caching to your applications without having to put strain on the device. This essentially makes Windows Azure the backend of your app. A huge benefit of using Windows Azure is dynamic scale. The mobile platform is expanding rapidly and apps are being downloaded by thousands every day. Your app may be one of those apps, potentially becoming an overnight success. If your apps uses data online, you’ll need the infrastructure capacity in the backend to be able to support that success. Windows Azure can do that for you in a matter of a few clicks with no upfront infrastructure or configuration costs – perfect for starting off small and reaching full potential in no time.
Check out Connecting Windows Phone 7 and Slates to Windows Azure on the Canadian Mobile Developers’ Blog to get a deeper understand of how these platforms can work together. Once you’ve done that, get started by downloading the Windows Azure Toolkit for Windows Phone 7 or for iOS and working through Getting Started With The Windows Azure Toolkit for Windows Phone 7 and iOS.
As you know, social apps such as games (Farmville anyone?), sharing, and location-based apps are the biggest thing these days. Social apps have the potential to reach millions of users in a short period of time, so like the mobile apps, they need a robust, scalable, and dependable platform on which to run. Social apps can become a success in no time, and you’ll need to be able to provision compute power, storage, and content delivery quickly. More importantly, social networks, like Facebook, aren’t going to host your application or game, but your users will expect the kind of experience (from a responsiveness and availability perspective) as they get from their social network. Deploying to Windows Azure, within the Microsoft data centers and potentially distributing your app and its data worldwide, will ensure you meet or exceed those expectations.
Find out how Sneaky Games, one of the first game developers to deploy a massive web-based game on Windows Azure, did it and what steps you should take to get started in this video. If you’re looking to target Facebook, Steve Apiki has put together a walkthrough of a sample application that uses the Facebook SDK with Windows Azure to create a simple ‘viral’ marketing application. There’s also an MSDN webcast, Creating Facebook Apps that can Easily Handle a Crowd, coming up on June 1st.
Of course, there are always websites – building websites and hosting them on Windows Azure is a common scenario. But anyone can host any site at any hoster, so what’s the difference? Where you start seeing the benefits of Windows Azure kick in is when you want to do things like:
- Scale quickly – let’s say you launched your website today and don’t anticipate too much traffic for the first few months. You provisioned a small server that can handle your forecasted load. All of a sudden, your website catches on and within days, you have double or triple your forecasted load and your small server can no longer handle all of the requests. Now what? With your website deployed to Windows Azure, you can instantaneously provision additional resources, ensuring that your site stays up and running, serving users with no zero impact.
- Store massive amounts of data – Perhaps your site stores and uses a lot of images, videos, and other large files. Windows Azure’s Storage Services give you the storage you need for all that data at a cost that won’t make you think twice. More importantly, if your users are geographically dispersed, you can take all of that data and locate it geographically closer to them, giving them the most optimal performance experience.
- Authorization and Authentication made easy – Rather than having users create usernames and passwords for your website, why not leverage all of the identity providers that are already out there, like Windows Live and Facebook? Windows Azure AppFabric’s Access Control Service allows you to do that, plus a whole lot more, with minimal amount of configuration, and potential zero code!
I could write a whole series on just websites and how Windows Azure for websites makes sense. But I’ll leave the rest for you to discover as you think about the requirements you need for your application. Check out the conclusion at the bottom of the page for how to get your website using Windows Azure.
These are just some common scenarios that I see out there today, but they are certainly not all of them. Student developers are using Windows Azure in many interesting ways, and as such, I highly encourage you to look a bit further into the platform, discover what’s possible, and see how you can leverage Windows Azure for your next app. I’ve included many links above to get you started, but in addition to those, you can also:
- Check out Essential Resources for Getting Started with Windows Azure.
- Stay tuned to our blogs: Canadian Developer Connection covering general Windows Azure topics, Canadian Solution Developers’ Blog covering Windows Azure in more depth including integration with other platforms, Canadian Mobile Developers’ Blog covering how Windows Azure can be leveraged with mobile applications, and the Canadian Web Developers’ Blog covering how Windows Azure can be used with more than just .NET, including Java, PHP, Ruby, and Python.
- Watch videos on my YouTube channel and Channel 9.
- Send me an email at email@example.com if you need any questions or have run into a issue with which you could use some help.
If you’re already leveraging Windows Azure, I’d love to hear your story and maybe even feature it on our blogs – your story could inspire other Canadians to move their applications to the Cloud as well.