Wednesday, March 10, 2010

You are here: Home > Articles > Twitter is not abandoning Rails

Twitter is not abandoning Rails

by Robert Dempsey on May 2, 2008

TechCrunch posted a rumor yesterday that Twitter was going to ditch Rails for PHP or something else. This is not true. Evan Williams tweeted that this was indeed false:

“FWIW: Twitter currently has no plans to abandon RoR. Lots of our code is not in RoR, already, though. Maybe that’s why people are confused.”

I loved David’s response to the scaling argument in a recent eWeek article:

“This is known as the ‘Last Stance’ defense. When you have nothing of left of substance to argue with, you draw the ‘But does it scale?’ card. This is on page one of the Fear, Uncertainty and Doubt playbook.”

Wikipedia defines scalability as, “ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged.” We can do that with Ruby and Rails, just as you can do that with many other programming languages and frameworks. People seem to forget that scalability is not simply a matter of code but the architecture of the application and the infrastructure the app is sitting on. If you design an application without growth in mind you’ll have issues, hands down. If you host your application on shared hosting and don’t give it the resources it needs you’re going to have issues.

“Can Rails scale?” is the wrong question to be asking. The right question is “how do we scale properly?”

Bookmark and Share

Other Posts That Might Interest You

  1. Is Twitter Responsible For Rails’ Image?
  2. Twitter is About More Than Breakfast
  3. Rails Behind the Firewall
  • The "does it scale?" question is similar to the "what's the ROI?" question.

    Both are what ask do when they want to just be able to shoot a project down. Funny how their own pet projects don't get this sort of nonsensical scrutiny.

    It's not that the questions are unimportant, but they focus on such a narrow aspect and leave truly important discussions and strategy stuck in a corner.
  • Well said.

    Making scalable and highly available services has nothing to do with the programming language, at least by itself. This area would generally be the *last* place I'd look, not the first thing I'd bash. There *may* be implementation issues with a language, but its impossible to determine based on what I have heard so far how many, if any, of the issues Twitter is having have anything to do with Ruby or Rails.

    For example, the 500 errors we saw yesterday were caused by the need to restore a crashed database instance. This doesn't sound like a Ruby or Rails issue to me.

    Architecture and designing services for scaling and availability is about physics. The discipline has a lot more to do with things like how you go about identifying single points of failure, looking for bottlenecks, and tying to understand the implications of maintaining state than anything to do with Ruby or the Rails framework.
blog comments powered by Disqus

Previous post:

Next post: