Great for small teams starting out, but plan on migrating away eventually - it comes at a cost
September 29, 2015
Great for small teams starting out, but plan on migrating away eventually - it comes at a cost
Score 6 out of 10
Vetted Review
Software Version
Cedar
Overall Satisfaction with Heroku
I've used Heroku at several different organizations, as well as for personal projects. Generally it's been with teams of 4 people or less, I've used it in an organization with ~20 people.
- Simplicity. You won't find an easier way to get an application deployed, so if TTM is super-critical, it's a good choice.
- Because it's so simple, it doesn't require any dedicated DevOps development, which is a cost benefit.
- Adding additional "add on" services is also easy - need search? Need Redis? Need Analytics? Just click a button to activate it.
- Cost. Heroku is somewhat affordable for small applications and teams because it frees up developers from DevOps work, but quickly becomes very expensive when you scale your application and team to support more users on your application.
- Lack of transparency - if Heroku has an outage, you often get little more status than reports of increased error rates, but the issue has been resolved.
- Lack of customization - sometimes you need to ability to change your environment more than Heroku allows, and because you don't have a true server that you can get to a command prompt for, your options can be limited.
- Greatly improves TTM, especially with smaller teams, by allowing developers to work on core features rather than devops.
- Heroku's shortcomings eventually led to us migrating off from the platform, which (in my experience) is surprisingly common. This migration was expensive and took a substantial amount of time.
- EngineYard is much more similar to Heroku than the other two services I've compared it to. Frankly, I don't see much advantage of EngineYard over Heroku - EngineYard feels a little more "bare metal" than Heroku and it's easy to get to log into a "real server," but it's generally more expensive than Heroku.
- Heroku is vastly simpler to set up than AWS even though Heroku leverages AWS as its own backend. In my experience, Heroku's uptime has been lower than AWS because Heroku's routing infrastructure is a point of failure that you don't incur on raw AWS.
- Setting up everything yourself on a service like DigitalOcean (or Linode or a raft of other similar services) is the hardest route, but it's the most customizable, the most transparent, and (in the long run) the least expensive.