Brian Lovin
/
Hacker News

Remind HN: Heroku will delete all free dbs and shut down all free dynos Monday

For other HN'ers out there who have personal projects on Heroku and might've forgotten (like I did), this weekend is the last chance to get data out of Heroku (or upgrade to paid plans) before it deletes databases/Redis and shuts down free dynos on Monday.

> What products are impacted by the removal of free plans?

>

> `free` dynos, `hobby-dev` Heroku Postgres, and `hobby-dev` Heroku Data for Redis plans.

>

> What happens if I take no action on my free apps or databases or do not upgrade to a paid plan?

>

> If you take no action by November 28, 2022:

>

> - `free` dynos will be converted to `eco` dynos scaled down to 0. You must subscribe to the Eco dyno hours plan or upgrade to another paid plan before you can scale them up again. Any Scheduler jobs that used free dynos will fail until they are reconfigured to use another dyno type.

> - For non-Enterprise users, `hobby-dev` databases will be deleted in accordance with the Heroku Documentation starting November 28, 2022.

> - For Enterprise users, `hobby-dev` databases that belong to an Enterprise Account or Team will be converted to `mini`. There will be no immediate change in cost to your Heroku Enterprise invoices if an app is upgraded from a free tier resource to a paid tier resource. Any changes to Heroku Enterprise pricing would require a contract update to take effect. If you have any concerns about your contract pricing, contact your account executive.

> - `hobby-dev` databases that belong to personal accounts will be deleted, and `free dynos` will be converted to `eco` dynos scaled down to 0, even if that user also belongs to an Enterprise Team. These users must upgrade to paid resources before November 28, 2022.

ref: https://help.heroku.com/RSBRUH58/removal-of-heroku-free-product-plans-faq

I'm personally moving my projects to a self-hosted dokku cluster, but I've heard good things about fly and render too.

Daily Digest email

Get the top HN stories in your inbox every day.

lkrubner

