Live data from Hacker News

Thank You Heroku, or "How To Eliminate Sysadminning"

blog.dougpetkanics.com

21–30 of 66 posts

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#22
I'm intrigued by Heroku (and EY Cloud), but the thing that really freaks me out is how they charge for every little extra thing. I love the idea of a turnkey solution for Rails deployment and cloud scalability, but for me personally I don't think I would do a startup on it because the value proposition is squeezed from both sides.

On the low-end I can get a VPS for $10-$20 month and get a Rails app up and running for a significant number of users with just that modest outlay. I can install SSL and any software I want and have a predictable amount of resources to play with. Yes, there is some sysadmining overhead, but setting up Nginx w/ passenger is like an hour of work once you've been through it a couple times, and similarly a lot of the add-ons that Heroku charges a monthly fee for are just a small one-time time investment. When I'm trying to bootstrap something really small the last thing I want is ramping up a significant recurring cash costs just to run some open source software that is really not hard enough to setup or maintain to justify recurring costs.

On the high-end when I'm using a lot of server resources, I'm paying a growing premium for a given amount of resources. Now don't get me wrong, it's nice to be able to magically adjust for traffic spikes, but if I have a consistently high amount of traffic, once again I'm paying a high recurring cost for actual resources that are a fraction of the cost, especially if I need any add-ons which are not inherently resource-intensive—maybe I'm actually just paying for SaaS of essentially open-source components. Actually I have this problem with EC2 and S3 in general to some extent, though much less so than with Heroku because the markup is lower and I've still got a large degree of control.

The benefit of Heroku is that they maintain an up-to-date and well-tuned Rails stack w/ add-ons on top of EC2. There is definitely value there. But in all cases there is this downside of overhead and flexibility. The clincher for me is that ultimately Heroku may end up not supporting something I need that would be trivial open-source stuff on any UNIX VPS. At that point I will need to migrate off of Heroku and all those supposed sysadmin costs hit me full in the face all at once rather than being amortized over the life of the project. Maybe I'm just turning into a cranky old man (at 31!), but VPS or dedicated servers still seem like a better value considering all risk factors. If I had VC money and was trying to ramp something up really fast I might reconsider.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#23
post #14
post #8

Earlier quoted context omitted.

Why would one need this for PHP? Isn't PHP already pretty much upload and go?

You would want it for the same reason you would want it for any other language. "upload and go" is a convenience feature of Heroku, not it's reason for existence. It does make it easier to deploy Ruby apps but, again, it's not the reason it exists.

What is the reason for it then? Scaling? But you still have to work on those nasty sql queries. Too bad it doesn't support any nosql database.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#24
post #17
post #3

Earlier quoted context omitted.

You're definitely correct about the first statement. It should be revised to "Heroku has a strong history of very little downtime." Regarding the second though, I truly believe that the cost + time savings are tremendous from using their platform vs administering your own early on in a startup product lifecycle.

In a perfect world heroku would be the ideal "pay later" option. I.e. you start out with them and once you outgrow their platform you simply hire the sysadmin then , and make him transplant the beautifully clean rails app onto your own infrastructure. Except... reality is harsh and ugly. You want the guy with the sysadmin foo on your team from as early as possible. Because if your thinking goes along the lines you ju…

Will you HN-marry (found a startup with) me? :)

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#25
post #12
post #7

Earlier quoted context omitted.

Is GAE not that?

No. There are a number of some pretty serious restrictions. I would _love_ something like Heroku for WSGI applications. Ian Bicking is working on something similar, not as high level with his Silver Lining project. http://bitbucket.org/ianb/silverlining/

A couple of months ago I explored building a Django-friendly Heroku clone. I white-boarded out the architecture, estimated how much work would be needed for all the pieces, and built a spreadsheet revenue model. It's an interesting and attractive business, but I'm only one man and my C skills are rusty (really, really rusty). I couldn't get myself to a point where I could deliver a product for at least a year, and I want to be ramen profitable before that.

My current focus is to look at the plethora of excellent SaaS applications that help provide the whole Rails ecosystem, then turn around and do the same for Django, with an eye towards expanding to handle other Python frameworks, and then into the Java space.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#26

Anyone have experience with this vs amazon AWS? (amazon seems to be cheaper)

They're very different things.

EC2 is bare Linux; you install apache/passenger/REE/memcached/postgres/etc/etc/etc. If you want to scale past one server, you're on your own there. You take care of backups, security, system monitoring, etc.

Heroku is a platform that abstracts you from these things. You just push out your app, tweak a dial or two on your Settings page, and they take care of everything else for you.

If you want CPU-by-the-hour, go with EC2. If you want to host a Rails app, go with Heroku.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#27

Anyone have experience with this vs amazon AWS? (amazon seems to be cheaper)

They're very different things. EC2 is bare Linux; you install apache/passenger/REE/memcached/postgres/etc/etc/etc. If you want to scale past one server, you're on your own there. You take care of backups, security, system monitoring, etc. Heroku is a platform that abstracts you from these things. You just push out your app, tweak a dial or two on your Settings page, and they take care of everything else for you. If y…

Edit: this guy shouldn't be downvoted. He asked an honest question (what's the difference between Heroku and AWS) - unless I'm missing something, he isn't trolling. No need to vote him down.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#28

I tried installing spree the other day, a rails shopping app, and I gave up after entering gem dependency hell and the no local file policy. Went faster on my own server with nginx+passenger.

Exact same experience yesterday. Weird.

You will. Heroku has three big limitations that can make your app a no-go there.

The first is only hourly cron tasks which means doing sweeping every 15 minutes is not possible. Not terrible, but sometimes a showstopper if you're trying to do background tasks frequently.

The second is that it's a read-only filesystem which means you either don't use the filesystem for your work, or you use S3. S3 is great, but is another service you need to monitor and pay for. You also will need to employ other solutions to compress CSS, JS files, or to create a cache.

Third, there's no shell. There's a console, like the Rails console, but you're not going to be setting things up yourself.

Heroku is a heck of a platform. I run tons of stuff there, even on the free plans with no problems. However, the limitations can be showstoppers for you depending on 1. how much hackery you want to do and 2. if it's even possible.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#29
post #7
post #6

Is there something like heroku for django apps? :)

Is GAE not that?

No. Heroku allows one to push virtually any existing Rails project their infrastructure and have it just run. That's impossible on Google App Engine due to major differences in their datastore (different API and it's lacking features for better performance) as well as other things like limits on how long a request runs.

Re: Thank You Heroku, or "How To Eliminate Sysadminning"

#30

I tried installing spree the other day, a rails shopping app, and I gave up after entering gem dependency hell and the no local file policy. Went faster on my own server with nginx+passenger.

Though they just fucked it up in the betas by depending on rubygems-1.3.6, it's not so hard to get it running on Heroku. You run the rake tasks to copy the public directories from extensions to the root one locally before pushing, you pre-cache the generated CSS (not a problem in the betas, they eliminated sass), and setup asset image uploads to go to S3.

The real problem with hosting Spree on Heroku is having to spend $100/m for an IP for SSL. The actual cost for setting up ELB instances to get extra IPs for SSL is $20/m. That's a problem when you want to set up a bunch of differently branded storefronts. It's the main reason why I'm doing DIY with http://github.com/wr0ngway/rubber/ instead of using Heroku for the spree project I'm working on right now.

Post reply on HN