A client recently asked me whether we should deploy their product on Heroku or another platform.
The two app companies I worked at both started on Heroku and within less than 2 years migrated off because of ballooning costs.
In almost all cases, we use either Heroku or AWS. For context, I am assuming you want to launch a new product within an early stage company that’s capable of running on Heroku.
I think Heroku is the better platform for your initial launch. Here’s why:
- It’s flexible and can grow with you. If you were looking for office space when starting out, would you get a 1-person office at a coworking space, or sign a 10-year lease on a commercial space? As you grow, your own office space will make more sense.
- Lower launch costs. There are two types of cost: platform costs and development costs. Platform costs include your monthly Heroku bill + add-ons. Development costs are what it takes your team to deploy the app and keep it running smoothly. This takes minutes on Heroku and potentially weeks on AWS. So the initial cost to launch is most likely cheaper.
- Infrastructure is a scaling problem. Focus your development resources on getting to product/market fit as fast as possible before optimizing hosting. And if hosting costs are breaking your business, there’s probably an issue with your business model.
- Infrastructure Risk. When you deploy on AWS, you manage the infrastructure and take on more risk to keep the app running. Heroku manages more of the stack, so you have less to worry about.
- Moving from Heroku is easy. It’s more constraining than AWS, so a future move from Heroku to AWS is much easier than a move from AWS to Heroku. You don’t have to stick with it forever. You can launch a closed beta on Heroku, iterate, and migrate to another platform before your million-user launch.
- Heroku bills everything by the second, so you can enable expensive add-ons like NewRelic for a short time (say a day) to diagnose and fix an issue and then downgrade to the less-expensive plan.
When to Leave Heroku
If you want to leave, I’d say the right time is when your monthly hosting costs equal what a full-time DevOps engineer would make. So roughly $10,000 per month.
Heroku (and similar platforms) allow you to focus on your product over your infrastructure and are most likely cheaper initially when you factor in both the platform costs and the development costs to get up and running.