A fun fact (and I'm not violating any NDA here) my client https://paireyewear.com is growing very fast and last year they raised $73 million from VC investors. They have their main store on Shopify, so they didn't need too much on the backend: only their CRM for keeping customers happy and handling returns and damaged goods and refunds and special sales. Also, on the backend, they had all the integrations with the 3PL, that is, 3rd Party Logistics, which is to say, they worked with external warehouses, because they weren't ready to have their own warehouses. They did have integrations with the warehouses so they could track inventory levels.

So the fun fact is this: they were running entirely on free Heroku dynos. This year they successfully transferred to AWS, but they got to a fairly big scale while running entirely on free Heroku dynos. I'm still kind of amazed by that.

PragmaticPulp

> they were running entirely on free Heroku dynos. This year they successfully transferred to AWS, but they got to a fairly big scale while running entirely on free Heroku dynos.

I’ve read so many of these stories now that I understand why Heroku is phasing out the free tier.

It’s kind of fascinating to see how some engineers see free tier limits as an optimization target. I wonder how many engineering hours across the industry went into arbitrarily keeping services small enough to fit in the free tier.

yumraj

> I wonder how many engineering hours across the industry went into arbitrarily keeping services small enough to fit in the free tier.

Why is that wrong? If everyone optimized their services and applications like it used to be in the past, will substantially bring down compute and memory requirements and reduce overall bloat.

rwoerz

If a service is broken down into n microservices such that each of them fits into the free tier, these n microservices are likely to consume more resources in total.

dcow

It’s not, strictly? It’s just more of a tragedy of the commons.

pifm_guy

One day, compute requirements will be part of a companies eco-statement.

Eg. Amazon will be forced to say 'For every item purchased from Amazon, 370 grams of CO2 are emitted by our servers and other business operations :-P'

josephcsible

> I’ve read so many of these stories now that I understand why Heroku is phasing out the free tier.

To me, those stories seem like good arguments for reducing the usage limits of the free tier, but not getting rid of it entirely.

nomilk

You don't need to profit off every single customer. Many business models make 90%+ of their revenue from 'whales' and crumbs from the rest. Optimising for consistent margin from every single customer could be a waste of time; a distraction, and could even hurt a business.

devoutsalsa

I like free shit that doesn’t suck.

crazysim

How could they stay on free dynos? You can't be running on a free dyno 24/7. It's like 16/7 or something.

jrochkind1

That was at one point true, but hasn't been true for at least a few years.

Heroku could have gone back to that i suppose, instead of getting rid of free dynos entirely, but they didn't.

Still... I think you could basically only run one free dyno per account 24/7. I am curious if they somehow fit their entire production in one free dyno, or were somehow splitting things between multiple accounts, or what.

davidmurdoch

I have several legacy free tier dynos that don't have the restriction. They run 24/7, at least for another day or so.

ztgasdf

If I'm not mistaken, if you gave Heroku a valid credit card, it would add a few hundred extra hours for your dynos.

orliesaurus

that's correct, you could be have it on 247 with trick!

rubyist5eva

Why did they not just start paying for Heroku?

rekttrader

They’re part of the reason it’s not free any more.

gl-prod

Well, Salesforce could have made the free dynos non-commercial only

zincly

Shopify does logistics now too, you could use that and get rid of the whole backend altogether. Disclosure, I work there.

quickthrower2

Perhaps conways law is now more about cloud pricing tiers tham teams!

arcturus17

Cool story (really), but what were they hosting on Heroku then?

majodev

Just moved off my 8 years old project google-webfonts-helper https://github.com/majodev/google-webfonts-helper from their free tier to my own private infra and replaced the current dyno with a 301 handler: https://github.com/kenmickles/heroku-redirect

AFAIK sadly Heroku does not provide some other _free_ permanent redirect option for their *.herokuapp.com sub-domains without actually running a dyno there.

mzur

Thank you so much for google-webfonts-helper! It's been helping me a lot recently ever since there was this questionable court decision in Germany that using fonts directly from Google violates the privacy regulation and website owners were sued all over the place.

maltris

You havent by any chance been sued by some weird lawyer from a german capital whose name pops up all over google on researching this in the name of a person that does not really seem to exist?

They are fraudulently trying to trick people in paying ~170 euro without any clear statement on what is their claim. Dont fall for it.

mzur

I haven't been sued personally but some of my clients were. I told everyone to ignore it but had to update their websites nonetheless.

asddubs

That's good to hear, I was thinking about whether google fonts helper would survive this. Awesome project by the way, I've used it a lot, thanks for making it!

kenmickles

I use your webfonts helper all the time! Cool to see the tiny redirect app I published 10 years ago used to keep my bookmark working.

version_five

To be fair, I have had quite a few emails form Heroku telling me to move my stuff. Even after I thought it was already shut down, I keep getting emails. Everything I have on there is 5+ year old hobby things that I won't bother hosting elsewhere, it's nice to know they are paying more attention than I am to my projects' fates

reaperducer

I have had quite a few emails form Heroku telling me to move my stuff.

Heroku's warning emails are how I found out two things:

- That I'm still the administrative contact for a former employer's production environment.

- That my former employer is using a free tier for its public-facing web site.

Ethically, I should let the company know is web site is about to go offline. But it's a start-up run like a fiefdom and the founder tells all departing employees that if they contact anyone at the company, he'll sic the (imaginary) lawyers on them.

richbell

That's hilarious; I'd heavily encourage you to remove this comment, just in case the lawyers turn out to be real. :)

undefined

[deleted]

novakinblood

Thanks for that reminder. I had to delete an app I had running since 2013. Up until the moment before I committed to deleting it, I felt no emotion at all. But right after I confirmed deletion, I felt like an animal I had on the farm died. I was sad. I had that thing chugging along with no real issues for almost 9 years. I used that platform to learn and try new things and then built an app to track my workout progress. It was a great way for me to learn Django without losing money and build some useful tools.

