Sqwarea, open source game on Windows Azure

Beyond running a small software company, I am also responsible for the Sofware Engineering and Distributed Computing course at the ENS Paris. For the fourth year in a row, Microsoft offered gracious support for this course (include some Windows Azure resources). Every year, a small dozen of 1st year Computer Science students take over a sofware project. Last year, my students produced Clouster (cloudster.sourceforge.net), a scalable clustering algorithm on top of Windows Azure.

Stack Exchange 2.0: epic fail?

It’s a sad thing to see a pair (Jeff Atwood and Joel Spolsky) of brilliant entrepreneurs going for a probable epic fail with best intentions in mind. IMHO, the recently announced Stack Exchange 2.0 has a high probability of failure, and worse (as far I am concerned) it might marginally hurt my business due to the lack of ongoing commitment for the forum I did setup (ask.lokad.com) for my own company a few months ago.

.NET profiler for Windows Azure

Under modern managed runtimes, performance profiling comes in two flavors: CPU profiling memory profiling In last decade, the No1 breakthrough in the profiling arena was the introduction of sampling. Instead of intercepting every single method call, every single object allocation - introducing a 10x slowdown in the process - the profiler takes only sample at regular intervals. Sampling decreases the accuracy in favor of gain in performance. In practice, sampling is not just a tradeoff, it’s a game changer.

Thinking an academic package for Azure

This year, this is the 4th time that I am a teaching Software Engineering and Distributed Computing at the Ecole normale supérieure (ENS). The classroom project of 2010 is based on Windows Azure, like the one of 2009. Today, I have been kindly asked by Microsoft folks to suggest an academic package for Windows Azure, to help those like me who wants to get their students started with cloud computing in general, and Windows Azure in particular.

You don't know how much you'd miss an O/C mapper till you get one

When we started moving our enterprise app toward Windows Azure, we quickly realized that scalable enterprise cloud apps were tough to develop, real tough. Windows Azure wasn’t at fault here, quite the opposite actually, but the cloud computing paradigm itself is tough to develop enterprise apps. Indeed, scalability in enterprise apps can’t be solved by just pilling up tons of memcached servers. Enterprise apps aren’t about scaling out some super-simplistic webap (like twitter.

MapReduce as burstable low-cost CPU

About two months ago, when Mike Wickstrand set up a UserVoice instance for Windows Azure, I immediately posted my own suggestion concerning MapReduce. MapReduce is a distributed computing concept initially published by Google late 2004. Against all odds, my suggestion, driven by the needs of Lokad, made it into the Top 10 most requested features for Windows Azure (well, 9th rank and about 20x times less voted than the No1 request for scaled down hosting).

Paging indices vs Continuation tokens

Developers coming from the world of relational databases are well familiar with indexed paging. Paging is rather straightforward: Each row gets assigned a unique integer, starting from 0, and going with +1 increment for each additional row. The query is said to be paged, because constraints specifies that only the row assigned an index greater or equal to N and lower than N+PageSize are retrieved. I call such as pattern a chunked enumeration: instead of trying to retrieve all the data at once, client app is retrieving chunks of data, potentially splitting a very large enumeration is into a very large number of much small chunks.

Ambient Cloud is bunk and irrelevant

Every couple of weeks, I hear about computing resource scavenging projects of some sort (think Folding@Home. Indeed, there is an astonishing amount of latent processing power out there, just think of those billions of idle personal computers. Latest news, the scavenging thingy has been renamed Ambient Cloud. Unfortunately, the Ambient Cloud is both bunk and irrelevant, as far raw processing power is concerned. Energy amount for more than 50% of the total amortized cost of a modern data center.

Big Wish List for Windows Azure

At Lokad, we have been working with Windows Azure for more than 1 year now. Although Microsoft is a late entrant in the cloud computing arena, So far, I am extremely satisfied with this choice as Microsoft is definitively moving forward in the right direction. Here is my Big Wish List for Windows Azure. It’s the features that would turn Azure into a killer product, deserving a lion-sized market share in the cloud computing marketplace.

Fat entities for Table Storage in Lokad.Cloud

After realizing the value of the Table Storage, giving a lot of thoughts about higher level abstractions, and stumbling upon a lot of gotcha, I have finally end-up with what I believe to be a decent abstraction for the Table Storage. The purpose of this post is to outline the strategy adopted for this abstraction which is now part of Lokad.Cloud. Table Storage (TS) comes with an ADO.NET provider part of the StorageClient library.