Microsoft’s TechDays Professional Developers Summit
Wednesday, January 05, 2011 by Alex Paven
I attended Microsoft’s TechDays Professional Developers Summit in Bucharest on December 9th last year and it’s high time (it’s been almost a whole month now! Sorry about that!) to jot down some impressions on the thing.

Overall it was a fun and engaging experience, and I look forward to participating in as many future editions as possible. I’m so late in writing this only because there were twelve workshops in three parallel lanes, so I could only attend four of them, and I was hoping I’d get the recorded sessions for the rest, but it seems they’re not ready yet so I’ll just have to roll with what I’ve got.

First there was the introduction and keynote; the introduction was given by George Pristavu, chief evangelist for Microsoft Romania. It mostly featured the same few hype words we would be assaulted by for the rest of the day: cloud, SaaS, Silverlight, Windows Phone 7. Oh, when I say ‘hype words’ I really don’t mean to be derisive or sarcastic – it’s just what they are. The main idea was that in this new era of computing we’re apparently in, we need to focus on making our applications available and accessible on a much wider range of devices than before and to a much larger audience.

The keynote was given by Steve Forte (http://www.stephenforte.net), CSO for Telerik, on which occasion I learned that Telerik is Bulgarian (had no idea). He was fun and energetic and managed to get responses from the room. To be honest, I was kind of surprised by the theme of the keynote: Agile methodology and Scrum in particular. However, a pretty low percentage of the participants raised their hands when we were asked if our companies are doing Agile programming; I was a bit surprised by that, and I reconsidered my dismissal of the topic. I also was the only (or maybe just quickest) to answer that the term Scrum originates from rugby, thus demonstrating my knowledge of the area (shut up). Of course he plugged some of Telerik’s own products, among which TeamPulse (http://www.telerik.com/team-productivity-tools.aspx) caught my attention; I intend to try it out and maybe report back my experiences here.

And then, there were the workshops… There were some hard choices to make there, and I’ll give a brief summary of what I participated in: Virtual testing labs – an interesting demonstration of a build and testing environment powered by TFS 2010 and SCVMM; Silverlight architectures for Windows Phone 7 – a fairly run-of-the-mill MVVM presentation; Data in the cloud – nice run-down of the different data storage possibilities in Windows Azure and SQL Server Azure; and Code Extravaganza – you must admit that’s a cool name for a workshop, so that’s the reason I chose it over others which were equally promising.

Virtual testing labs
Jucovschi and Vîjeu held a very interesting workshop which showcased both the testing tools available in Visual Studio 2010 and the integration of virtualization capabilities of HyperV Server and System Center Virtual Machine Manager 2008 R2 with the TFS Lab Manager. As part of the demo, a simple web site was used, a manual test was performed on the website, then turned into a Coded UI Test in a few clicks of the mouse, and finally the test was integrated with a TFS build which deployed a virtual machine the test was ran into. Which sounds like quite a mouthful, but they managed to make it look easy.

This is where the workshop’s downloadable content I mentioned would have come in handy; this lab was ripe with technical information which at times came too fast for me to scribble down. While I am more or less familiar with the testing tools (I’ve tried them out on WPF and Silverlight projects), the extended capabilities of TFS 2010 are quite foreign to me and I’d need a lot of handholding and examples to make sure I’m making any sense. A basic overview of what it’s about can be found here: http://blogs.msdn.com/b/lab_management/archive/2009/05/18/vsts-2010-lab-management-basic-concepts.aspx

Silverlight architectures adapted to Windows Phone 7
This is the one workshop I wish I skipped in favor of something else. It was one of the two about Windows Phone 7 and Silverlight (there was a third one about XNA though), but the other one conflicted with several other interesting possibilities. And the reason I feel a bit sorry for attending this one is that I didn’t learn a lot; with the risk of sounding over-confident, I just kept nodding knowingly throughout the presentation.

It was basically everything I’ve worked with for the past year and a half or so, and it was old news to me: MVVM, MVVM Light, Prism, commands and bindings etc. Well, to be honest, I did find out some of the requirements for WP7 applications that aim for Marketplace acceptance, a short presentation of tombstoning, some details about the Push Notification Service, that Microsoft is working hard to make the Marketplace available everywhere, including Romania, and that there are some workarounds for the impatient ones who wish to get their apps in there NOW: work with an intermediary from a country where the Marketplace is implemented, such as the US. And about the planned accelerated release of service packs, two in quick succession in the first half of 2011.

Data in the cloud
Mihai Tătăran of HPC Consulting (http://www.hpc-consulting.ro) held a workshop that I imagine was very interesting for those of us (yes, including me) who didn’t get the chance yet to play with Windows Azure in the clouds. After a brief mention of SQL Server Azure and the main differences between a cloud and a regular deployment (which are surprisingly few), the bulk of the presentation and demos showcased the Windows Azure Storage possibilities: Blobs and Tables for (semi-)structured data, Queues for messaging and Drives for, well, anything. Each were presented in full technical detail and with accompanying demos, which I think were adapted from the Azure Platform Training Kit available here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=413e88f8-5966-4a83-b309-53b7b77edf78&displaylang=en

And in the end, the most important point of the presentation was how to choose between the several possible architectures (like code-near and code-far SQL Azure, database per app, per client or per app with schema per client etc) and how to choose between SQL Azure and Windows Azure Storage. As always, the answer is: “It depends!”

The conclusions were that SQL Azure makes sense especially with legacy code-base and for rapid development since there are basically no differences from traditional development. There’s also the tooling (Management Studio works just fine with SQL Azure) and the existing knowledge that can be reused. On the other hand, in many cases SQL Azure can be significantly more expensive than Windows Azure Storage Services, which also happen to often scale better but are harder to start working with.

Code extravaganza
Man, where to start?
Basically, Ciprian Jichici delivered on the promise. After two short PowerPoint slides which only said (if memory serves) “Ciprian Jichici” and “code code code code code”, code was all there was to it for the rest of the session. Also, you can’t help but admire the passion that clearly exuded from the entire time he had the stage. I just hope my notes are enough to convey some of that. I also hope I scribbled enough to not make a fool of myself, because most of the time I was mesmerized by what went on on the screen.

First the audience had a choice: there were three possible topics to choose from, and we voted. The choices were:
     1. Communication between worker roles in Windows Azure, with worker roles written in F#
     2. Client-service authentication with secure token service level and federated authentication
     3. Cloud WCF service role with federated authentication

Number 3 won hands-down, and he was off. After quickly creating a self-signed certificate and creating and configuring a WCF service web role, he created a new Secure Token Service from a template (I believe it’s included in the Azure SDK) and wrote a few lines of code to tie it all together, then created a new endpoint for FedUtil and that was basically it. However he did point out that he doesn’t pretend that everything is easy, because it surely didn’t seem like it. There was a lot of configuration needed, and the demo even failed in the end - crashed with some obscure exceptions he didn’t have the time to debug, because he insisted on doing something extra at the end: he heard a lot of people complaining about the lack of session variables in Azure, and he wanted to clear out that misconception.

Basically, you actually can’t have ‘sessions’ in Azure, and the reasons are obvious: the application is highly distributed among a random number of servers. But you can easily fake it by implementing a session state store provider that uses Windows Azure Storage Services as a back-end (and the implementation is of course rather trivial). Of course, you could complain that the speed won’t be ideal, but he also said it’s not that bad either, and the Azure AppFabric Distributed Caching service (previously Velocity), which is in CTP now I think, will be generally available in 2011.

1 comments
Filed under: Azure, Microsoft, Phone, Silverlight, TechDays, Telerik, Windows, 7
Comments
Gabriel Lupas
Company Name: ISDC | Position: CTO
@alex: you said that you admire the passion of Ciprian and knowing him I agree with you. I want congrat you for the passion with which you describe the topics and what was happening there.
1/19/2011 1:41:50 AM

Leave comment





 Security code
 
ISDC ROMANIA
AVRAM-IANCU 506-508
407280 FLORESTI
CLUJ-NAPOCA
T / +40 364 403900
 
 
ISDC THE NETHERLANDS
ISDC THE NETHERLANDS
LAAPERSVELD 43
12 13 VB HILVERSUM
T / +31 35 623 80 15