4 ms·
"Investors now want to know that you're not going to be paying tons and tons of money for servers because you decided to build in a stack that isn't as efficien
by jseifer 18y ago
"Investors now want to know that you're not going to be paying tons and tons of money for servers because you decided to build in a stack that isn't as efficient as possible," he said.
I've never used Scala and I'm a Ruby dev but I'm still not sure I totally agree with that. Scala is probably great and very efficient but you probably don't need to be thinking at Twitter's level out of the gate.
- tptacek 18y agoIt's also the case that headcount is far more expensive than servers.
- Tichy 18y agoStill, I worry that despite Ruby's niceness, a lot of time is spent developing around it's issues. Whenever I read about deploying Ruby, it just sounds scary. Memory munching Mongrels that have to be restarted on a regular basis? It sounds like a science in itself, whereas tomcat just runs and runs and runs. Less headaches == less headcount.
- cageface 18y agoThankfully these issues have been completely solved by passenger/mod_rails. Deploying Rails apps is now trivial and stability (at least outside of extreme loads) isn't an issue.
- rcoder 18y agoIf you know and like Tomcat, may I suggest you have a look at JRuby deployment for Rails apps? With recent versions of jruby-rack and the warbler gem, it's as simple as listing your dependencies in a config file, and then running 'rake war' from the top level of a Rails app to get a shiny new WAR file ready to drop into your Tomcat deployment directory.
- rcoder 18y agoA really talented sysadmin with good tools may be able to manage 100 servers; a great developer can optimize your algorithms to get an order-of-magnitude reduction in the number of servers you need. Eventually, more servers == more headcount.
- tptacek 18y agoNo other implication about Scala intended (Alex is very credible), but optimizing for lower hardware footprint at the expense of your hiring pool (by choosing a very niche language) seems like a bad trade. Won't every new developer who works on this codebase lose a week to two weeks becoming facile in Scala? Assume a 6 person dev team, and a conservative fully loaded $180k for a valley dev, and that's $43,000 out the window.
- silentOpen 18y agoHow big is the codebase for twitter? Are you limited by devs or production resources? You can also swap in Java components when you need to so, depending on the architecture, you may only need a small Scala team. Java devs are everywhere. You also win by acquiring easy access to Java libraries. Not saying Scala is the right choice... but there are big advantages besides "Scala is lighter than Ruby" -- and Scala is a lot lighter.
- jonknee 18y agoBut their move to Scala meant the Fail Whale went away and their investors were happy enough to sink many more millions into the company. Would it be possible to run a high-volume messaging system in Ruby? Perhaps. But why fuck around when the people bankrolling your company are getting angry?
- tptacek 18y agoHey you know what? Not making a case for Ruby here. Just picking one very small part of Alex's argument and critiquing it.
- dkarl 18y ago
- erlanger 18y agoI think that users care about speed as much as anything, and being fast cheaply is a competitive advantage.
- charlesju 18y agoHaving 2 RoR products in the time it takes you to build 1 Scala product is the true competitive advantage.
- rcoder 18y agoPlease read the original article. Nowhere in it (or the original talk) does Alex advocate using Scala instead of Rails for the things that Rails does well -- namely, interactive web page rendering. Within that niche, Rails does a fine job. For infrastructure and middleware code, however, Rails has little to offer other than the Ruby language, which has serious issues when applied to time + memory-intensive problem domains. I'm a huge fan of Ruby, and a (perhaps somewhat begrudging) user of Rails, but that doesn't mean I think they're the right solution to every problem.
- charlesju 18y ago"The trouble, he insisted, is that the so-called Web 2.0 languages aren't always as efficient as they need to be, especially in an economic environment threatening to bring Web 2.0 to its knees." I'm saying that is false, over-optimization is what brings startups to their knees.
- ankhmoop 18y agoWhy is it "over-optimization" to use language with a genuinely well-implemented runtime?
- erlanger 18y agoIf there's anything I've noticed over the years when building websites, it's that customers care a ton about speed. I'd argue that it's the most important feature, followed by design. The more responsive your interface, the better. Now, you shouldn't sacrifice key features to speed things up, and you shouldn't optimize your code from the get-go, but your product had better be fast. Google won because of good search results, but I remember that the first thing about the search engine that impressed me when I first tried it in 2000 was its responsiveness.
- patio11 18y agoSome of us have business models which do not require traffic the size of nation states and, accordingly, aren't exactly that intensive on the computational resources. My side business runs off of a $20 a month VPS. My day job routinely charges millions for software that runs on one to three commodity boxes. You'll forgive me if I don't consider "Has difficulty running Twitter" to be a knock against a language. I don't, after all, have to run Twitter.