Live data from Hacker News

Heroku Isn't for Idiots

rdegges.com

41–50 of 63 posts

Re: Heroku Isn't for Idiots

#41
post #39

Earlier quoted context omitted.

That's people , not requests. :)

Is your graph showing concurrent (as in active connection) users?

The graph shows http requests, each individual person sends 'event.general...' requests approximately 2x per minute.

In the last minute ~460,000 of those requests were made which means somewhere around 230,000 people sent data although there's room for that to be higher or lower depending on sessions starting, sessions ending, and just what period of time you want 'concurrent' to live within.

Re: Heroku Isn't for Idiots

#42
post #27

"Each instance (Heroku calls them dynos), has: 512MB of RAM, 1GB of swap. Total = 1.5GB RAM. 4 CPU cores (Intel Xeon X5550 @ 2.67GHz)." That is very interesting. So you get 200% of the CPU from a c1.medium but only 1/6 that memory? For 1/8 the price that Amazon charges? Maybe this is a the new math I keep hearing about.

I would guess that Heroku runs ~29 dynos per m1.xlarge, so each dyno gets a minimum of ~1/7th of a core or ~366 MHz. Just because you can see 4 cores doesn't mean you can use them.

One day I noticed that Heroku gives you access to netstat, so I started trying to figure out the actual number.

Running this:

    heroku run "netstat -l | grep lxc | wc -l"
...seems to imply that it's actually 100 ± 25 dynos per instance.

(It's possible I could be entirely misunderstanding the netstat output, in which case someone please speak up.)

Re: Heroku Isn't for Idiots

#44
post #5

I love this post, and hope it keeps coming up. Some day, developers will learn that even though they could do it as well as Heroku, given enough time and effort, it's just a lot cheaper not to! This comes up all the time with my company. We make hosted Continous Integration ( https://circleci.com ), and often hear "can't I just set up Jenkins?". And the answer is the same, "you could, but ...". Run it on EC2, where y…

The persistence scaling story for Heroku seems pretty questionable to me. Once you've maxed out what they offer for MySQL and Postgres, what exactly are you supposed to do? Start using EC2 RDS? Heroku seems to be like a more useful Google App Engine, a good place to host a blog or experimental project if you're not into dev-ops. If you have a knack (at all) for dev-ops, you're not saving yourself anything. The downti…

There are definitely reasons that you would want to be on your own managed metal infrastructure, but let's not exaggerate so much and say that it's only use is for blogs and experimental projects. Why do people have to always be so extreme to try and make a point?

There are a ton of real sites that never see more than a couple hundred thousand visitors a month. E-commerce sites, mobile APIs, SAAS apps, etc. I've used Heroku for higher traffic sites than this without any issues at all. Incredibly easy actually.

Saying it's only good for your hipster blog? C'mon man really? Have you even done anything commercial / critical on their platform?

Re: Heroku Isn't for Idiots

#45

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", ther…

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.

Re: Heroku Isn't for Idiots

#46

Earlier quoted context omitted.

heretotroll: Heroku provides plenty of tunable capacity.

Considering their only support for sharding or replication is their async read-only slaves mechanism, I'm going to assume you don't know what you're talking about and think the difference between "1/10th of an overloaded EC2 machine running postgres" and "a whole slow EC2 machine running postgres" somehow constitutes "scalability".

Cool bro.

Who said I'm using postgres? And if you don't like the postgres setup, sure, roll your own. EC2 has those badass SSD instances for you.

Apps' that need more capacity then what Heroku offers can surely drop the dev-ops dollars. Until then, why waste your time?

Re: Heroku Isn't for Idiots

#47
post #45

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", ther…

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.

Re: Heroku Isn't for Idiots

#48
post #12

Earlier quoted context omitted.

> The persistence scaling story for Heroku seems pretty questionable to me. Agree. Those people who tell horror stories about Heroku/EC2, usually give solid numbers, i.e. this was how much I spent, this is how much I save by moving away, and our response time is now X% faster. On the other hand, we have article like this that shows pretty graph for a web app serving 16.2 requests per minute, and make bold claims that…

Here's my pretty graph for serving ~500,000 requests per minute on Heroku: https://api.playtomic.com/load.html Savings aren't exclusively because of Heroku, I also switched the underlying architecture during that migration from C# / ASP.NET to NodeJS which is exceptionally well suited to what I'm doing there. Previously: Dedicated servers, ~$1600 a month 8x dedicated servers at ~$200 each, each running 3 to 5 instanc…

Your app isn't "serving" anything up, it's an event API. 100% different use-case than what I was talking about.

Re: Heroku Isn't for Idiots

#50
post #44

Earlier quoted context omitted.

The persistence scaling story for Heroku seems pretty questionable to me. Once you've maxed out what they offer for MySQL and Postgres, what exactly are you supposed to do? Start using EC2 RDS? Heroku seems to be like a more useful Google App Engine, a good place to host a blog or experimental project if you're not into dev-ops. If you have a knack (at all) for dev-ops, you're not saving yourself anything. The downti…

There are definitely reasons that you would want to be on your own managed metal infrastructure, but let's not exaggerate so much and say that it's only use is for blogs and experimental projects. Why do people have to always be so extreme to try and make a point? There are a ton of real sites that never see more than a couple hundred thousand visitors a month. E-commerce sites, mobile APIs, SAAS apps, etc. I've used…

So Heroku is good for higher margin sites. You couldn't run Facebook, because the value of each customer is marginal, and they are expensive customers.

You could host a B2B app no problem, because they are paying (high margin) customers, and will probably not use too many resources.

Post reply on HN