Leveraging Windows Azure for Your Next App Idea
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 IT 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 developers across the country. It’s my hope that these scenarios will plant the seed in your mind and maybe even compel you to look at that next application idea you’ve been thinking about and see if you can use Windows Azure to make it come to life faster and cost-effectively.
SharePoint and Dynamics CRM Integration
Windows Azure is a great fit for the more enterprise level platforms like SharePoint and Dynamics CRM. When thinking about these and Windows Azure, think data integration and content delivery, expandable storage, and business intelligence.
You can use Windows Azure’s Compute Services to deploy your custom solutions and integrate them with SharePoint by using web services, web parts, and the Business Connectivity Services. Windows Azure Blob storage is a perfect cost-effective mechanism for storing large amounts of SharePoint application data, media files, reports, and much more. For Business Intelligence, you can leverage SQL Azure for reporting data and build SQL Azure Reports that use the data, surfacing the output in SharePoint using web parts.
The Academy Live Webcast Integrating SharePoint and Windows Azure: Why They’re Better Together explores these concepts. You can also watch the MSDN webcasts Extending your SharePoint Practice via the Cloud and Windows Azure and SharePoint. Once you’ve done that, make sure you download the SharePoint and Windows Azure Development Kit and jump right in.
Of course, there is 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.
For something completely different, have you thought about developing mobile or social applications and/or games?
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 mobile application. A huge benefit of using Windows Azure for mobile applications is dynamic scale. The mobile platform is expanding rapidly and applications are being downloaded by thousands every day. Your application may be one of those apps, potentially becoming an overnight success. If your application 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 applications such as games, sharing, and location-based applications and services are the biggest thing these days. Social applications have the potential to reach millions of users in a short period of time, so like the mobile applications, they need a robust, scalable, and dependable platform on which to run. Just like the mobile apps, 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 application 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.
These are just some common scenarios that I see out there today, but they are certainly not all of them. 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 application. 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 firstname.lastname@example.org 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.