Hacker News new | ask | show | jobs
by benologist 5037 days ago
I also save significant time and money using Heroku and it's awesome being able to scale up and down automatically using HireFireApp. Most of this article rings true with my experience however some of it doesn't feel that valid for me having a high volume NodeJS app, not to mention the entire "Let's talk about bad ideas" section is just lame.

1) If your app crashes it takes ages to restart dynos "automatically", there's nothing at all instant about it and if it's a bug and you have a high volume of requests it's going to hit every dyno which means you are offline.

2) Performance can be variable and it can be hard to be sure an optimization has done anything. This will be easier when New Relic supports NodeJS but right now you're stuck using less elegant solutions. It is shared hosting and it's not necessarily anybody's fault if something is slow, and I know this because the same requests frequently have orders of magnitude difference in response time for me.

    dyno=web.10 queue=0 wait=0ms service=3ms status=200 bytes=25
    dyno=web.7 queue=0 wait=0ms service=207ms status=200 bytes=28
Between Heroku and NodeJS I run my API server usually on just 8 dynos doing 6,000 - 10,000 requests per second and having come from C# and dedicated Windows servers it is a dream - nothing to maintain and easy deployment and easy debugging on Heroku's side, and NodeJS is just amazing once you start realizing what's possible with it.
2 comments

I use Hirefire as well for several sites. For the most part I like it, however it can be awfully slow to react to traffic spikes. I highly recommend leaving a bit of a buffer (few extra dynos) during prime time traffic.
You are completely correct, the default settings are not good and it will aggressively scale your app down too far if you let it.
Can you shed some light on how you are using HireFireApp with node.js? I thought this was only good for Rails/rack frameworks.

Maybe I misunderstood and your main app is rails with some of the other functionality in node.

I couldn't get it to work initially, it just would not recognize my app at all and I couldn't add it.

I sent an email and got sent to this new link (not sure if it's launched) which I believe covers the entire Cedar stack rather than anything particular to NodeJS, it pings a provided URL.

http://manager.hirefireapp.com/

Awesome. I'll check it out.