Last week I was talking with @lofih and he was going on about how Ruby on Rails doesn’t scale very well. The question is when you have millions of users hitting your web application, how well does it cope with it? So I went and searched for scalability with Ruby and Rails and read a bit about it. Following are some notes of what I’ve found.
This seems to be in the discussion panes for some years now. There is a particulary interesting e-mail from Rails creator, David Hansson, on scalability (scroll down for David’s part) here:
http://pylab.blogspot.com/2007/02/scaling-rails.html
I guess the discussion was brought to life again after Twitter (which is Rails based) being down for a few times and one Twitter developer saying: “there’s no facility in Rails to talk to more than one database at a time“.
But this was quickly addressed by Nic Williams releasing a gem called “Magic Multi-Connections” a few days later. In his words: “It makes it dead easy to use a cluster of databases to scale read and write speeds higher than a single connection would ever allow.”
http://magicmodels.rubyforge.org/magic_multi_connections/
Another interesting reading seems to be the book “Building Scalable Web Sites” by Cal Henderson, lead developer for Flickr.
http://www.amazon.com/Building-Scalable-Web-Sites-applications/dp/0596102356
It’s fun fun fun this kind of applications and challenges. I mean 2.2 million users hitting your server, what do you do? And most of all, how do people start these companies? In Europe it seems to be all about the same old boring software companies we had 10 years ago. Where are the opportunities to work in a real Internet company in Europe?
Well i give in that rails has a thriving community and most issues do get addressed quite fast, however it still strikes me as something that i wouldn't choose in a big project without heavy modification.
As for the sexy internet start-ups, you know what they say, if you can't find one, let's build one! (and it's an offer ;) )