Ask HN: Heroku or VPS?

17 points by marcamillion ↗ HN
Here are a few considerations...I am just learning programming and am bootstrapping. My app will be accepting file uploads. I am a fairly quick learner - e.g. just learnt Rails 6 months ago and am about 90% complete with the app (despite doing everything myself including product decisions and UI/UX development).

I would like to be able to backup all user uploaded files in at least 2 (preferrably 3) CDNs/Hosts. I am getting familiar with the command-line on OS X, but running my own VPS would definitely be an initially steep learning curve.

Especially getting the regular 'Rails' support software installed and configured properly (i.e. Passenger, Nginx, Capistrano, etc.).

I also am not flush with cash, given that I am bootstrapping.

I would love to hear pros and cons for both - given my situation.

11 comments

[ 443 ms ] story [ 3773 ms ] thread
I vote that you roll with Heroku until you feel so comfortable with the Passenger/Nginx/Capistrano that you're frustrated with the amount you're spend at Heroku because you feel like you could do it yourself.

Point is you have enough to worry about, don't get a VPS till you HAVE to.

Start off with Heroku. It's free to get started with just 1 dyno, and you don't need to worry about VPS administration or installing Passenger/Nginx/Capistrano. Another benefit, since you will be handling user uploads, is that you can use Amazon S3, since Heroku runs on Amazon's platform. (see http://docs.heroku.com/s3)

You can always move parts of your app off Heroku if you start to outgrow it.

I was thinking about that, but what is the upper limit - in terms of monthly recurring users - you think for their free version?

I guess I am trying to balance the free cost, with the cost of switching 1 month after launch because I have exceeded capacity. Wouldn't it make more sense to just do that from day 1 ?

I am just simply thinking out loud, and would love to be corrected where I am wrong.

(comment deleted)
Free accounts have a very small database. That is your first real constraint. Number of users won't be a factor before hitting database limit.
I'm a bootstrapper myself and not a techie. After trying to set up a VPS myself, the value of Heroku was a no-brainer. Developer time is expensive, so why have a coder be a sys admin, too? Build on Heroku, and it'll be easy-ish to migrate if you need to.
Just get a VPS with an outfit like MediaTemple. You can start off with their cheapest and move up as you need.
My VPS is $6 a month for great stats and limits, but I'd still hit Heroku on the free to get rolling and worry about scale later. If you build something successful, migration shouldn't be a huge pain.
If you allow user uploading files, i'd suggest you get started with Amazon S3, as once the number of uploaded files grow big, your slice storage might not be able to fit.
It depends on your skill level and time you have. I personally prefer a VPS for the sake of control + the fact that you could possibly host multiple apps on it for the same price. I also use Heroku but generally only for testing/dev. I love the fact that I can deploy an app in 5 mins.
Heroku's is really easy. But it's got some quirks (that seem to get fixed very quickly, but that may change with their new corporate overlords). It's also really expensive. In my experience, it's not as reliable as it needs to be either. (It's not much fun to tell a client that that bizzaro error page that intermittently shows up is Heroku's problem and there's nothing I can do about it). Make sure you look into SSL on heroku before committing.

But the dial up scaling is nice. As is the very quick setup and minimal config.

I use Slicehost most of the time. Setting up a basic passenger/nginx/rails/mysql server is not that hard once you figure it out. It takes me about an hour to do it manually. So I'd learn - it won't take long to make it worth your while with Heroku's prices.