Ruby developer. CTO. Swimmer. Always trying to write more
I’ve mentioned this a few times in conversation recently so it probably deserves a blog post. Heroku is the go-to host for Rails applications but there are often complaints about how expensive it is. What these startups don’t realise, is that their chosen business model has limited their hosting choices.
Heroku is free to play, but you’ll only be able to serve one user at a time and you’re app will be suspended after a period of inactivity. I’m guessing that won’t really suit your new startup? No problem, just add another ‘dyno’! That’ll be $40/mth. Now you can serve two concurrent users. Oh, wait, you need to send emails in the background too? That’ll be another $40/mth. And perhaps now you’re getting complaints from new users about the service being too slow… that’s another $40/mth, and another, and another. Oh, and that database is probably slowing down now, and maybe you need more space. That’ll be another $50/mth. It’s really easily to have hosting bills in the $200-$500/mth range, and a lot more.
Now, I’ve glossed over some details (with the right setup, each dyno can serve a few concurrent users) but the point is clear: hosting costs on Heroku can get really expensive, really quickly.
But I’m not here to complain about Heroku’s costs. There are cheaper alternatives and you can host your app on a VPS if you have the knowledge, skills and time. It’s a trade-off. I’ve personally used Linode and I love them, but it takes a lot of time to manage the servers.
Let’s talk about the sorts of businesses which are ideal for Heroku, and which are going to need cheaper solutions.
The point isn’t really about the revenue per user, it’s about how that revenue scales with the server load. It’s obvious that a business isn’t going to survive when the costs outweigh the revenue. Most people are smart enough to see that outcome. But in order to balance the book, they have to opt for cheaper hosting methods. They baulk at the pricing of Heroku and complain that “no business could possibly afford Heroku”. That’s clearly bollocks.
You can afford high-cost hosting if your revenue scales with it. You can afford premium hosting if the nature of the application isn’t one that places a constant load on the server. There isn’t a universal right answer when choosing a hosting provider but it’s important to understand the constraints that your business model places on this choice.