Since it is the week leading up to Canada day, I thought it would be fitting to celebrate Canada’s birthday by sharing the stories of Canadian developers who have developed applications on the Windows Azure platform. A few weeks ago, I started my search for untold Canadian stories in preparation for my talk, Windows Azure: What’s In the Cloud, at Prairie Dev Con. I was just looking for a few stores, but was actually surprised, impressed, and proud of my fellow Canadians when I was able to connect with several Canadian developers who have either built new applications using Windows Azure services or have migrated existing applications to Windows Azure. What was really amazing to see was the different ways these Canadian developers were Windows Azure to create unique solutions.
This week, I will share their stories.
On any given election night, the biggest challenge to accomplish successfully is the collection of data. Most campaigns have volunteers numbering in the hundreds out at polling stations scrutineering the results. The polls close across ridings at the same time, so that data comes in fast and furious. In almost every typical scenario, it gets lost. Election Night streamlines the data input process as much as possible, and where possible, allow for remote data input by the scrutineers themselves, so that as much of that valuable data is captured as quickly as possible. In addition, Election Night helps decide the best way to allocate volunteers to the polls through data visualization techniques.
Postmedia Inc., the company that maintains canada.com featured the application on their public site. See how the application was integrated into the site – Riding by Riding and Poll by Poll. You can also access the application directly on Windows Azure - Election Night National Viewer and Election Night District Viewer.
I had a chance to sit down with John White (@diverdown1964), CTO of UnlimitedViz, Microsoft SharePoint Server MVP, and one of the developers of Election Night to find out how he and his team built Election Night using Windows Azure.
Jonathan: When you and your team were designing Election Night, what was the rationale behind your decision to develop for the Cloud, and more specifically, to use Windows Azure?
John: The technology to support these requirements have been around for quite some time. However, and election campaign is ephermal. It lives for about 5 weeks and then disappears. The cost required to implement the required infrastructure to support such a solution has been prohibitive, and the skill required to support remote access has been beyond the ability of most local campaigns. Windows Azure was an obvious fit, primarily because it required no infrastructure, but also because it was easy to access from anywhere.
Jonathan: What Windows Azure services are you using? How are you using them?
John: The solution uses both Windows Azure and SQL Azure. The Windows Azure instance contains a Silverlight application that uses RIA Services to connect back to an Entity Framework model. That model connects to the data housed in SQL Azure. In addition, standard ASP.NET pages are also available for interaction with generic smartphones and tablets. When the visualization capabilities were needed by a major media outlet, we were able to package a subset of the application, allow them to deploy it to their Windows Azure instance, and still maintain the data in our SQL Azure instance [Software-as-a-service using Platform-as-a-service]
Jonathan: During development, did you run into anything that was not obvious and required you to do some research? What were your findings? Hopefully, other developers will be able to use your findings to solve similar issues.
John: The only difficulties that we ran into were typical early adoption type issues. For example, the standard Silverlight RIA services implementation does not bundle the required libraries for Windows Azure. These were overcome by consulting with Channel 9 videos (like these videos) and published Microsoft guidance.
Jonathan: Lastly, what were some of the lessons you and your team learned as part of ramping up to use Windows Azure or actually developing for Windows Azure?
John: Lessons learned? Not very many! Don’t leave too many Windows Azure instances running indefinitely. Your developer allocation doesn’t cover the required cost. Also that SQL Azure storage is very, very cost effective, and fast. Our solution is serving up a million rows with complex queries and geo-encoded data.
Jonathan: Any last comments and/or thoughts you’d like to share about Windows Azure?
John: Election Nights fortifies our position of continuing to build cloud based applications with scale. By leveraging the Azure technology platform we were able to repackage components from a much larger application into what Postmedia needed for their website in less than one week. Developing to a common infrastructure meant that we no longer worry about the common deployment roadblocks of matching our application requirements to our client’s environment. It just works!
That’s it for today’s interview with John. I’d like to take this opportunity to thank John for sharing his story. Tomorrow – another Windows Azure developer story.
Missed previous developer stories in the series? Check them out here:
This post also appears in Canadian Developer Connection.