Does Rails Scale?

by Melvin Ram

Trimmed down version of a recent conversation on the #rubyonrails IRC channel:

halogenandtoast: I’m not trying to start anything, but there’s always the discussion that rails doesn’t scale, I kind of disagree with this. php suffers from all the same problems rails seems to. most of the major problems all apps suffer from is bad database management. Does anybody know a little more about this. i.e. does rails scale, if not why?

wmoxam: ugh, really? Do we need another “does it scale” discussion?

melvinram: halogenandtoast: what kind of an app are you working on/building?

halogenandtoast: wmoxam: I haven’t had a discussion about it yet, but I wanted to be educated when people say, we can’t use rails it doesn’t scale. If I’m uninformed then I come off stupid and they end up feeling like they are right.

melvinram: i can’t confidently say it does scale as I haven’t built a system that has needed to scale yet … but BaseCamp seems to stay up 99% of the time and they use multiple servers so it is possible and whoever says its not hasn’t thought it through.

wmoxam: what kind of projects do you guys do where you work?

halogenandtoast: but then they use cakephp, sigh. I think everyone’s poster child for the scaling problem was twitter, but once pivital labs stepped in they eliminated almost all of their problems

wmoxam: but twitter isn’t a traditional web app

halogenandtoast: there are traditional web apps?

wmoxam: sure. most of ‘em are CRUD. twitter is a massive messaging system with a web interface tacked on the front.

melvinram: what I don’t get is why twitter is so different than FaceBook’s status feature? Isn’t it just a CRUD function?

wmoxam: no. it gets a lot of sms usage, and was designed to work without (much) lag. where a facebook status update might not be visible to your friends right away.

melvinram: hmm it still doesn’t fully make sense… as sms interface is just CRUD from different input method … n FaceBook is real time for me… but i’m guessing it’s because i don’t fully understand the dependencies involved. i’m not worrried about it… i’m not building a messeging system :D

wmoxam: messaging systems get complicated, especially when you’re trying to do things in real time. it’s my understanding that Mysql was at the heart of twitter’s problems. basically they we’re using it where they should have been using queue instead

melvinram: ya that make sense that it would cause probs. I’m going to trim down the conversation on Does Rails Scale? and post it on my new blog (http://www.railsnotes.com)

wmoxam: don’t trust me on my twitter musings. I heard it all via third party

Leave a Comment