This is a very interesting article (to me anyway). I’ve been spending a huge amount of time and effort learning about scaling rapid-transaction web sites for a client. You would think that this has been done so many times that by now it’s just drop dead easy. Think again. Writing a killer web application is the easiest thing about rolling out a distributed web service. Getting the back-end “right” is really hard.
None of the existing databases come with anything similar to a WYSIWYG mechanism for building distributed databases (why not?). You need to really know what you are doing – or you need to be able to afford someone that does.
Or you need to understand Amazon S3 really well (something I am looking into more now).
And I don’t think this is a Rails problem – it’s a deployment problem. And it doesn’t seem to make much difference what the language is – it’s the distributed databases, the transactions, timing, geography, etc.
So – maybe THAT is what “Web 3.0” will be – taking the entire complexity of distributed databases, load-balancing, backups, redundancy, Geography, etc out of the equation.
Build a deployment platform that is WYSIWYG – THAT would be game-changing.
In this case, it seems that Twitter requires more sophisticated ways of talking to many databases at the same time. Alex puts it a little black and white with “Ã¢â‚¬Â¦thereÃ¢â‚¬â„¢s no facility in Rails to talk to more than one database at a time”, which isnÃ¢â‚¬â„¢t really true, but it could definitely be done better. Last I spoke with Twitter, we discussed this and they sounded enthusiastic about being able to further this area of Rails. ItÃ¢â‚¬â„¢s disappointing to hear that theyÃ¢â‚¬â„¢ve forsaken that opportunity for an arms-crossed alternative.
In any case, IÃ¢â‚¬â„¢m proud that Twitter is having to push the envelope on scaling Rails. Fielding 11,000+ requests per second is no small feat for any dynamic web application. Once the stress of having to deal with that in the moment subsides, IÃ¢â‚¬â„¢m convinced that the team will grow beyond the blame game, get their hands dirty as full participants in an open source community, and contribute back their advances to the framework. WeÃ¢â‚¬â„¢ll all be richer for it.