Thursday, December 02, 2010

Asynchronous Programming

Earlier this week I went to a Microsoft Firestarter Event on Windows Azure. The event was run by a Microsoft Developer Evangelist Jim O'Neil. Jim's talks always inspire me to tweak Sumatra's code bases, ensuring we take advantage of as much of the emerging Microsoft technology as practical. One segment of the day talked about patterns and practices, specifically, the use of asynchronous communication when interacting with cloud (and the web).

They told us about a new Asynchronous Programming module (http://msdn.microsoft.com/en-us/vstudio/async.aspx.) I'm very interested in this because many customers in Sumatra's Education market segment are migrating to Exchange in the Cloud -- Microsoft's
Live@EDU. When inserting lots of data, the variability of "network speed" makes insertion times difficult to predict. We explored changing the Sumatra code to run on multiple threads, but concluded it added more complexity to the code and didn't address the underlying bottleneck: network latency.

What I find interesting about this CTP is that the new async calls have the potential to work around latency issues without increasing code complexity. We'll be testing this in our labs in the next few weeks!

No comments: