Well Heroku is overpriced garbage so that's not surprising. They rely on lock in to keep you stuck paying egregious fees for services that are relatively unreliable.
After migrating an entire startup infrastructure from Heroku to AWS I'm even more against Heroku given how easy it is to use something like Elastic Beanstalk to do the same thing without many of the same downsides.
I've been burned by Heroku, though, so I have a strong negative opinion.
Overpriced yes, but garbage? Heroku is definitely stagnating, but they were integral to a whole new genre of PaaS. Heroku got a ton of people's first apps online. Even today their 12 factor app methodology is incredibly useful/powerful.
Now that said I totally relate to having strong negative opinions after being burned. I've got a few orgs like that too. What did they do for you?
Edit: nevermind I should have refreshed. You already answered in a sibling comment
We recently got bit (not quite burned) with the load balancers in the Common Runtime being shared across all apps.
Some piece of malware was associated with one of the IPs of Heroku's load balancers. One of our customers ended up blocking one of our servers associated to that IP because of it. We did some research and we even think we know what app caused it (it's someone's app they host on Heroku), and we don't think it should be flagged as malware, but either way... some other app in Heroku could be truly doing bad things and we would then get our server blocked again.
Heroku's advice was to put up a CDN in front of their load balancers, which has worked for now. But that's extra cost and system complexity just to get around a limitation of Heroku.
We did confirm a Heroku Private Space would eliminate this, since we'd get our own set of IPs for the Private Space's load balancers. But that comes with extra cost, and perhaps even limiting which add-ons we can use in the Private Space.
So although we've generally been happy with Heroku, we are concerned with some technical limitations, like this important (to us) one.
For us it was mainly the fact that every month some part of Heroku is down or degraded. That and the huge price increase when jumping from the standard dynos to the large dynos.
For reference, we migrated to new t4g instances on AWS and received about a 100x performance improvement for a similar (sometimes cheaper) price than Heroku. We are also able to connect to our company VPC and use private resources partitioned elsewhere in AWS (e.g. a redis cluster that costs the same as Heroku with far fewer limitations).
The downside is obviously configuration and learning AWS. Thankfully, we are pretty well versed in AWS here.
Looking at prices is definitely something I’m going to be doing in the short-to-medium term here. We’ve grown our Heroku bill for years, but I’m not entirely sure what all they take care of that RDS or Aurora wouldn’t also handle.
We currently don’t have anyone who is a dedicated sysadmin, so that’s one thing to keep in mind. We’ve been able to rely on shared sysadmin responsibilities here and there, and have Heroku take care of monitoring if our database has somehow “degraded.” But I do wonder if when Heroku identifies that a database needs to be updated, if they’re really just rebranding something AWS does automatically with RDS. I’m just not sure.
Basic things like rolling deployments are still considered "labs" features.
You need double your number of typical connections to support rolling, combine that with the large price jumps and low connection counts on the plans and it becomes very expensive just to have something that should be standard in a modern PaaS platform. This is but one example.
I also find it sad how good Heroku still is when compared to Render or other similar services. Sad because Heroku has built such an incredible experience that others still haven’t caught up to after all these years.
Render is close, but they’re still missing a lot of important details that makes deploying Rails apps as easy as Heroku. Instead they kind of throw the manual at you and expect you to read a tutorial.
Right now I'm on my third job in my career where we've migrated off from Heroku. There have got to be agencies out there that specialize in this, right? If not, it seems like a hell of an opportunity for someone.
Heroku: $15/mo = 50Mb memory + 40 connections
Render: $10/mo = 250Mb memory + 500 connections
---
Heroku $750/mo = 7Gb memory + 10k connections
Render $250/mo = 10Gb memory + 10k connections