elliottkember

Thanks for posting this. I currently pay a fair amount per month to keep a thing I used to work on alive. I did the migration - only took a minute - but I thought long and hard about just killing it. In the end I couldn’t do it. Too much of my life went into that project.

Kye

There's Glitch if you want a new playground: https://glitch.com/

svnpenn

do they only offer JavaScript backend? I am looking for other language support

Kye

I see some evidence you can potentially run any language by using your own HTTPD, but I can't speak for the viability. Search for your language with the box and you might find some examples to get you started.

kopochameleon

Have they committed to anything different than what Heroku had committed to?

We're Charlie Brown running towards the football repeatedly. We need to learn a lesson here. "We're the good platform devs" branding doesn't mean a company will do the kind thing by their true believer users (post-acquisition, post-cash-flow-belt-tightening, post-IPO, etc)

There ought to be a platform on which new coders can build a free simple web app in a playground, and know it will be accessible in 20 years. If a company wants to use "free easy backends" as bait for capturing growing companies' future costs, devs should hold them to long-term persistence and at least an off-platform future migration path. See also Parse, Geocities, etc

Use some % of the money and put it in to an OSS migration path or a fund to pay their own future AWS bills, c'mon.

ocdtrekkie

People need to realize that free plans are a loss leader/sales feature, not a guarantee. The longer you're able to use their free plan, the more obvious it is that you aren't going to convert to a paid user. The better the free plan, the less likely it is to make sense to run long term.

The only free tier product I use is Cloudflare's, and if it goes away someday, I'll pay for it.

999900000999

Why are you expecting 20 years of free service?

Even if it's a penny a day, that's 60$ over 20 years supporting a user with no intention of spending any money.

If you still have the code, you can always deploy it again.

paulcole

> We need to learn a lesson here

Something comes to mind about a free lunch?

The idea that there ”ought” to be a free service that guarantees you 20 years of service is laughable.

If you’re paying nothing, guess what you can demand?

criley2

There's plenty of platforms where devs can do that. The idea that there should be One Monolithic Platform that lasts for 20 years is silly. Why only one? We have tons of options from modern hosts who have some kind of free plan available.

There's very little incentive for hosting companies to offer grandiose 20 year perfect free backend plans because hosting has been extremely commoditized and anyone hosting on top of AWS is just being squeezed aggressively. While you waste 25% of your resources fighting bad actors, spammers, CSAM, and everything else that comes with being The Place for Free Backends, your competitors are staying lighting focused on the features that your paying customers are leaving you for, spending only the minimum necessary on free options.

Frankly, if a dev can't find one of the ~dozen free top tier amazing backends available to newbie devs (many of which available through entirely web based IDEs that can launch any framework you want in moments), maybe they're not ready for this field, because a lot of it is in fact their ability to search and learn.

mythz

For alternatives we can recommend Hetzner US Cloud [1] which was the best US Cloud provider we've found that works out to be an order of magnitude less expensive than equivalent specs on Azure/AWS and also includes 20TB free bandwidth that would cost a fortune in AWS/Azure's artificially inflated egress costs [2].

The UX behind managing instances is delightfully pleasant where new instances are available faster than any other cloud provider we've used, within seconds of creating an instance you can immediately login with your configured SSH keys. Another nice feature is being able to "rescale" your instance to higher specs after a restart [3], so you can confidentially start with a small instance that just meets your current workload knowing that you can easily scale up your instances as your workload increases.

AWS RDS was the only critical service keeping us on AWS, a service we no longer need in our new Apps which we're building with SQLite thanks to the effortless replication in Litestream [4] that we're using to replicate to Cloudflare R2 - another great value alternative S3 alternative with $0 egress fees [5] where you can get even greater value & performance when hosting behind their free CDN.

[1] https://www.hetzner.com/cloud

