Live data from Hacker News

How We Went from 30 Servers to 2: Go

blog.iron.io

1–10 of 511 posts

Re: How We Went from 30 Servers to 2: Go

#3
Out of curiousity, I would be interested to know which version/patches of ruby you were using. With ruby I'm used to running out of memory on servers long before running out of CPU. Of course, most of our workloads are IO bound, so that may be the diffent.

Re: How We Went from 30 Servers to 2: Go

#5

Out of curiousity, I would be interested to know which version/patches of ruby you were using. With ruby I'm used to running out of memory on servers long before running out of CPU. Of course, most of our workloads are IO bound, so that may be the diffent.

    while true; end

Re: How We Went from 30 Servers to 2: Go

#7
For large projects, it'd probably make more sense to rewrite the critical code sections in C. rubyinline makes this really easy, and ruby C extensions aren't that bad either.

One time on a contracting gig I had some code that was interacting with cairo drawing and imagemagick. They didn't have a compatible raw image format at the time (one was RGBA and the other was ABGR, IIRC.) It's trivial to convert between the two in ruby, but it was taking 60 seconds per image. Once I switched that one loop to C, it took 0.02 seconds.

I've got nothing against Go, just suggesting an alternative that might make more sense in some situations.

Re: How We Went from 30 Servers to 2: Go

#9
post #2

Excellent success story with Go. Love this quote... "We also weren't sure if we would be able hire top talent if we chose Go, but we soon found out that we could get top talent because we chose Go."

That's really obvious but overlooked. Developers just looking for their paycheck will only have learnt the established languages.

Developers who enjoy their profession will look to the future, excitement gleaming in their eyes.

I've heard of business developing in Haskell a good amount of success. I suspect, for the same reason.

Re: How We Went from 30 Servers to 2: Go

#10

Out of curiousity, I would be interested to know which version/patches of ruby you were using. With ruby I'm used to running out of memory on servers long before running out of CPU. Of course, most of our workloads are IO bound, so that may be the diffent.

This was on Ruby 1.9, 2010 era. No patches. Memory was definitely a concern and probably contributed to some of it. Just to note though, after a machine was taken offline by the load balancer, it would generally come back to life.
Post reply on HN