Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Alternative to Heroku
44 points by dz0ny on May 4, 2022 | hide | past | favorite | 24 comments
I am a bit in a pickle. Looks like I cannot trust or even use Heroku any more. The trust is broken a bit because of how they are handling the breach, that they had. The "use" is even more complicated. I've used review apps extensively with their pipeline, and since they revoked GitHub integration 2/3 of Heroku are non-functional for me (no review apps, no staging migration pipeline).

I've been looking for alternatives and found them severely lacking in security scope or basic functionality.

Render.com

- There is no concept of read/manage permissions. Anyone who is invited into a team can delete the team, all apps, services etc. By design of their UI also possibly by mistake. Support responded that they have been working on this the last 2 years or something like that.

- /tmp folders are misconfigured. This means that if you send a large enough POST and the web server stores the payload into a temp folder, that seek file is lost. I noticed this after a week of random EOF errors that the web server reported. The support responded I should just use their disk offering and that ephemeral services should not use temp folders, mind that Heroku is also ephemeral but /tmp folder can still be used because otherwise you have above problem.

- GitHub integration. The problem is that only one team/user can link the app to the entire platform. This means that if other team members visit the "Blueprint Sync" page, they will see an error that GitHub integration is broken. And for every team that you have, you would have to create a new GitHub user, just to set up sync and only that user can then see sync status.

I feel they are working hard and are closest to the Heroku. Yet I feel they are not up to the task that Heroku was/is, in particular I think they are not using the service themselves otherwise they would fix these shortcomings a long time ago.

Railway.app

They have Teams properly solved, and GitHub integration also works as expected. But they have issues elsewhere.

- Builder is slow as hell. For example, 200mb bundle needed 6 minutes to be deployed (they don't have build cache) and I was able to do it only once. The second attempt resulted in timeout (builds in 179s on Heroku and on Render in ~30s).

- No support for scheduled executions. This is a feature that both Heroku (Scheduler) and Render (Cron Jobs) provide. What it does, it spins the bundle/container and executes something at specific interval, you pay extra, but that's the whole point so that you can run more demanding tasks. I would have to rewrite everything into fake web cron of PHP era.

Do you know any alternatives besides these two? What are your plans with Heroku?



(Render founder) I'm very sorry you ran into these issues. I'll follow up with the team and get back to you over email. We obviously have work to do, but I should note that we do use Render ourselves every day (render.com and dashboard.render.com both run on Render, and so do a bunch of our internal applications).

So why haven't we fixed everything yet? Ultimately, our bandwidth is limited (but growing!) and every day is an exercise in ruthless prioritization. We haven't ignored role based access control — we just haven't gotten to it yet (as a side note, https://feedback.render.com shows things we're working on right now).

I can't provide ETAs, but I can say with full confidence we will address everything you mentioned, and more. Give us time!


Thanks, I can pass with not having teams specific roles in short term. The real issue, that prevented me normal use was the /tmp, and I fixed it.

It looks like when you at runtime configure "tmpfs", you actually look into what permissions /tmp has. On Heroku, the permission is apparently enforced and will always work. So on my end, I just had to chmod 0777 and that solved my server issue.


I am wondering when 0 downtime for apps with disks is coming. I don't see it anywhere on the feedback page and find it rather a big blocker.


OP's coworker here, thanks for taking the time for writing this, I'm definitely cheering for us to give Render another try!


I’ve been using Cloud66 for about a year to run a fairly complex rails app that has been in development for about 6 years. Strikes a nice balance of owning the infra while having it managed.

The docs could use a lot of work though, and I find upgrading things like Ruby versions far more annoying than it should be.

Previously used Dokku for a few years then it was on heroku before that. Switched off dokku to outsource more of the ops.


Hi @hiharryhere thanks for mentioning Cloud 66! I work on their docs and I'm always looking for ways to improve them (sounds like more work is needed, lol). Any chance I can email or DM you somewhere to ask for more details on areas you think need the most improvement? I would really appreciate the input. Thanks in advance!


When using Cloud66 for Rack/Rails i found scaling new servers takes more that 45mins because it books from metal. Have they improve this?


Yes, this has been dramatically improved. Servers scale up in 15 mins or less nowadays. (I do some work with Cloud 66 and they are dedicated and passionate about their product)


We moved off Heroku about 2 years ago and use gcp. It’s been really good.

