Just saw Nate Berkopec who does a lot of rails performance stuff posting about the same idea yesterday saying Heroku is 25-50x price for performance which is so insane. They clearly have zero interest in competing on price.
It's a shame they don't just license all their software stack at a reasonable price with a similar model like Sidekiq and let you sort out actually decent hardware. It's insane to consider Heroku if anything has gotten more expensive and worse compared to a decade ago yet in comparison similar priced server hardware has gotten WAY better of a decade. $50 for a dyno with 1 GB of ram in 2025 is robbery. It's even worse considering running a standard rails app hasn't changed dramatically from a resources perspective and if anything has become more efficient. It's comical to consider how many developers are shipping apps on Heroku for hundreds of dollars a month on machines with worse performance/resources than the macbook they are developing it on.
It's the standard playback that damn near everything in society is going for though just jacking prices and targeting the wealthiest least price sensitive percentiles instead of making good products at fair prices for the masses.
The cloud has made people forget how far you can get with a single machine.
Hosting staging envs in pricey cloud envs seems crazy to me but I understand why you would want to because modern clouds can have a lot of moving parts.
Reminds me of my current customer. We (another freelancer and me) built an application that replaced an Excel sheet, which was the foundation of the business until then. So the usual so far.
We have a policy that our customers are responsible for all their business-related input, but we make the decisions about the technical implementation. Every technical decision that the customer wants to make basically costs extra.
In this case we built a rather simple multi-tenancy B2B app using Laravel, with one database per tenant. They planned to start with a single customer/tenant, scaling up to maybe a few dozen within the next years, with less than a hundred concurrent users over the first five years. There were some processes with a little load, but they were few, running less that a minute each and already built up to run asynchronous.
We planned a single Hetzner instance and to scale up as soon as we would see it reaching its limits. So less than 100 €/month.
The customer told us that they have a cooperation with their local hosting provider (with "special conditions!") and that they wanted to use them instead.
My colleague did all the setup, because he is more experienced in that, but instead of our usual five-minute-setup in Forge (one of the advantages of the Laravel ecosystem), it took several weeks with the hosting provider, where my colleague had to invest almost full time just for the deployment. The hosting provider "consulted" out customer to invest in a more complex setup with a load balancer in front, to be able to scale right away. They also took very long for each step, like providing IP addresses or to handle the SSL certificates.
We are very proud of our very fast development process and having to work with that hosting provider cost us about one third of our first development phase for the initial product.
It's been around two years since then. While the software still works as intended, the customer could not grow as expected. They are still running with only one single tenant (basically themselves) and the system barely had to handle more than two concurrent users. The customer recently accidentally mentioned that they pay almost 1000€/month for the hosting alone. But it scales!
We've had a similar experience at Hack Club, the nonprofit I run that helps high schoolers get into coding and electronics.
We used to be on Heroku and the cost wasn't just the high monthly bill - it was asking "is this little utility app I just wrote really worth paying $15/month to host?" before working on it.
This year we moved to a self-hosted setup on Coolify and have about 300 services running on a single server for $300/month on Hetzner. For the most part, it's been great and let us ship a lot more code!
My biggest realization is that for an organization like us, we really only need 99% uptime on most of our services (not 99.99%). Most developer tools are around helping you reach 99.99% uptime. When you realize you only need 99%, the world opens up.
Disco looks really cool and I'm excited to check it out!
Heya, Disco is the open source PaaS I've been working on with my friend Antoine Leclair.
Lots of conversation & discussion about self-hosting / cloud exits these days (pros, cons, etc.) Happy to engage :-)
Cheers!
It’s all fine and dandy, but I wonder why so little discussion around this (mainly high-level comments “DBs are hard”?
> disco provides a "good enough" Postgres addon.
> This addon is a great way to quickly setup a database when Postgres is not mission critical to your system. If you need any non-basic features, like replication, automatic failover, monitoring, automatic backups and restore, etc. you should consider using a managed Postgres provider, such as Neon or Supabase.
How come automatic backups is considered an “advanced” feature?
Also I can’t think of a single application since 2012 that I have worked on that did not have a secondary/follower instance deployed. Also suggesting Neon and friends is fine, but I wonder what is your average latency, Hetzner does not have direct connection to the DCs these databases are hosted.
The article's title seems inaccurate - as far as I understood there never was a $3000/mo bill; there was a $500/(mo,instance) staging setup that has been rightly optimized to $55/mo before running six instances.
> Critically, all staging environments would share a single "good enough" Postgres instance directly on the server, eliminating the need for expensive managed database add-ons that, on Heroku, often cost more than the dynos themselves.
Heroku also has cheaper managed database add-ons, why not use something like that for staging? The move to self hosting might still make sense, my point is that perhaps the original staging costs of $500/mo could have been lower from the start.
Heroku's pricing is wild. About a decade ago I just about fell out of my chair when I found out the startup I was at was burning upwards of $10k/mo just to generate QR codes (made out of html tables so that they would reliably display in emails). It worked out to something like $0.15/code
The lead who wrote it had never even profiled code before, after some changes we cut it down to ~$0.01/per, but that's still insane.
The situation is interesting, and self-hosting is indeed a very nice solution often. However, I wanted to comment on the article itself - it seems to be very heavily AI-edited. Anyone who has spent time with LLMs will easily see it. But even that's not the issue; the main issue is that the article is basically a marketing piece.
For example, the "Bridging the Gap: Why Not Just Docker Compose?" section is a 1:1 copy of the points in the "Powerful simplicity" on the landing page - https://disco.cloud/
And this blog post is the (only) case study that they showcase on their main page.
I guess I'm not quite understanding why you need six staging servers provisioned at $500 a pop? And if you need that because you have a large team...what percentage of your engineering spend is $3000 vs $100k+/yr salaries?
Especially when I got look at the site in question (idealist.org) and it seems to be a pretty boring job board product.
With hetzner AX162-s [1], 1TB DDR5, ($600/month) you can load your freaking database in Memory and not blink !! I don't understand why people go to cloud.
[1] https://www.hetzner.com/dedicated-rootserver/ax162-s/configu...
It is absolutely nuts to me that this machine:
AMD Ryzen™ 7 3700X CPU 8 cores / 16 threads @ 3.6 GHz Generation: Matisse (Zen2) RAM 64 GB DDR4 ECC
Drives 4 x 22 TB HDD 2 x 1 TB SSD
is only 104 euros a month on Hetzner.
The STORAGE alone would cost $1624 a month in most clouds
What’s the best alternative to heroku today for someone that doesn’t want to do any sysadmin and just dump a Django site and database somewhere?
Cool project!
From looking at your docs, it appears like using and connecting GitHub is a necessary prerequisite for using Disco. Is that correct? Can disco also deploy an existing Docker image in a registry of my choosing without a build step? (Something like this with Kamal: `kamal --skip-push --version latest`)
Doesn't staging need to be a (downsized) replica of prod, infra wise to give confidence that changes will be stable and working in prod?
Genuine question.
It is hilarious, don't get me wrong - I really appreciate more people moving away from these "Hi-Tech" deployment styles and cloud services and the rest, but it is like rediscovering hot water.
It is clear that Heroku is not interested in reducing their prices. But I don’t think this is a Heroku problem. Vercel is also the same, which makes me think there is a fundamental issue with the PaaS business model that stops it from competing on price while the commoditised part their business (data centers) are always reducing their prices.
The challenge I always face with homebrew PaaS solutions is that you always end up moving from managing your app to managing your PaaS.
This might not be true right now but as complexity of your app grows it’s almost always the eventual outcome.
I'd like to nit-pick a little about the title.
They replaced a $500/mo bill with a $55/mo server. And at the same time increased what they could do before - run 5 extra staging environments!
While saving $445/mo isn't nothing, in my book enabling teams to freely run the staging environments they need is the real win here! Limiting testing resources can be a real drag on momentum in a project!
Why people discover it only today? I remember making comments about it years ago.
I even shown one customer that their elaborate cluster costing £10k a month could run on a £10 vps faster and with less headache (they set it up for "big data" thinking 50GB is massive. There was no expectation of the database growing substantially beyond that).
Their response? Investors said it must run on the cloud, because they don't want to lose their money if homegrown setup goes down.
So there is that.
> Each new staging environment still required DNS and CDN configuration - not difficult, but not automatic either. The team also took on responsibility for server monitoring, security updates, and handling any infrastructure issues themselves - operational overhead that Heroku had previously covered. And while Hetzner's price-performance is exceptional, its limited presence in the US was a consideration; for this staging workload, it wasn't an issue, but it's a factor for production services targeting US users.
If you factor in salaries, I can see this ending up costing more than Heroku. $3000/m is one (underpaid) developer here in Scandinavia.
That's the equation that's often lacking, and why Heroku is still worth it where I work.
Title seems slightly exaggerated since by my reading there was no actual $3000 / month bill? Still a great use-case
This seems like a good idea to have plentiful dev environments and avoid a bad pricing model. If your production instance is still on Heroku, you might still want a staging environment on Heroku since a Hetzner server and your production instance might have subtle differences.
Wow, who would have thought that setting your own infra would bring the costs down and more control over it ?
> The Real Insight: Staging Became a Free Commodity
Not free, it became a productivity boost.
You now have a $35k annual budget for the maintenance, other overhead, and lost productivity. What do you spend it on?
> The team also took on responsibility for server monitoring, security updates, and handling any infrastructure issues themselves
For a place that’s paying devs $150k a year that might math out. It absolutely does not for places paying devs $250k+ a year.
One of the great frustrations of my mid career is how often people tried to bargain for more speed by throwing developers at my already late project when what would have actually helped almost immediately was more hardware and tooling. But that didn’t build my boss’ or his bosses’ empires. Don’t give me a $150k employee to train, give me $30k in servers.
Absolutely no surprise at all when devs were complicit with Cloud migrations because now you could ask forgiveness instead of permission for more hardware.
I like that this post and the migration focus solely on staging. Far too often, people report how much money they saved by migrating from Heroku/Render/Fly to a VPS with Coolify/Dokploy/Kamal. What these calculations usually fail to take into account is the additional management and maintenance effort required. While this is fine for side projects and non-critical parts (such as staging/preview environments), it represents a significant burden for productive environments with business-critical services. In this case, a correct and understandable decision was made. Thanks for sharing!
I don't mean to hate but i find it incredibly alarming that i'm lately seeing all the seemingly seniorly positioned people writing articles about how they just realized that you can actually just buy a vps, setup a deployment workflow and write a revealing blog about "drastically cutting costs".
It's like juniors who did not recieve a proper training/education got hired into companies where someone told them to go serverless on some heroku or vercel, or use some incredibly expensive aws service because that's a "modern correct way" to do it, except now they were a developer for long enough to get a "senior" title in their job title now are in positions of actually modelling this architecture themselves
> Bridging the Gap: Why Not Just Docker Compose?
The draw of a docker-compose-like interface for deployment is so alluring that I have spent the last year or so working on a tool called Defang that takes a compose file and deploys it to the cloud. We don't support Hetzner (yet), but we do support AWS, GCP, and DO. We provision networking, IAM, compute, database, secrets, etc in your cloud account, so you maintain full control, but you also get the ergonomics of compose.
If you are on a PaaS and you want to reduce cost without losing ergonomics and scalability, it might be interesting.
Cool to hear on the savings. But now the team has to maintain two different deployment models, so you have account for the ongoing cost that your team now has to own and maintain two different processes of deployment (prod & staging).
The key element here is the need to continuously exercise both processes (Heroku + your staging server), to work out both processes & maintain familiarity on both.
Depending on the amount of staff involved in the above, it might eclipse the compute savings, but only OP knows those details. I'm sure they are a smart bunch.
> And while Hetzner's price-performance is exceptional, its limited presence in the US was a consideration; for this staging workload, it wasn't an issue, but it's a factor for production services targeting US users.
What is this referring to? Concerns about capacity if you need to scale up quickly? Or just "political"/marketing considerations about people not being used to being served by a Hetzner server?
I recently moved a couple of Rails projects to a VPS using Dokploy and couldn't be happier. Apart from the cost savings the bump in available resources is a big plus. It is astonishing how Heroku still gets away with 512 mb memory for $25/m
background: I have been self-hosting apps on VPS for a while now but just started using a tool
Two question.
What's in it for Disco ?
What's the pricing ?
How many work hours per month does keeping this thing stable take.
If it takes over 15 Heroku is cheaper.
Hosting with bare metal is still expensive, you pay in other ways.
Congrats Greg & Antoine! disco.cloud is really needed, I hope you guys get the visibility you deserve and some momentum from the community!
Having been in the industry for 20 years, I can remember we were processing high loads with... Algorithms. It wasn't a cloud cost saving initiative back then, but a necessity if you had scale, you could just not throw money at scaling. Feels like we shifted optimization from algorithms to cloud costs savings...
Can anyone comment on how Disco compares to Dokku?
These discussions often devolve into how Heroku is “expensive”. You’re paying for convenience and not having to worry about something. Every business will evaluate this for themselves. For a profitable business with a lean team, Heroku works great.
Hosting staging on a fundamentally different architecture and resources than prod (and dev I think) is a disater waiting to happen.
Unless they plan to move prod and dev as well, and using staging now as a test platform.
Once few problems glitch when moving to prod, they may no longer think they are saving much money.
Hetzner cloud has instances in US, which could work since they don't need the stability of dedicated for staging/dev.
We'll soon go full circle and people will discover sysadmin skills.
The kind of headline that is worth learning more about.
Dokku can be an option if needed to maintain heroku endpoints.
I love the convenience of Heroku but hate their predatory pricing. Who's fixing this?
Hetzner is flaky though, you can't trust them. You don't want your website taken down because they decided something is suspicious and they randomly banned you without warning.
I was looking on Hetzner after that recent article and their server marketplace has $34/month server that had something like an Intel Core i7 with 64GB RAM and 2x512GB SSDs. Compare that to EC2 pricing.
Quite sad to see devs nowadays has lost abilities to self-host. I know it can be overwhelming with Linux, networking, db, backup, hardware load.... However, it's not rocket science!
Amazing to see this article in 2025. Feel like it's 2015 all over again!
Good improvement, but 50x overpayment until a rethink is also pretty wild.
Nice! Way to go for non-prod environments. (For prod you'd need some redundancy at least.)
Quick question: how long would it take to provision and set up another server if this one dies?
So how does disco compare to e.g. coolify, dokploy, dokku, kamal, uncloud or sliplane.io?
Heroku is cool in that it helps you get running and autoscaled, but it would be much cheaper for anyone with traffic to just get a dedicated box
I like Heroku for my needs but have noticed oddities in the pricing that can make a small app cost much more than a differently arranged large app.
Might as well ask this: anyone know any server provides that are like half the cost of hetzner. I know that's asking a lot but still.
Heroku's pricing model made me shy away even from using them for small stuff. Why get comfortable on a stack that disincentivizes success?
wow, who have would thought that setting up your own infra instead of paying for it is cheaper.
recently migrated from heroku to digital ocean. saw immediate performance gains with my etl as soon as i made the migration. will never look back!
It sounds more like poor choices. 6 staging environments sounds a bit overkill.
If you can fit them all on a 4 cpu / 32gb machine, you can easily forgo them and run the stack locally on a dev machine. IME staging environments are generally snowflakes that are hard to stand up (no automation).
$500/month each is a gross overpayment.
i'd be interested what the load is like on that CCX33 server - i've got a lower-spec VPS from Hetzner and even from there I'm only using about 25%-30% CPU/RAM with a moderate load
Heroku never made sense, that convenience costs too much.
You could use Cloud66 or Kamal to make it even easier
Very cool project. Is there an overview of the architecture? Perhaps a diagram or some drawing?
I mean something like a list of moving parts so I can understand how it works. Perhaps something like this:
https://caprover.com/#:~:text=CapRover%20Architecture%20at%2...
Any Elixir/Gleam/Erlang (distributed) support?
Do they really need a full mirror of production?
noo UI???? I mean we already have coolify and dokploy that doing the same for more
but glad we have new product offering for this
3000 to 55? Par for the course.
$55 server
$550 aws server
$3000 aws based paas server
Uhh a “multi-gigabyte Postgres database” is not “substantial”
oh good point
I love these types of stories. Please submit more of this type.
Bring back sanity to tech.
[flagged]
Single server is very cheap for hobbyist.
Just something to consider if you are in a professional environment before switching your entire infra: maintenance cost is expensive. I strongly suggest to throw man-days in your cost calculation.
To prevent security vulnerabilities, the team will need to write some playbooks to auto-update regularly your machine, hoping for no breaking changes. Or instead write a pipeline for immutable OS images updates. And it often mean testing on an additional canary VM first.
Scaling up the VM from a compute point of view is not that straightforward as well, and will require depending of the provider either downtime or to migrate the entire deployments to a new instance.
Scaling from a disk size point of view, you will need to play with filesystems.
And depending on the setup you are using, you might have to manage lets encrypt, authentication and authorization, secrets vaults, etc (here at least Disco manages the SSL certs for you)
Looking at the htop screenshot, I notice the lack of swap. You may want to enable earlyoom, so your whole server doesn't go down when a service goes bananas. The Linux Kernel OOM killer is often a bit too late to trigger.
You can also enable zram to compress ram, so you can over-provision like the pros'. A lot of long-running software leaks memory that compresses pretty well.
Here is how I do it on my Hetzner bare-metal servers using Ansible: https://gist.github.com/fungiboletus/794a265cc186e79cd5eb2fe... It also works on VMs.