You Get What You Pay For
February 02, 2019
You Get What You Pay For
Score 10 out of 10
Overall Satisfaction with Heroku Platform
We use Heroku to host Java web apps, particularly RESTful web services that communicate using a JSON transport layer. It is used in our software development department for rapid deployment and prototyping of web services, as well as long term APIs that are provided for both internal software applications as well as customer-facing.
- Incredibly straightforward deployment processes with best-in-class documentation and getting started tutorials
- Great reporting and analytics
- Transparent pricing lets you get really good estimates on how much hosting will cost, so there aren't any surprises
- Easy to enable and disable plugins
- Autoconfiguration and "convention over configuration" for most features
- The vibrant community means it's easy to find out how to achieve various goals by seeing what others did
- Top notch support that fixes problems right away
- Relatively affordable given what value-added features you get
- Could be less expensive, although you get what you pay for
- Sleeping apps can be an annoyance: Heroku automatically puts your apps in sleep mode and they have to spin back up after periods of inactivity. Much of this can be solved but it requires working around the built-in functionality. I understand why they do it but it's an area that could be improved.
- Restrictions to server access means you can't customize as much as you could if you owned the server. But again, this is also a benefit because it's about convention over configuration. So you can't configure as much, but then, you typically don't have to.
Heroku is the more expensive option for hosting compared to some of the cloud platforms we investigated, but it's worth it for us because of the plug-and-play nature of Heroku deployment. We can be up and running in a few minutes and know with precision how much it will cost us each month to run the application, unlike Amazon Web Services where you have to go to great pains to configure it correctly or else you might end up with a shocking monthly bill. Overall, spending the time to configure Amazon Web Services or one of its competitors is likely the more affordable and powerful choice, because you have control over so many specifics of the configuration. But it also requires the burden of continuing to maintain and update your AWS instance, whereas with Heroku they take care of security fixes and platform upgrades. It's a great service and we are happy to pay the extra cost for the value-adds Heroku provides.
Well-suited for the vast majority of use cases where you don't need to do specific configuration, where server performance (RAM usage, etc.) is not tweaked to the nitty gritty, and where you have the budget to spend more on hosting in order to save configuration and deployment time. It's great if you just want to get something running and not worry about it.