Mostly I’ve been surprised that people considered Heroku as an option for serious projects.
If Heroku needs to upgrade Postgres or similar your application goes down for 10 minutes. No chance to do your own a DB pivot.
You can’t control the routing layer or customize your haproxy or nginx configuration. So you’re tied to whatever Heroku thinks your buffer size, your request timeout, etc etc should be
It gets seriously expensive if your app gets any kind of traffic.
Not to mention the occasional outages/deployment failures mentioned in the article above.
Mostly I’ve been surprised that people considered Heroku as an option for serious projects.