Discuss Home · Bootstrapped Podcast · Scribbleton Personal Wiki · HelpSpot Customer Service Software

Will I end up in trouble with my landing page on Heroku free dyno?


#1

Hi all,

Is anyone here hosting their SaaS landing/tease page on Heroku free dyno? Is it fit for the task?

I put up a page for my upcoming SaaS www.upgradebooster.com. As you can see it’s just a static page, but as I’ve never hosted in Heroku before I have no idea how much traffic the free dyno can take.

So I thought to ask you guys first before making the official announcement. So if you’ve had any problems with free dyno landing pages, please let me know!

Cheers,
Jaana


#2

Not sure about Heroku, we don’t use that, but you could always run CloudFlare in front of it (a good idea for such pages anyway). If the site is fully static, you should also enable caching for the actual web pages in CloudFlare (else it only caches static assets such as images and JavaScript files on its edge servers, which wouldn’t reduce load on the actual page).


#3

If you are using only one dyno, it will sleep after one hour of inactivity. It will wake up on next http requst, but the boot-up will take few seconds and the user will experience latency.


#4

Have not used the free Heroku for that. Wanted to make sure you knew of

www.serverbear.com

which aggregates offerings for cheap (and also expensive) VPS servers and may have something you can afford and also not have the ‘sleep’ problem that the free dynos have. They also aggregate hosting coupons.

BTW you probably already have this on your list of things to fix but http://upgradebooster.com goes to godaddy


#5

For a purely static site I’d recommend hosting it on S3: you’ll have no problems with scaling and it will be cheap enough.

If you’re going to use a Heroku dyno then you might be ok but if your visitors are more than an hour apart then the dyno will sleep and I’m not sure how many people would wait for it to come up (I estimate it takes around 6-10s depending on the app). To get around this you can install the free New Relic addon and configure it to ping your app for monitoring purposes every minute, which will then keep it alive 24/7.


#6

Thanks everyone!

So it looks like I might manage with the dyno performance-wise, if I can handle the sleeping. And NewRelic + CloudFlare can help with that.

I also found this article to set that type of thing up, so it’s probably working: http://collectiveidea.com/blog/archives/2012/11/26/setup-a-high-volume-site-on-heroku-for-free/

I appreciate the VPS hosting advice, but I’m planning to go with Heroku at first. I just don’t have extra time or money for server maintenance.

I’m just trying to delay buying the extra dynos until the actual launch is nearer.

Thanks again, I really appreciate the help!


#7

Seems weird that there wouldn’t be a free/cheap static web host that let you use your own domain. Not saying you should swap horses midstream or anything.


#8

Heroku is great, you don’t have to worry about the infrastructure.

I’m hosting my rails project on DigitalOcean VPS – It’s definitely a lot more work than hosting on Heroku, but now I don’t have to worry about the configuration of my rails app turning slowly into heroku-only. (and it’s probably a very minor issue)

I like to worry about the infrastructure, that’s why I’m using VPS :smile:


#9

I’ve never done this myself, but it’s possible to host a static page on Amazon S3. Pros: pages should serve up fast and scale to infinity, you’ll probably spend pennies per month. Cons: fiddly setup.

I’ll probably do this for the next landing page I set up, so if I do, I’ll report back. If you end up using the method, let us know how it goes.

Amazon how-to: http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
Non-Amazon how-to: http://chadthompson.me/2013/05/06/static-web-hosting-with-amazon-s3/


#10

I host Snip on Heroku and I left it on the free, one-dyno plan for a super long time before I bothered to read about the drawbacks, like the “going to sleep” problem. It never ended up being a huge issue for me, though.

One thing I would recommend giving attention, maybe not now for you but at least at some point, is your database plan. I remember there being some significant differences between Heroku’s production-tier database plans and the free one. For example, I remember the free database plan having a storage limit and, don’t quote me on this, but I think the free tier might not be back-up-able, either. So again, that might not be relevant now, but I myself wish I had been aware of those things earlier.


#11

Thanks everyone!

Jason, that was most interesting and you aren’t the first I’ve heard of who’s running a production app on free dyno.

I used to work for a large company who had arranged infrastructure really well. We had automatic testing, deployment, backups, monitoring/profiling tools and all. I’m used to have that and appreciate it enough so I want to have a reliable infrastructure for me and my future customers too. I really hope Heroku will deliver.

At the end I’m planning to have the sales/landing page on separate server, probably on WordPress (it’s part of the rails app now).


#12

A bit late to the party but my company website lives on a single heroku dyno and can handle being the top story on both HN and /r/programming without breaking a sweat (though as @patio11 mentioned at MicroConf, this isn’t a huge amount of traffic, around 70,000 uniques in one day overall).

I do a couple of things to help it along.

  • For all blog posts, set the cache-control header to public; max-age=3600 so that anything between me and the readers that cares to has the OK to cache each post for an hour. This post by Ryan Tomayko of Github is a great primer on HTTP caching in general.
  • Set up a cloudfront distribution that points to my app as the origin, and then use the cloudfront domain for all my asset (css/js/img links). This cuts down drastically on the work the heroku dyno has to do, bringing the number of HTTP requests per page view down from say nine or ten to just one. More details on how I do this with Rails here.

Hope that helps!


#13

Our landing page (http://travis-ci.com) runs on Heroku, currently with a single dyno, just like the rest of our entire stack (though that part involves quite a lot more dynos :slight_smile:

Works a treat, and it’s only a small and fast Sinatra application.