[2] https://servicestack.net/blog/finding-best-us-value-cloud-pr...

[3] https://bizanosa.com/how-to-upgrade-resize-hetzner-cloud-ser...

[4] https://docs.servicestack.net/ormlite/litestream

[5] https://www.cloudflare.com/products/r2/

hardwaresofton

If you're considering using Hetzner I'd also like to humbly recommend you try/sign up for Nimbus[0] -- I'm building a managed service provider for people running on Hetzner, and basic cache support will be out within the week.

If you want services like Redis on a semi-managed provider like Hetzner but don't want to write the bash scripts/Terraform/etc or hook up networking/TLS and run it yourself, Nimbus is for you.

[0]: https://nimbusws.com

kirillzubovsky

Thanks for the reminder! Could've lost a bunch of photos :) Also, it's interesting how little effort Heroku put into helping you upgrade. There's no one-click options, and instead it's a forest of choices and menus to jump through.

By the way, one hack to not upgrading your app? Move your DBs to a single shared instance on Amazon, and then point Heroku apps to that one instance. Meanwhile, in Heroku just remove the Postgres addon. As long as it doesn't see a free instance, it doesn't complain.

kirillzubovsky

Looked into it a few seconds more and realized they've got a new "mini" plan, which is basically a free Dev plan, but costing 1 cent a month. I suppose this is a deliberate attempt to kill all the non-maintained projects, rather than a way to make money.

throwaway6275

I’d say to kill more abuse rather than non-maintained projects

https://www.bleepingcomputer.com/news/security/massive-crypt...

japhyr

Where are you reading 1 cent/month? The cheapest way I can see to run a small app+db project on Heroku now is to use an Eco dyno at $5/month with a Mini Postgres instance at $5/month, for a total of $10/month.

If you don't want your project to sleep, you probably want a Basic dyno ($7/month) instead of an Eco dyno.

Am I missing something?

Edit: I meant to add a link to the pricing page.

https://www.heroku.com/pricing

bpeebles

As of now, https://elements.heroku.com/addons/heroku-postgresql says $0.01/month and their CLI as of Wednesday also said that. Of course, this feels like a weird workaround until December 1 since they also say that's when they're going to saying charging for it.

nikodunk

Just found this too. The brand-new Eco plan costs $5/mo, shared over all projects up to 1000 dyno hours, and then it seems each database on the Micro plan is $0.01 per month. That comes out to $5.05 per month for me I believe for my 5 portfolio projects? Maybe there's hope for Heroku yet.

jrochkind1

