A Quick Visit to the Clouds

These evening (23 Feb 2010) I attended a Melbourne .NET session presented by David Lemphers who’s the Senior Program Manager on the Windows Azure team.

David presented an introductory level discussion how Azure works; we were run through the basics of setting up a hello world application. Running it locally on a simulated cloud, side note here is currently a simulated cloud can only be accessed on a single developer machine – meaning you can’t yet host a simulation cloud as a networked machine to test your application. Such a feature should be coming in the future.

We also got taken through what it takes to push it up to the real cloud. The walk through continued to cover how the Azure system works, with Roles; a web-role representing IIS in the cloud and worker-role representing a windows-service in the cloud. Storage Accounts representing containers for data, message queues and blobs.

Windows Azure

Windows Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Windows Azure platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage web applications on the internet through Microsoft datacentres.

Now that just means it’s supposed to be easier to get your applications hosted up servers you don’t need to own or administer for a fee. From what I have seen so far, it is in fact simple in terms of developer difficulty, but there’s a whole host of other considerations before pushing up a business critical application up into the cloud. A quick list of concerns would begin with; security, availability, privacy and confidentiality, but that’s a discussion I would rather not kick off here at least not right now.

There was a brief discussion of load handling and scaling in terms of pricing, so I asked an AllYourClouds.com question about it here. Along with a mention of a possible programmatic control of active instances, but probably only within the range of what’s already part of the billing plan.

From an Australian perspective the Windows Azure service is lacking for the moment, with prices significantly more expensive in the Asia data-centres , that combined with no locally (Australia) based datacentres available. The lack of on Australian soil datacentres ties back to concerns of certain types of data being able to be stored up in the cloud.

Some take away notes:

  • In Visual Studio 2010 Release Candidate to use the Azure SDK you need the Febuary release
  • For VS 2010 Beta 2 and prior the older Azure SDK is fine
  • Microsoft is dogfooding the Azure platform with the billing system for Azure.
  • Also services like Sea Dragon the Deep Zoom tech use a similar approach as Azure’s core functionality.
  • You currently cannot run .NET 4 Framework applications on Azure, will be available when it reaches RTM.
  • Expecting a 6 month release cycle, with road map coming soon.
  • The storage capacity of Azure based X Drive for cloud storage
  • Data caching and concurrency is still a problem to be solved in development, example suggestion for caching is memcached.
  • Azure team currently investigating SMTP in the cloud

Additional Resources:

Coming up Melbourne Cloud Code Camp April 1st 2010.

SoSlow Data Import for StackOverflow Data-Dump

Just as a quick update post on my on going series of posts on using PLINQ on Stack Overflow data-dump.

In my initial post where the core of what I was doing was outlined, at the time the popular (and quickly found) option was to use a series of stored procedures made available by Brent Ozar to import the XML data into a SQL database.

XML into DB

Brent recently replied back on the original post tipping me off to an easier more convenient way to get the data into SQL.

… There’s an even faster way to import the XML files now using Sam’s SoSlow.exe tool. You give it a connection string (including the database name) and it’ll create the tables and import the data. Just FYI – it doesn’t warn you, but it does delete and recreate the import tables every time. It’s dramatically faster too.

I’m all for an “easier” and “better” approach, so I gave it a try.

The first step was to get a copy from Sam Saffron‘s GitHub respoistory


It is a small C# WinForms application with 3 buttons, so the use of it very simple and suits well with the also simple layout of my PLINQ demo application.

SoSlow Interface

In under 15 minutes all the data was imported (results will vary depending on your machine configuration). This will help out keeping the data more up to date when the next public release of the data is made available.

StackOverflow DataBase Successfully Created

PLINQ on the StackOverflow Data-Dump Series

I have an ongoing long standing side project of applying PLINQ performance tests on the Stack Overflow data-dump.

Here’s just an up to date list of those blog posts:

The source code for the demo app is available up on GitHub.

Melbourne Silverlight Code Camp Thoughts

Over the weekend I attended the Silverlight Code Camp held at the NAB training facilities in Docklands, Melbourne. It was fantastic that a bank showed an interest in a developer event, in particular Silverlight. The NAB has a flagship product built in Silverlight with future software projects planned. NAB are on the lookout for developers so if you’re interested in Silverlight, they have a large budget for development and have been spending big according to their who welcomed us before the keynote, so contact them if interested. Also thanks to the other sponsors such as Readify.

I’m a day late in the game for my thoughts, I was exhausted Sunday afternoon after 2 very early mornings and lot of sessions. For a comprehensive review of the event check out Alex Mackey’s blog Silverlight Code Camp Review. He makes a lot of great points that I agree with, in particular a little bit of polish missing on a few of the advanced topic sessions weakened the experience for those on the advanced track. As a first time event and being free, I give it an A- (minus).

I enjoyed the keynote presented by former Silverlight product manager Scott Barnes, even tho as all keynotes go was a bit flashy (silverlighty?) with a bit of marketing spin. What was nice to hear was in fact Microsoft are really backing Silverlight, and it’s one of if not the fastest iterating units inside Microsoft, with a very short release cycle. Other notes included the push (through demonstrating Silverlight’s usefulness, not by mandate) inside Microsoft for other business units to adopt using Silverlight on their public facing sites.

The experts panel was great, we do see these kinds of sessions for example at TechEd. Panel sessions are always great where experts are fielding questions from the audience and just carrying on a formalised discussion. This session was very entertaining and informative, the discussion on HTML5 was great with the key take-away being standards are slow to propagate (adopt) where-as Silverlight is iterating fast to accomplish rich web experiences right now. Other recommendations from the panel, make use if WCF RIA where possible. Also the need to be in a different mindset when building Silverlight applications; which by nature function asynchronous with the back-end (this message was repeated in several presentations).

My top 5 sessions were:

One thing that topped off the event personally for me was winning a licence to some Silverlight controls from Component One, looking forward to getting that soon. Should help get me motivated into constructing more complex Silverlight side projects, which if #SLCC ’11 goes ahead I can present. If you have the opportunity to attend any future Silverlight code camp in Melbourne, don’t hesitate to sign up.

Check out the sessions schedule on my previous post.

Finally the Silverlight community in Australia links are: