Table Storage gotcha in Azure

Table Storage is a powerful component of the Windows Azure Storage. Yet, I feel that there is quite a significant friction working directly against the Table Storage, and it really calls for more high level patterns. Recently, I have been toying more with the v1.0 of the Azure tools released in November'09, and I would like to share a couple of gotchas with the community hoping it will save you a couple of hours.

Scaling-down for Tactical Apps with Azure

Cloud computing is frequently quoted for unleashing the scalability potential of your apps, and the press goes wild quoting the story of XYZ a random Web 2.0 company that as gone from a few web servers to 1 zillion web servers in 3 days due to massive traffic surge. Yet, the horrid truth is: most web apps won’t ever need to scale, and an even smaller fraction will even need to scale out (as opposed of scaling up).

Lokad.Translate v1.0 released (and best wishes for 2010)

A few weeks ago, I have been discussing the idea of continuous localization. In summary, the whole point is to do for localization (either websites or webapps) what is done by the continuous integration server. Obviously, the translation itself should be done by professional translators, as automated translation tools are still light years away from the required quality. Beyond this aspect, nearly all the mundane steps involved in localization works can be automated.

Right level of interruption and productivity

Lokad was at LeWeb'09 along with other BizSpark One startups. It had been a great time for us. Our showcase client, Pierre-Noël Luiggi, CEO and founder of Oscaro, was there at our booth and did a tremendous job at explaining why inventory and back-office matters if you intend to build a great eCommerce business. Among various discussions that I had with Pierre-Noël during those two days of hectic trade-show, we have been discussing a lot about productivity in presence of interruptions (LeWeb'09 was focused on real-time web, hence real-time interruptions).

O/C mapper for TableStorage

The Table Service API is the most subtle service provided among the cloud storage services offered by Windows Azure (with also include Blob and Queue Series for now). I did struggle a while to eventually figure out what was the unique specificity of Table Storage from a scalability perspective or rather from a cost-to-scale perspective as the cloud charges you according to your consumption. Since the scope of the Table Storage remained a fuzzy element for me for a long time, the beta version of Lokad.

Serialization in the cloud: SharedContract vs. SharedType

Every time developers decide not to go for relational databases in cloud apps, they end-up with custom storage formats. In my (limited) experience, that one of the inescapable law of cloud computing. Hence, serialization plays a very important role in cloud apps either for persistence or for transient computations where input data need to be distributed among several computing nodes. In the case of Lokad.Cloud, our O/C mapper (object to cloud), our blob storage abstraction relies on seamless serialization.

Continuous Localization or l10n 2.0

There is nothing is easier to sell globaly than software. Yet, it’s still surprising to me to see how few efforts are made on average by small software companies toward localization. Disclaimer: I am not saying that selling software anywhere is easy. Some places are really tough. I am just saying that selling about anything else worldwide level is just 10x harder. Translation is (relatively) cheap Localization (l10n in short) is easier and cheaper than you think.

PDC'09 and Lokad

PDC'09 has ended. It has been a great time for me, and probably an even greater time for my own small company considering the outrageous amount of exposure that we have received from Microsoft. This post is probably the least that I can do to thank all the Microsoft folks that have made PDC'09 such a great event for us. First of all, I would like to thank Doug Hauger (General Manager, Windows Azure) who actually made our venue possible under a very constrained time-line but also under a very constrained budget.

Live from PDC'09 - it's quite cloudy out there

The first keynote for the PDC'09 ended up minutes ago. Although it was not such a surprise, Azure was pervasive in virtually every talk being made this morning. Azure is definitively a top priority for Microsoft much like Windows or Office. For my small company, it’s very good news because we are banking a lot on this technology. Also, I really like the vision of Microsoft that includes tooling as a core of the cloud experience.

How to restart your Azure workers in less than a minute

Ever been waiting in front the Windows Azure Console for your apps to get deployed and restarted ? Well, although this behavior is rather annoying, the console only behaves as expected. Indeed, even if you’re only deploying a 1MB package, the Windows Azure fabric ends up redeploying a whole virtual machine, or rather of a whole set of virtual machines if your role happens to have multiple instances. Obviously, part of the problem comes from the super heavy stack that an OS represents.