It's interesting that when it comes time to scale to serve enormous loads, you have to be willing to change fundamental parts of your stack which you've made a huge investment in. Ruby holds up well enough on the majority of the sites that use it, but when you have traffic the size that Twitter does, it's just not good enough. And it turns out that Java provides a nice tradeoff with high performance and high-level co…
It's not primarily about the size of traffic, but the ability or inability to cache. At work we serve a ton of traffic with MRI ruby and 3 small VMs. Most requests are served by varnish and never hit the ruby stack. Most people do a terrible job at caching (edit: I'm not saying that twitter is bad at caching).
Twitter survives election after Ruby-to-JVM move
61–70 of 179 posts
Re: Twitter survives election after Ruby-to-JVM move
#62Earlier quoted context omitted.
Have you worked on other sites with a similar scale to Twitter? If not, how would you know?
I work at Google :)
Unless of course, you work in the marketing department or clean the buildings?
Re: Twitter survives election after Ruby-to-JVM move
#63What this says to me, a non-RoR user, is that it's harder to build websites with Java than with RoR, but if you pass a certain (very unusual) level of traffic, you'll wish you'd made the extra effort; otherwise, you'll be glad you didn't. (Extra effort isn't free.) Fine, but what I wish I understood was why RoR is so popular to begin with. The claim is always that Rails is so wonderful that it's worth learning Ruby j…
Re: Twitter survives election after Ruby-to-JVM move
#64It's interesting that when it comes time to scale to serve enormous loads, you have to be willing to change fundamental parts of your stack which you've made a huge investment in. Ruby holds up well enough on the majority of the sites that use it, but when you have traffic the size that Twitter does, it's just not good enough. And it turns out that Java provides a nice tradeoff with high performance and high-level co…
There are many dynamic user driven sites which have scaled well (far less downtime than Twitter) without switching to static compilation.
Re: Twitter survives election after Ruby-to-JVM move
#65Re: Twitter survives election after Ruby-to-JVM move
#66Re: Twitter survives election after Ruby-to-JVM move
#67Earlier quoted context omitted.
It's not primarily about the size of traffic, but the ability or inability to cache. At work we serve a ton of traffic with MRI ruby and 3 small VMs. Most requests are served by varnish and never hit the ruby stack. Most people do a terrible job at caching (edit: I'm not saying that twitter is bad at caching).
Twitter is hugely write intensive and needs realtime data, so their caching needs are probably vastly different from yours.
Re: Twitter survives election after Ruby-to-JVM move
#68While I can agree that scala/java/jvm deserve some credit for this (typing, concurrency support), I think stories like this do a disservice in that they underestimate the importance of building a system a second time with all the lessons learned the first time around. This is not unlike those stories where a developer writes a trivial program in a new language that is similar to a trivial program they wrote in anothe…
Re: Twitter survives election after Ruby-to-JVM move
#69This move marks the beginning of the end of a four year long effort for Twitter to rid themselves of Ruby. History will remember the entire Ruby industry as a series of compounding failures. The de facto formalisation and specifications. The black-box behaviour of core development. The broken-linked, un-versioned docs. The rampant cargo-cult mentality. The arcane exceptions. The meta-frameworks. Gem hell. 1.9/2.0 Rai…
> Gem hell. Is this really a problem? Every package/dependency manager seems to blow up on occasion. Gems haven't given me the problems that I've had with Pip/CPAN/Autoconf.
There are things more funny to do than solve bugs introduced by a backported patch.
Re: Twitter survives election after Ruby-to-JVM move
#70Earlier quoted context omitted.
No. It is the JVM that should be getting the credit.
If that were the case, they could have just run JRuby and avoided rewriting a bunch of code. The truth is, Scala is actually helpful with the architecture they came up with AND its great that it runs on the JVM.
I wonder if they would have done anything different, had JRuby been where it is now?