Overall Satisfaction with Heroku
We use Heroku as a staging platform and to host our admin tool. It allows for us to quickly deploy something for testing without worrying much about the infrastructure we are deploying to, or having to worry about software updates for critical services like Redis or our Postgres database.
- Heroku's deployment process is very painless.
- Heroku does a great job of making system/infrastructure upgrades painless and transparent.
- Heroku's CLI toolset is well built and puts all of your app's info, settings, add-ons, logs, etc, right at your fingertips.
- Heroku does not offer a very wide range of dyno sizes - it would be nice to be more flexible about how much RAM or CPU each dyno consumes.
- While Heroku is well engineered for deploying certain common types of applications, it can be tricky to deploy more esoteric or uncommon configurations (like Rails + Node.js at the same time).
- Heroku is more expensive than handrolling your infrastructure on AWS, for instance, but the ease of deployment and the ability to get up and running without any hassle or real thought about "how does this work" makes it absolutely great when you can afford that luxury.
- Heroku's uptime has been pretty stellar but occasionally they experience outages (although still maintaining 4/5 9s of uptime), but when they go down there's not much to do but wait.