A lot of non-developer blogs are writing about Twitter’s scaling issues, and the possibility they may ditch Ruby-on-Rails. The good thing is: the relevance of technological choices is finally being made visible for a (slightly) broader audience. The bad thing is: it’s largely being simplified to a “does platform X scale” issue.

Now I’m not going to defend the use of RoR, because I think it’s a naive choice to use relatively unproven technology for a project like Twitter. And I’m certainly not going to join the choir of clueless RoR fanboys who believe just using RoR makes them more professional developers. At least most of “our” PHP scriptkiddies are clueless without the major attitude problem…

But RoR is not the issue here. Virtually every platform can scale. You can probably write Twitter in VBscript and make it scale. Just as long as it allows you to cache the crap out of everything and optimize and de-normalize the database-interaction, you’re pretty much set.

Unless you’re looking for out-of-the-box “enterprise” scalability, which in practice means “keep adding more hardware to achieve mere ‘acceptable’ performance”, creating a scalable web application is a matter of architecture rather then platform choice. If the platform you choose allows you to tweak every inch of your app, and mix & match various technologies best suited to solve particular issues, there’s no reason why your app won’t scale. Many high-traffic websites for instance have bits and pieces coded in C, and/or certain services running on highly tweaked servers just to solve particular bottlenecks. It’s only if your technology of choice is so monolithic doesn’t allow for such hacks it becomes a blocking issue. This is a serious risk when choosing not only a particular programming language but an entire framework, but most frameworks will allow you to work around it if necessary.

The key is not to let your entire application depend on one single platform or vendor, and work on the principle of “small pieces, loosely joined”, in which the pieces can be made from any technology that scratches your itch*).  Which by the way seems to be exactly what Twitter is currently doing.

*) This is of course one of the main reasons why Microsoft sux so very badly for web apps, but even Microsoft seems to have figured that out by now.

  • View Rick Buitenman's profile on LinkedIn
  • Nice Tweetz

    • Nice soundz

    • Nice picz

      www.flickr.com
    • Nice readz

    • Nice bitz

      My top 10 software
    • Nice eventz

    • Nice peoplez