Hacker News new | past | comments | ask | show | jobs | submit login

So, I've actually had completely the opposite experience using Heroku.

I work at a telecom company that heavily relies on python (and Django) for our front-end and backend--and processes millions of API requests per month.

Initially--we started out running our entire web stack on our physically colocated hardware. This was a tremendous pain for us, for numerous reasons:

- Investing in hardware requires lots of time to shop around, purchase hardware, and do capacity planning.

- It requires physical work (in our case, multiple trips across the US) to setup / provision / bootstrap our servers.

- Automatic maintenance (through puppet, in our case) required constant meddling to handle edge cases, and robbed us of hundreds of man hours in the process.

- Regardless of how excellent your puppet (or chef scripts) are, you will unquestionably have to do a lot of maintenance work to keep things running smooth through OS updates, new software releases, etc.

- Scaling up on hardware is a pain for small companies, as it requires so much time and supervision.

I made the choice to migrate all our stuff to Heroku after an enormous comparison of services available (we actually migrated to Rackspace for a while before Heroku), and finding myself completely unsatisfied with options.

Moving to Heroku was an incredibly great decision for us:

- Our operations time went from hundreds of hours per month to none.

- With our extra engineering time freed up, we released numerous new features in the following two months and doubled our userbase.

- The cost for running our web infrastructure dropped by a significant portion, not only because of engineering time saved--but also because it was incredibly easy to scale up (and down) our entire infrastructure when needed, as opposed to wasting money on static physical resources that can't be adjusted for need.

- Our bandwidth cost dropped to 0 (bandwidth is provided free on Heroku).

- We don't have to run any duplicate services, since we can rely on Heroku's load balancer, dyno dispatcher, fully managed databases, and monitoring (via newrelic).

- We have automatic (free) database backups via Heroku's pgbackup service.

- We can instantly add read slaves, test changes on duplicate masters, etc. (all for free).

In regards to the 'poor performance' mention in this article--since there is no data or numbers listed, I can only assume that the author didn't have any monitoring software or management software setup. I've found that using newrelic (a Heroku addon service) gives you more than enough detail and granularity to see how your dynos perform, which tasks take up CPU, which tasks take up memory, and how to properly handle capacity planning.

All in all--I feel like this is a good topic for an article, but that it seems to be poorly researched. Sure, hardware can outperform a cloud service if you compare a virtual dyno to a physical server--but at what cost?

- High upfront purchasing cost.

- Physical maintenance required.

- Operations work required.

- Must implement your own redundancy of services (backup load balancer, backup database, backup caching servers, etc.)--these all add extra hardware costs.

- Custom monitoring solutions must be implemented.

- No automatic recovery from faults.

- Large time investment to keep things running.

I disagree with the premise that 'The cloud is not for you.' I'd actually argue that the opposite is true.




You point out some obvious benefits of Heroku, but you're failing to see some of the truths:

There's no high upfront cost for physical machines. I paid no setup fees. I signed no long-term agreements.

I'm still using "cloud" monitoring solutions. In fact I'm running Scoutapp and it's extremely useful. In addition, I can actually access the machines and diagnose behavior. This is only limited with PaaS like Heroku of course

Very little time has been invested, and I invested much more trying to fit my problem into Heroku solutions, rather than the other way around.


> There's no high upfront cost for physical machines. I paid no setup fees. I signed no long-term agreements.

Presumable someone spent some time getting those machines up and running and ready to run your software? Installing an OS, configuring things, etc.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: