Ask HN: Hosting a Ruby on Rails app
I'm thinking about going with Ruby on Rails for an app I'm building and was wondering what people's experiences were as far as hosting. I don't have the money for dedicated servers so I'll be going with a shared plan.
Has anybody had any regrets after going this route?
I've read that Rails doesn't perform so well in these types of environments. Is it something to worry about when I'm still small or only if my app becomes very popular?
I saw HostingRails.com had a special offer for their Stacked plan. Has anybody used them and can provide feedback?
8 comments
[ 1766 ms ] story [ 158 ms ] threadI haven't used Heroku, but then I haven't deployed a 'small' rails app since before Heroku started.
Edit: Also, make sure you're using Ruby 1.9.x - this alone will give you a bunch of extra performance to allow you to run more users on the same configuration at the low end
It's dead simple, just runs (most of the time), and is zero cost until it starts getting substantial traffic.
If you need to start an app on a cheap or free service, and then it succeeds, you should try to look 2 steps ahead for your move to take into account the data moving problem. The good news with Heroku is that you can just keep adding capacity while you work this out.
There are hosters out there - Engine Yard is well known in the Rails world - who can help you do this if you don't want to run stuff yourself. I've used a company called Bitpusher in the past as well.
At some point though, you will want to bring this in-house as it grows. If only for the cost aspect. Owning your own hardware and employing your own ops people will be cheaper than paying someone else. This is probably a long way into the future for this specific case.
Also, if hosting/scaling becomes an issue, you might look at running your app under JRuby and hosting it using a Java app server. There's some overhead in learning about configuration, and such, but it can solve certain problems.
I've been using Railsplayground as a staging server, and while it works OK (though there's near zero load on it) I had stuff break because they decided to upgrade from Ruby 1.8.6 to 1.8.7. Plus, there's no `screen`, for example, which makes things a little harder than they need be.
Not being root means you have to live with other people's decisions.