GitHub to cloud build. Cloud build deploys to cloud run. We setup multiple branches for different environments and it’s pretty much all streamlined.

We find the eco system pretty cool also we use scheduler and other cloud run instances for batch jobs. Worked great for us.


I would second this. Side by side I put the GCP ecosystem several years in front of the other major ones AWS & Azure in terms of capabilities and even general day to day experience.

As for OP you might want to take a look at a combination of Cloud Native Buildpacks to keep that same Heroku like deployment experience that you’re already familiar with and combine it with something like Cloud Run which is a pretty simple contract where you give it an image and it will run it for you.


GCP (especially Firebase if you’re looking for a simple abstraction layer that feels more Heroku-like) is absolutely phenomenal.

If it wasn’t for the legendary bad support and constant Google-typical paranoia of and arbitrariness in shutting off services and banning accounts I‘d move my whole company to it from AWS in a heartbeat. (Realistically these points have never been an issue ever, but that kind of backdrop doesn’t feel too good)

AWS vs GCP feels like Windows Server vs a Linux server distro in terms of UI and complexity overhead


Take a look at Fly.io - https://fly.io

They offer scalability across different regions and provide the networking and tooling for it. Their service also has a way to go, but I see continuous progress.


What has kept me from trying fly.io is that you need to sign up with a credit card before trying out the service. So when evaluating a bunch of options for a company, I ignored fly because I'd either need to use the company card (a hassle) or use my own card (another hassle especially if having to deal with expenses). Yes it was supposedly "free tier" but there was no indication of whether it was possible, even accidentally, to exceed the free tier - for example leaving a forgotten app running. Gave me bad AWS vibes.

All the other services (heroku, render, railway) let me try out at least a toy app without having to use a card. That allowed me to evaluate whether the service was compatible with our needs without any further commitment.


I'm going to be another person to recommend Fly.io. It's phenomenal: The pricing is good, the UX is good, everything just works. The GitHub action is a bit simplistic but it's more than easy enough to just make your own action that runs flyctl. The only real issue I have with it right now is there's no API token system, you need to give CI access to everything you can.


The one reason I'll stay with Railway over Fly is that Fly is not as flexible with diverging CPU/memory requirements. I have a few apps that are memory heavy but don't need a lot of CPU. My Railway bill reflects that, with almost no CPU charge. And I don't have to think about upgrading or downgrading my instance size at all.

If they manage to implement that, they'd be the ideal replacement.


I use hatchbox.io with a Linode.

Hatchbox is really great, and very affordable for my needs!

I like that it's a UI and some opinionated tools and processes on top of a standard Linode VPS.

I can still SSH into my Linode and it's all there.

Performance is totally down to the size of the VPS you pay for!

I dont have time/skills/focus for devops, and have found that Hatchbox took away the pain by affordably managing deployment of a bunch of Rails apps that didnt warrant the larger costs of Heroku!


Great to hear that. I need a bit more complex service and support for review apps.


I've been wanting to try fly.io.

I also use Digital Ocean's App engine, but its definitely not as hands off as Heroku, nor does it have the generous free add-ins for small apps (e.g. free redis or pg).

I've had a bear of a time trying to get elastic beanstalk to work on a rails app.


Thanks. I've looked at Digital Ocean apps, they are missing review apps and looks like they have similar issue as Railway.app where builder is doing some strange things. Nevertheless, pricing is good, and I can always push Docker image via container registry.

Fly.io will be next on review :), thanks for suggestion.


There's Dokku: https://dokku.com/

I haven't kept up with it in years, so I'm not sure it's still the status quo.


Dokku is fine and is great at what it does - running an Heroku-like on your own hosted server. I ran a hobby project for over a year without any serious problems on top of a cheap Digital Ocean droplet.

It doesn't really have a story for when you want to scale up though - for example moving to multiple web servers behind a load balancer with your databases on some other vms. So it's great for side projects and demos, less so for anything you want to run in serious production mode.


I would like to avoid the case where I have to manage the ops on my own.


I would recommend trying dokku for thirty minutes. It's incredibly easy and once you use it you'll be a convert. I almost never do any maintenance and run dozens of services. All for the price of a VPS. It's very powerful and very inexpensive.


And by the way, dokku has support for cron jobs and everything else you indicated, all for free. Dozens of plugins that support every database. Git push almost any app and it will detect and build, just like heroku. It's so good.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: