Live data from Hacker News

Clearing up some things about LinkedIn mobile’s move from Rails to node.js

ikaisays.com

11–20 of 33 posts

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#11
This is a great post for validating management concerns about pulling in sexy new technologies for the hell of it. Every place I've worked I've been unable to convince management to use e.g. Rails (5 years ago) or node.js (recently). Even though I love these technologies and wish I'd had more time in full-time employment to learn and play with them, I understand and appreciate the risks implicit with adopting a shiny new technology in your company's IT dev/production environments.

It's also a great post illuminating how in hindsight some things can be really obvious (that building a high capacity web service dependent on a single-threaded server will give you problems down the road), but at the time it's not always easy seeing the woods for the trees.

For me though, the big takeaway was that one line summary: "You’re comparing a lower level server to a full stack web framework." Node.js has a pretty nice library/module ecosystem now, but for a complete full-stack solution with maximum productivity I would venture that there is nothing out there that compares to Rails currently.

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#12

> And those requirements kept growing. If my calculations are correct, the standard setup for engineers now is a machine with 20 or more gigabytes of RAM just to RUN the software. Close. In 2011, all the engineer desktops got upgraded to 36Gigs. At the time, the eng department still hadn't figured out how to deploy without duplicating hundreds of jar files everywere.

Wow, that sounds like fun. What exactly is in the LinkedIn stack that requires so much memory?

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#13
post #10
post #7

I met Ikai through the Silicon Valley Rails Meetup, which I co-hosted back in 2008-2009 and which met at LinkedIn HQ in Mountain View. This post is a great contribution to the recent discussion about Rails at LinkedIn, and I hope it gets the attention it deserves.

Hey Michael! Was there a recent discussion? I'm fairly certain everyone has moved on from Rails, and I'm not sure if they're still using it anywhere at LinkedIn. There are a few folks using JRuby, but I believe they're using Sinatra: https://www.google.com/search?q=jruby+sinatra+linkedin

I haven't been back in a while, so I've got no inside information. But it's great to hear from you!

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#15
post #11

This is a great post for validating management concerns about pulling in sexy new technologies for the hell of it. Every place I've worked I've been unable to convince management to use e.g. Rails (5 years ago) or node.js (recently). Even though I love these technologies and wish I'd had more time in full-time employment to learn and play with them, I understand and appreciate the risks implicit with adopting a shiny…

This is a great post for validating management concerns about pulling in sexy new technologies for the hell of it.

At the end of the day, the Rails stuff got the job done. LinkedIn stayed up and was able to grow and add mobile features during that time. The current solution, the node.js stack, is even newer than Rails. So no, I don't think this validates management desires to stay with old technology.

It's also a great post illuminating how in hindsight some things can be really obvious (that building a high capacity web service dependent on a single-threaded server will give you problems down the road), but at the time it's not always easy seeing the woods for the trees.

Um, the new solution is single-threaded too. Threading and concurrency are not the same things.

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#17
post #11

This is a great post for validating management concerns about pulling in sexy new technologies for the hell of it. Every place I've worked I've been unable to convince management to use e.g. Rails (5 years ago) or node.js (recently). Even though I love these technologies and wish I'd had more time in full-time employment to learn and play with them, I understand and appreciate the risks implicit with adopting a shiny…

> This is a great post for validating management concerns about pulling in sexy new technologies for the hell of it.

But their old technology is requiring towers with 36GB of RAM. It seems like more of a choice between the devil you know vs the devil you don't. Obviously there needs to be a cost-benefit analysis even if it's imperfect. Otherwise you'll get stuck in a local maxima and before you know it you're paying $10 per million cycles of a mainframe running batch COBOL jobs maintained by old men who are dying faster than you can replace them.

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#18
It's definitely true, that node.js isn't a full fledged framework, but I still wrote several projects using it and you know what? I don't regret it, as much as I don't regret my move from C++ to C over the past years. And for the memory usage: Yes, even my biggest project never needed more than 100MB of RAM (when not using the cluster module).

But I completely agree with "the rewrite thing". I guess the other factors made it necessary to still do it....

Re: Clearing up some things about LinkedIn mobile’s move from Rails to node.js

#19
post #12

> And those requirements kept growing. If my calculations are correct, the standard setup for engineers now is a machine with 20 or more gigabytes of RAM just to RUN the software. Close. In 2011, all the engineer desktops got upgraded to 36Gigs. At the time, the eng department still hadn't figured out how to deploy without duplicating hundreds of jar files everywere.

Wow, that sounds like fun. What exactly is in the LinkedIn stack that requires so much memory?

Nowadays I get OOM while running only FireFox and Netbeans - and I am not even running software I develop on my box :P
Post reply on HN