I just upgraded with basically one click after I clicked on the alert banner warning me I had to. In my case from a pg free to pg "mini" (I was already on a cheapest-but-non-free dyno, which will change it's name but still be the same otherwise).

kirillzubovsky

After you've upgraded, did your data get auto-migrated? It is my understanding from Heroku docs that data move is a separate process from the upgrade of the plan itself, and if you don't force a copy, you'll lose all your data anyway.

https://devcenter.heroku.com/articles/upgrading-heroku-postg...

It seems like data migration should've been at least a prompt when you upgrade an add-on, but it isn't, at least not for me.

jrochkind1

Hm, I'm not sure that article applies. That is the process for moving your data from one postgres instance to another, say because you are actually upgrading the postgres version.

But I'm not sure that process applies to changing plans, even under ordinary circumstances, if you are leaving pg version the same.

The wording when I upgraded to 'mini' gave me the impression that I didn't have to do anything else, my existing database would just change it's plan to 'mini' tomorrow, but be the same database.

But I don't exactly trust heroku to get it right anymore, alas. (Which is a bigger problem than the elimination of free plans -- the whole reason I was eager to use heroku, including for paid plans, is because I always did trust them to get it right.)

This is actually just a "hobby" project, that also can be restarted from an empty database if needed (it's http://rubyland.news), so... I guess we'll see what happens tomorrow? I believe my database will persist, just with a new plan.

satvikpendem

Last time a post about Heroku was posted, I talked about my great experience using Coolify:

I am using Coolify (https://coolify.io), an open source self-hosted PaaS which is a relatively newer kid on the block compared to Dokku and CapRover. I tried both of these and I just didn't like how they were, always had some problem or another.

In contrast, Coolify has a great GUI that abstracts away the most common things about PaaS hosting, like connecting to GitHub automatically for git push deploys, SSL certificates, reverse proxying and custom domain support, and best of all, having support for Heroku style buildpacks as well as Dockerfiles. I've been quite happy with it, the creator has a Discord and responds to issues very quickly.

With regards to non-self-hosted options, I did try out Render, Fly.io and Railway but I found that their free servers were too anemic. I was compiling a Rust backend and it simply could not compile on their free servers. On Hetzner, for 5 bucks I could get a 2 AMD vCPU and 2 GB RAM machine that was sufficient to compile my Rust apps in a way that the non-self-hosted ones were not. I have a JS frontend app that works fine though but I wanted to keep everything under the same VPS, plus I can run other types of self-hosted services on it too, like Plausible analytics and a Ghost blog. I'm not sure if those are allowed on non-self-hosted options.

All in all, it costs me 5 bucks a month, and I never have to worry about sudden upcharges for traffic à la AWS as in the very worst, my VPS goes down for a while. I'm now running about 20 different services on this 5 dollar box including databases and applications as well as other services, works just fine.

Existenceblinks

Hesitate to tell that Fly is the only good option since they won't hibernate your instances, and have a reasonable free db and bandwidth quota .. unlike Render (almost not count as free plan, more like some free trial)

I'm fearing folks could abuse Fly and they could start to let it go..

satvikpendem

Why Fly over DigitalOcean or similar? Is it just that it's all done for you?

Fly takes your credit card info up front so if you abuse it they can just charge you. Also people who give their credit card upfront are less likely to abuse their plans.

latifk

Do tools like Coolify or Dokku take care of host level security?

satvikpendem

No, you must secure your server yourself much as you would for any other cloud server that's not a PaaS.

jtsiskin

What did coolify have that caprover didn’t?

satvikpendem

Better UI, more streamlined GitHub integration (I could not for the life of me get CapRover's integration to work), Docker compose support

akmittal

Now that Heroku free tier is not available, here are a few alternatives

Serverless and edge functions: Deno, Vercel, Netlify, Cloudflare.

Databases: Planetscale, Supabase, Cockroach, Fauna, Upstash.

Services: Fly, Railway, Render.

https://mobile.twitter.com/Ak_Mittal/status/1567175784229650...

arcturus17

Does anyone have a link to a good analysis about the "death" of Heroku? Say, a good Ben Thompson style piece explaining how it all was subsumed into Salesforce and failed as a standalone service.

Rastonbury

They wanted to go into Cloud if you read the press release, it must have been a pure diversification play albeit poorly thought out. Heroku caters to hobbyists/students/small business, it would've taken massive effort to turn it into the next AWS.

There is almost zero overlap with their main CRM product and PaaS, totally different stakeholders. Whats worse is that they served different segments. Enterprise buyers spending 6 digits on Salesforce are not going to host on Heroku. Hobbyists/indie projects are not going to have sales teams that even need a cheap CRM let alone SFDC. There's almost no cross sell potential.

Heroku probably turned into a black hole on their balance sheet. Post M&A Integration wise there are many accounts of Heroku first employees resisting the corporatisation of the organization, I believe all the founders eventually left a few years after.

It was ultimately probably a value destructive acquisition, left alone imagine what Heroku could have been. Thinking about this is pretty sad. The product is still after all these year almost like 'magic' vis a vis upcoming competitors (Render/Fly). Beyond its products, Heroku was THE gateway for students and learners to spin up an app almost immediately, helping them become professional developers

jrochkind1

I kind of suspect heroku is still making money for salesforce. But I haven't run a business like that before, so I'm just kind of wild-ass speculating that based on the prices they charged as premiums on top of AWS infrastructure, and the fact that lately they haven't been doing a lot of new features but mostly just keeping the lights on (which granted is not free!), and that at least at some point plenty of enterprises with major spends were on heroku...

But maybe not? Maybe the customer base has been shrinking, especially major spend enterprises?

For whatever reason, it seems like salesforce decided to stop treating it as a growth business, and start treating it private equity-style, figure out how to minimize expenses to increase profit, period. But it is I think conceivable they'd try to do that with a profitable business? The end result will probably be shrinking and eventual dying of the business either way... but maybe they don't mind if they wring out maximum profit with minimum investment for 5-10 years (which began some years ago already) first.

jrochkind1

I feel like nobody external really totally understands it. Heroku kept going fine for some years after the initial salesforce purchase in 2011 (heroku's real launch wasn't even until 2009, so arguably most of the "golden" years were post-salesforce... )

I would be very interested to see a balance sheet, like how much revenue and how much profit for heroku specifically, over time. But that's known to nobody outside of salesforce so far as I know. Neither is how their staffing may or may not have changed over time.

We have seen heroku kind of stagnating, and maybe having more technical problems, which they handle without the professional polish we had previously expected, and now get rid of free tier -- and there have been a few pieces kind of saying this, but what I'm interested in is... why? What's happened?

I have seen various people speculate, including that it may have been doing quite fine well in the black as an independent unit, but salesforce has always wanted it to be more "synergistic" with their other business than it has been, and just wasn't interested in investing in it. But maybe it hasn't been that profitable? not sure anyone publicly really knows?

pcthrowaway

This was shared here recently, and documents the nostalgia of a former user and then employee of Heroku prior to the Salesforce acquisition: https://news.ycombinator.com/item?id=31348529

p2detar

I’ve migrated an old PHP7 app from Heroku to GCP the last couple of weeks. I rewrote the CRUD in Go. The rest of the components were an SQLite database and an old (2013) SPA that holds up surprisingly good even today.

Heroku account: deleted.

For small scale projects Heroku seemed thousands of times easier to work with than GCP. I sometimes get lost in all the GCP menus and settings. It’s a lot.

jtokoph

How do you persist SQLite on heroku? Isn’t all storage ephemeral?

p2detar

Good catch and my bad: I should have added that my Heroku app ran on a free ClearDB MySQL instance. I pulled that into an SQLite db for simplicity. The app is in a parked state where it's not doing any write ops at this point, so apart from no FTS support, this went well.

skilled

I understand this is news for a few months now but still, such a hostile way to just unplug projects and to an extent, the history of the web.

I doubt Salesforce is struggling with cash not to let these projects stay online on a “read only” mode.

clintonb

What would you propose they do differently?

simonw

The single biggest thing would be to suspend the websites but NOT delete the underlying data - for at least a month, ideally six.

That way all of the people who missed the news about Heroku and first heard about it when sites they were using stopped working would have a fighting chance to recover their data before it vanished.

Even better: Salesforce could have actually invested resources in Heroku (instead of effectively feature-freezing it a few years ago) such that the thing where the free tier acts as a major funnel for attracting paying customers continued to work, as it had for most of the lifetime of the service.

ehPReth

Completely agree. Scale down to zero and turn off (access to/entirely) databases but do not purge any data for 6m or so, hopefully one last chance and enough time for someone to notice and go "oh no!" and pay up/export data.

Just shutting it down and deleting after notifying via email (did notices go to junk? etc?) is kinda shitty to do.

vachina

If you have a Heroku instance you definitely have a local copy of your code stashed somewhere.

Varqu

So basically anyone with a bunch of free dynos (who doesn't use heroku DBs) can just switch to the $7/month eco subscription and keep their dynos running?

Daily Digest email

Get the top HN stories in your inbox every day.