Twitter Replacing Rails? So?
Sat Apr 09 21:25:00 -0700 2011
Twitter are reportedly moving away from Ruby on Rails. It’s on a lot of people’s tweets and on our Rails Oceania Mailing list. But the real question that should be asked is “So?”
Ruby on Rails is a tool for a job. I run a Ruby and Ruby on Rails consulting firm and we use Ruby and Rails to do one thing extremely well, that is rapid, highly customised, web application development. We can produce applications that fit very complex business models at break neck speed.
These same applications can then go on, with little or no modification mind, to serve more requests than ninety nine point lots of nines websites will ever need.
But one thing that Ruby is not suited to is highly concurrent, speed optimised computing. It’s not designed to. Ruby’s stated design goal by Matz (paraphrasing) is programmer happiness and help change the way us programmers think by providing a language that allows us to express our ideas and thoughts rapidly, elegantly and simply.
If you want something insanely fast, highly concurrent and optimised to the gills for speed, use something that is not Ruby, maybe Erlang, Scala, C, whatever.
If you need a web site developed that is on budget, has a really great development curve and delivers highly productive and successful web applications in the shortest possible times, use Rails.
I think the real surprise should not be “OMG, Twitter is moving their search feature away from Rails!” I think the point is “OMG, Rails has managed to run twitter’s search feature successfully for THIS LONG?!”
blogLater
Mikel
Leave a Reply
Latest posts
- Encrypting Another Partition Using FileVault 2 on OSX Lion
- Installing Home Folder on Second Drive on OSX Lion
- undefined local variable or method `version_requirements'
- A New World of Resources
- Rails Static Pages
- Engine Yard Cloud Backups Generating Zero Length Backups
- Our Rails Rumble Entry - StillAlive.com
- Renaming a controller and redirection in Rails 3
- Updating RailsPlugins.org to Rails 3 - Part 1
- A new protocol for social interaction
- What is a distributed social network?
- Bundler and Public Git Sources
- Getting Heroku, memcached and Rails 3 working
- Why Bundler?
- Rails Commit Access
- Introducing TellThemWhen
- rake RSpec & Cucumber uninitialized constant Rails::Boot::Bundler
- This Relationship is Worth Nothing
- Thank YOU...
- Inline Attachments for ActionMailer
- Upgrading RailsPlugins.org to Rails 3 - Part 1
- Stripping dollar signs and commas from a string
- Getting Rails 3 Edge with jQuery, RSpec and Cucumber using RVM
- Action Mailer, go Proc thyself
- The Real News Donation Drive
- ActionMailer ScreenCast and Article
- Installing RSpec for Rails 3
- I am speaking at RailsConf 2010
- Rails 3 Session Secret and Session Store
- If you're lazy and you know it write your specs!
- Bundler - uninitialized constant ActionController
- Bundle Me Some Sanity
- How to use Mail / ActionMailer 3 with GMail SMTP
- Put your mailer where the action is!
- Why Force a Choice?
- How to make an RSS feed in Rails
- Rails 3 Routing with Rack
- Bundle me some Rails
- Helping out in Haiti
- Watch your self
- Is Rails 3.0 a Game Changer?
- Where did the scripts go?
- validates :rails_3, :awesome => true
- New Rails Version 3.0 Guides Online
- New ActionMailer API in Rails 3.0
- Mail gem version 2 released
- How to rename a Rails 3 Application
- Rails 3.0 Examples
- DECCA Driving Day
Latest comments
- Quantspring.com
This is a really great post I f...
- Maxine
Maybe it has a connection with ...
- Axel W
Had the same problem lots of ti...
- cloud computing anbieter
I was there and I see you confe...
- cloud computing anbieter
I was there and I see you confe...
Categories
Tag Cloud
AJAX ARGH! ActiveRecord Ajax Apache Apple Asterisk Australia Copy Database Development Feedburner Gem server Google Human Rights Javascript L. Ron Hubbard MS SQL Server MacOSX Mail Mephisto Not Programming OpenBSD Opensource Performance Personal Integrity PostgreSQL Programming Prototype Puzzle RDoc REST RESTful Rails RSPec RSpec Rails Rails Tips Rspec Ruby Ruby on Rails Ruby on Rails Tips Ruby on rails Tips SQL SQLServer SVN Scientologist Scientology Site Stats Soekris Soekris net5501 TMail Textmate Tips Windows World about mikel anti drug apache contributing daemon documentation drugs illustrator javascript lambda mail mephisto newspapers nitro open source opensource photoshop productivity programming railscasts rspec ruby ruby on rails rubyforge scientology seo sitemap sqlserver tips tmail tom cruise unix tricks vector graphicsArchives
- November 2009 (1)
- October 2009 (2)
- September 2009 (2)
- August 2009 (0)
- July 2009 (1)
- June 2009 (0)
- May 2009 (1)
- April 2009 (0)
- March 2009 (0)
- February 2009 (0)
- January 2009 (2)
- December 2008 (0)
- November 2008 (5)
- October 2008 (0)
- September 2008 (1)
- August 2008 (0)
- July 2008 (2)
- June 2008 (13)
- May 2008 (7)
- April 2008 (18)
- March 2008 (8)
- February 2008 (5)
- January 2008 (7)
- December 2007 (20)
- November 2007 (22)




Tue Nov 08 19:29:09 -0800 2011
Your post is one of the nice posts I have ever read. The conversation itself proved that your article is quite a treasure. Keep on posting more insightful posts.
Our company is professional manufacturer, specialized in carbide drill ,solid carbide end mills, reamer, drills, indexable inserts and other tungsten carbide products. We produce the products which is mentioned above by ourselves.
Sat Apr 09 04:58:33 -0700 2011
1 billion queries/day is a lot, indeed, and Ruby/Rails managed to withstand for this long.
Sat Apr 09 15:28:01 -0700 2011
Good post, especially “OMG, Rails has managed to run twitter’s search feature successfully for THIS LONG?!”
PHP is complied into c++ at facebook. When you get to ‘web scale’, which has more than a few orders of magnitude more requests than you’re average web app, you gotta do things differently, no matter the language.
Sat Apr 09 06:37:08 -0700 2011
OMG, it took twitter this long to realise Rails is not for highly concurrent computing? j/k
So does that mean we rewrite the code like twitter does if the customer’s website suddenly get high traffic?
Sat Apr 09 15:28:48 -0700 2011
Good post, especially “Rails has managed to run twitter’s search feature successfully for THIS LONG?!”
PHP is complied into c++ at facebook. When you get to ‘web scale’, which has more than a few orders of magnitude more requests than you’re average web app, you gotta do things differently, no matter the language.
Sat Apr 09 07:37:48 -0700 2011
Great article. A bit of sanity in this usually passionate matter.
Sat Apr 09 10:58:23 -0700 2011
@Joshua
Sudden high traffic isn’t a good reason for rewriting the entire web application. Sustained high traffic is.
Also, it’s a question of multiple concurrent operations, not just high traffic. Using the right tool for the job is important in web development – if all you’re serving is static html content, Rails really isn’t that great a solution for you, either.
Sat Apr 09 15:29:03 -0700 2011
Good post, especially “Rails has managed to run twitter’s search feature successfully for THIS LONG?!”
PHP is complied into c++ at facebook. When you get to ‘web scale’, which has more than a few orders of magnitude more requests than you’re average web app, you gotta do things differently, no matter the language.
Mon Apr 11 05:10:41 -0700 2011
How bout jRuby? Rails is designed to be thread save. jRuby on Rails!
Sun Apr 10 02:11:36 -0700 2011
I remember the time when you were supposed to use Rails because Twitter was using it. Now we have to write blogs like this when they move off it. Sad.
Mon Apr 11 05:10:57 -0700 2011
How bout jRuby? Rails is designed to be thread save. jRuby on Rails!
Mon Apr 11 05:11:55 -0700 2011
How bout jRuby? Rails is designed to be thread save. jRuby on Rails!
Mon Apr 11 11:11:15 -0700 2011
Actually, Twitter search was moved to Java last year (using Lucene). This time it is the “web front-end” which is being replaced with Java.
Tue Apr 12 17:27:35 -0700 2011
@Prog: We shouldn’t confuse thread-safe with event-driven (or “evented”) I/O. The latter is what Netty (the Java framework Twitter is now using on the search front-end) is based on.
Other terms used for event-driven I/O are:
You can find out more on various I/O strategies here:
http://www.kegel.com/c10k.html
HTH,
Susan
Wed Apr 13 03:25:22 -0700 2011
Twitter has been using Scala for (parts of) their backend since 2008.
Source: http://www.artima.com/scalazine/articles/twitter_on_scala.html
Thu Jun 16 05:33:13 -0700 2011
Twitter changed their interface from a more or less “classic webpage spiced up with ajax” to “ajax only”! Adapting this on the server side is a natural step and absolutely necessary as this changed to a “request per click”-model. Furthermore we´re talking about TWITTER – one of the request heaviest pages on this planet! You definately would run into issues and special needs regardless of technology… it has absolutely nothing to do with the quality/speed of Ruby/Rails! Therefore: Full ack to Mikel!
Tue Jul 26 00:01:32 -0700 2011
Your post is one of the nice posts I have ever read. The conversation itself proved that your article is quite a treasure. Keep on posting more insightful posts.
Our company is professional manufacturer, specialized in carbide drill ,solid carbide end mills, reamer, drills, indexable inserts and other tungsten carbide products. We produce the products which is mentioned above by ourselves.
Tue Jul 26 00:01:42 -0700 2011
Your post is one of the nice posts I have ever read. The conversation itself proved that your article is quite a treasure. Keep on posting more insightful posts.
Our company is professional manufacturer, specialized in carbide drill ,solid carbide end mills, reamer, drills, indexable inserts and other tungsten carbide products. We produce the products which is mentioned above by ourselves.
Thu Dec 22 17:10:41 -0800 2011
Good post, especially “Rails has managed to run twitter’s search feature successfully for THIS LONG?!”ikpdjnvaj sg qqyjivwzl hg qtaowcahr te onpins
PHP is complied into c++ at facebook. When you get to ‘web scale’, which has more than a few orders of magnitude more requests than you’re average web app, you gotta do things differently, no matter the language.
Wed Jan 25 04:34:59 -0800 2012
why did you chose to start a ruby on rails company, instead of asp.net? I find it more complex
Mon Mar 12 02:43:02 -0700 2012
I guess that this is the future for promotion. Online marketing seems to be the best approach. And I am sure that you will have the same opinion.
Thu Mar 15 07:19:51 -0700 2012
Good Work ! Keep on posting more insightful posts. Thanks!
Fri Apr 20 05:26:54 -0700 2012
PHP is complied into c++ at facebook. When you get to ‘web scale’, which has more than a few orders of magnitude more requests than you’re average web app, you gotta do things differently, no matter the language.