Twitter has answered a burning question in the development community: Will Ruby on Rails stay as it overhauls its infrastructure? The answer: Ruby stays, but Twitter may diversify in some areas.
Ruby on Rails has been tarnished a bit by Twitter's outages, but in a Q&A on its architecture the company set the record straight on recent some reports that Ruby would be tossed.The Twitter uptime issues featured two camps: One that distinguished between architecture and Ruby and argued that Twitter would keep Rails and one that didn't.
Here's what Twitter had to say:
We've got a ton of code in Ruby, and we'll continue to develop in Ruby with Rails for our front-end work for some time. There's plenty to do in our system that Ruby is a great fit for, and other places where different languages and technologies are a better fit. Our key problems have been primarily architectural and growing our infrastructure to keep up with our growth. Working in Ruby has been, in our experience, a trade-off between developer speed/productivity and VM speed/instrumentation/visibility.
That statement lines up with what Ruby supporters have said.
Also see: Ruby on Rails expert: Rails scales; Twitter shouldn’t taint Ruby
And would Twitter use Ruby again?
I strongly believe that the best tool for the job is the best tool for the job. Rails is the best web application framework around for rapid prototyping and, as aforementioned, building CRUD-style applications. I would choose Rails again for such a project. That said, I'm constantly exploring new technologies, and I've also enjoyed working with Merb and Google App Engine for small projects recently.
Overall, Twitter talks about its scaling decision and how it didn't really plan ahead for the messaging boom. But the big takeaway is this: Twitter has cleared Ruby's name.