It is still one of the gold standards for developer experience. Years after its heyday companies and tools talk about and try to emulate that experience. I recall polling on twitter a few months back which the key feature was:
- git push heroku master
- Heroku add-ons
- Heroku Postgres
- Review apps
And the reality is any one of those could standard on their own. But put together, Heroku simply lets you forget about ops and focus on shipping, and shipping is king.
I fully get it's a business, but can't help but feel this is the writing on the wall for the future.
Gonna pour one out tonight for Heroku.
Edit: And may be trying to figure out how to offer free Postgres databases, cause shutting down databases with 3 months notice feels pretty short. Not sure if that means deleting the data itself or what, but ouch.
> Starting October 26, 2022, we will begin deleting inactive accounts and associated storage for accounts that have been inactive for over a year. Starting November 28, 2022, we plan to stop offering free product plans and plan to start shutting down free dynos and data services. We will be sending out a series of email communications to affected users.
In case anybody was wondering in the article where it says free is going away.
Heroku was a product for its time. These days, I see most students use replit.com (in India, at least), including as part of course curricula at universities (paid plans). I'd say replit has since replaced heroku as the getting started tool of choice.
As for heroku, there are many NewCloud companies waiting to pounce: fly.io, deno.com, vercel.com, netifly.com, railway.app, workers.dev some of the popular ones here, while there's also resurgence in packaged / DIY PaaS FOSS alternatives like supabase.com, encore.dev, temporal.io et al.
> We appreciate Heroku’s legacy as a learning platform. Many students have their first experience with deploying an application into the wild on Heroku.
I'm one of those students. It's good that they will open up something free for students but I suspect it'll never be the same as just signing up and git push heroku master.
* As simple as `git push` to build & deploy services
* One-click addons for Postgres, Mongo, Redis, MySQL and more
* A generous free tier to get developers on board with minimal friction
* Great out of the box observability
* The option to set up pipelines for more complex build/preview/release workflows
You die the heroku, or live long enough to become the villainku.
This was amazing back in the day. I'm much more impressed either digitalocean's App stuff. It just hooks right up to github, autoconfigures, and my devops workflow is reduced to `git push`
Given that many (most?) bootcamps are for-profit, it stands to reason that they should be able to pay for a basic level of Heroku services that their students can use, no?
> Gonna pour one out tonight for Heroku.
You're acting like they're dead, but that seems quite a bit premature.
Let's remember that the purpose of a free tier isn't just to give free stuff away. It's a marketing expense. The hope is that you get people to use the platform without the huge amount of friction involved in pulling out a credit card, and hope that they not only stay, but require more services that push them out of the free tier. You also hope that these free users will tell their friends and colleagues, who might also become paid users.
I'd guess that many bootcamp users would just use Heroku for their class projects, and after the bootcamp was over, never use it again. Their projects would just sit there, deployed on Heroku, active, without being used. Sure, some would end up using Heroku at whatever job they end up at; but, critically, most of them will be going into an org where it's already in use, so the free tier would not have acted as a customer acquisition tool in that case. And sure, some much fewer number would continue using Heroku in a capacity where they wouldn't otherwise do so. And finally, sure, some even much fewer number would both continue to use it, and start paying for it.
I'm sure Heroku's new-customer funnel will suffer somewhat without a free tier. But presumably they believe it's better for them not to have all that fraud and garbage on their platform. And they've been around long enough that they don't really need to work on increasing mindshare all that much.
People bet on Heroku for easy deployments are getting hosed.
And those are your best two reference users??
It seems to me like there’d be a big market for an identical feature by feature Heroku “clone” with a more dedicated (from the outside looking in) team. No more features, no less, just exactly what Heroku did but without the intent to shut down. What’s preventing that from existing?
Does anyone have a recommendation how to re-create the Heroku experience on AWS or Azure?
Some would say bootcamps exploited a free service and a nice-to-have became an expectation
Heroku are training wheels that never come off. I see an overall benefit to dev community, while painful initially, it will be a net-good for people to learn how to deploy an app on a bare metal server.
The only reason we even use Heroku now is because I used it for free over a decade ago.
I get why they made this decision, and I'm excited for Fly.io, Render, etc who can run the same playbook Heroku did 15 years ago. But also a bit sad, from a nostalgic standpoint. Many of us are here because of Heroku's free tier, and I'm very thankful for it.
I look at it now, and...well, I'm all-in on k8s for most things, and cloud functions for most everything else, so I'm really not sure what the advantage of using Heroku would ever be if it they don't have a free plan.
For free databases there are multiple options like CockroachDB and Supabase; throw up a $6/month droplet at DigitalOcean and you get the equivalent of a $50/month dyno at Heroku. Yes it's easier to deploy to Heroku, but it's only a couple hours to set up some kind of CI/CD deploy, and then you can control it more precisely.
Heroku has basically been a "first one is free, but as soon as the business gets big, soak them" company from the start. Given the number of companies offering free levels of cloud functions and hosting, I think that's where most new experimental development will migrate to in the future.
I sympathize with them for giving up in the fight against abuse of their free services, but ... well, I think they're likely to transition to irrelevance if they don't pivot or slash prices soon.
The process: https://fly.io/launch/heroku
The docs: https://fly.io/docs/app-guides/speed-up-a-heroku-app
I haven't used it [the Heroku -> Fly process] myself, but it's been around for quite some time!
They supposedly also decrease latency for your application if you migrate your Heroku app there (again, I haven't used this myself so YMMV): https://fly.io/launch/heroku
You do need to enter credit card information as mentioned in this thread.
We host a lot of individual apps, many that only need free tier DBs and Redis. This change will roughly double the cost of a basic app on pro dynos + DB + redis, from $25/m to $49/m, with no additional benefit.
Heroku is already very expensive. $25/m for 512MB RAM is laughable. At $49/m we could get a decent bare metal server for each of our apps.
If this change included a reduction in pricing to better match alternatives it would be fine. If they only eliminated the free tier for dynos but kept free tiers of add-ons that would be fine. But as is this change will significantly increase the cost for anyone using some free resources.
> We host a lot of individual apps, many that only need free tier DBs and Redis.
I saw a lot of this, and while it's certainly not abuse it was - to my mind - a failure to turn Heroku's multi-tenant DB services into a real product.
Obviously it's not free to provide free services, but because they are "free" they don't get the same treatment and respect. Over time, these free or "hobby" services end up underpinning real production workloads such as SaaS providers using them for low-usage tenants of their own services, or for critical infrastructure stuff like review apps.
Tons of work goes into making those hobby redis and postgres plans work smoothly, abstracting away the complexity involved. If only someone were to put a customer-facing UI and API in front of that, and charge for it - so that you could pay one fixed price for a service that let you host as many DB tenants as you can fit on it, isolated from any other customers? It wouldn't be free, but it would be a killer feature.
It's a pity I don't see anything like that on the roadmap! Oh well, maybe someone else will do it first.
Thanks for writing.
Including my own personal side projects. I like being in one ecosystem, and rather than just move free repos somewhere else, we're going to just move everything.
Also, the Stacktape pricing works way better for companies spending $10-20k/month on infrastructure. With Stacktape, you pay a single monthly fee for the "deployment simplicity" (+AWS fees, which are in general way below PaaS providers). You're not paying the "deployment simplicity fee" for every running instance.
Dislcaimer: I'm a founder at Stacktape.
From where/with what kind of specs? $49/m sounds still well within VPS territory unless I'm wrong.
It was clear even before their horribly bungled GitHub security incident that Heroku was on life support at best and it's been a long time since "Heroku" was the answer to "What PaaS should I use?".
The beancounters took control a while back and are sucking all they can out of it before they discard it's empty shell.
Having Heroku as your PaaS provider seems like a bad business decision at this point. You are just begging to have the rug pulled out from under you.
Inactive for over a year? That's really interesting, because I was a paid Heroku customer for multiple years, but am no longer. I don't even have resources running, but I do have a few apps sitting in the dashboard. I guess I'm fair game for culling, despite being a paid customer in the past and not taking up very many resources.
> Starting November 28, 2022, we plan to stop offering free product plans and plan to start shutting down free dynos and data services.
I understand this from a business perspective, but wow this sucks. There's a lot of projects hosted on Heroku that are just SPA-like demos of OSS tools -- things like theme demos for static site generators and the like. Sure, these are all good candidates for the myriad of other hosts that exist, but I'm sure that a lot will go down and linkrot will creep into the OSS ecosystem. Not a lot of people are eager to migrate projects off on someone else's schedule.
I wish Salesforce the best of luck with Heroku, but this sounds like a "we care about the numbers" move. I hope this means that they actually invest in their product.
…except now I have to migrate them in fucking 2 months of weekends or everything will be deleted?! Thanks for ruining my weekend plans, Salesforce
Either way the writing is on the wall. The Heroku that delighted us all is long dead and the product is on life support at this point to eek some more money from people who haven't already moved on to greener pastures. It's really say to be honest, Heroku felt like magic and was amazing for a number of years and then just stopped being relevant, coasted, and hemorrhaged talent.
The downfall started before Salesforce IIRC but at this point it's clear the heart of Heroku is dead and gone.
I'm sure the other PaaS that have innovated, moved with the times (fly.io/render/etc) are popping bottles today at this news.
Someone doesn't need to be "a stupid MBA" to have made this decision (in fact my guess would be it involved many cross functional and leadership perspectives given its nature).
Also, this is quite possibly something necessary for the future continued health of the business and the jobs it supports. If so, I'd consider it anything but stupid.
Salesforce purchased heroku in Dec 2010. This was before, for instance, ruby creator Matz was an employee (he no longer is). Heroku had only existed for about 2 years when salesforce bought it. I think there are some other features we think of as core to heroku that actually weren't deployed until after the salesforce purchase.
I think a lot of people remember it this way, but I think they are wrong and heroku's golden age actually came a couple years after the salesforce acquisition.
If the appeal of all these systems is horizontal scalability on managed infrastructure, is there much harm in giving away a free local runtime that's vertically scalable with no HA or SLA? The incremental cost for me to self-host something like that is pretty low (near $0) and the benefit of having a non-revocable, free forever runtime for dev deployments has a lot of value (to me). I create a lot of throw away projects to learn and being able to keep them runnable for the long term is useful if I want to go back and reference them / re-learn something.
I also think a consumption based entry level offering is a good option to reduce abuse. If I'm a hobbyist sized user I can use my existing self-hosted resources for dev and testing and the cost of using the paid service is going to be low for me, but can cover costs for the infrastructure provider. I know it's viewed at untenable, but I'd gladly take a community only / per-incident support offering at that level to keep the costs low.
Generally on the web we as consumers seem to cycle through these companies, often pay nothing, and we're bummed each time they quit doing the thing...
Seems like a pattern.
My proudest achievement so far is a dumb-as-rocks little Clojure program that runs on a schedule in a free Heroku dyno. It sends alerts to a Slack channel when there's updates to a Trello board we use at work. All it does is ping Trello's API, check for changes in the new state against a Postgres Heroku add-on that stores the last seen state, and then send formatted messages based on the diff to a Slack channel for me and the few coworkers of mine who pay attention to it. It starts up hourly in a Heroku free dyno, runs for six or seven seconds (JVM lol) and then goes back to sleep. But I'm super proud of it because it's actually useful and I made it myself instead of relying on Zapier or IFTTT or something like that. It sparks joy for me every time I see that it ran correctly.
Now I'll have to find somewhere else to host the little thing, I reckon.
Otoh i know of a medium company (500 employees) that started in heroku and is moving to aws. Apparently they got to the top tier of the DB , and they've stumbled with several limitations by some lack of access .
Now I will either replace it by some DigitalOcean droplet or Fly.io or Railway.app or whatnot. Whichever makes most sense for the growth of the project.
I am pretty sure some of my clients will stay on Heroku just because it's easier and they already pay for most services (so no free tier already) but it means NO NEW clients are coming to Heroku from me.
This will reaffirm for many the sense that Heroku is being dismantled from within. Feature sunsetting and removal of a free on-ramp doesn't help.
If you're looking for a production alternative to Heroku checkout Northflank.
https://northflank.com/docs/v1/application/migrate-from-hero...
https://northflank.com/heroku-pricing-comparison-and-reducti...
Comprehensive support for stateful, ephemeral and scheduled workloads. With a generous free developer tier including build, runtime, databases and cron jobs. Always happy to help teams migrate from Heroku.
(I'm a Northflank engineer + co-founder)
What am I supposed to get inspired about on this page?
For items that look like they ?might? be exciting, they seem hidden behind vagueness: "Official Cloud Native Buildpacks for Heroku languages"
Contrast this with Render's public roadmap: https://feedback.render.com/
That has nice, plain english. I know what they're building, and I can start dreaming about what I might build with it.
1. Heroku already has most of the features on Render's roadmap
2. It's clear Heroku (well, Salesforce) is going all-in on Enterprise, and Enterprise doesn't reward cool new features. They like stability (and jargon-y words).
1) No plans to do regional Postgres backups. Today PG backups are transferred out of the database region and to us-east-1. This is problematic for anyone who takes GDPR seriously and unacceptable for any customer with strict compliance requirements.
2) No possibility of wildcard + ACM TLS. We have to implement our own cert automation using Let's Encrypt instead of relying the fully functional Heroku ACM because we also need to use a wildcard cert. This is something that most SaaS vendors would require.
Heroku are aware of both these issues. For #1 it seems like they don't care. For #2 it seems like it is a result of legacy infrastructure.
Now that these toys aren't free, I would guess likely to move them to AWS or GCP (since they're likely to be cheaper), and at that point we might as well migrate the rest of our stuff as well. It's not just goodwill that Heroku generated from this, it's actual revenue.
We already started looking into a possible migration to another cloud provider. The biggest decision point would be a similar developer experience as with git push heroku master.
My staging environment, which I use very occasionally to double-check major changes, is all free dynos.
I know, I know... but they offered, and I took it. Now if I have to pay for Redis that will be $31 per month - so more expensive, for less functionality, unless I double it to $62.
Just seems meh to go from $16 to $62 and not get anything in return.
I always start a project on a free / hobby tier. I’ll have a few going and they’ll be using basically zero resources because they have no visitors except testers and alpha / beta users.
When a project is ready - click - I switch to paid and start paying. Probably also add the cloudfront add-on. Maybe a faster database etc
If I have to go build the beta version somewhere else (Vercel most likely) I’m not going to switch back to Heroku to host the paid version. I’ve been dealt liking Vercel lately so this is a good excuse to move everting (free and paid) over there.
Sad to see this, but not surprised after the Salesforce purchase. Heroku was a great place for hobbyists and tiny one-off projects. What's a good alternative?
What a drastic change in strategy !
You'd better be paying attention to their emails!
I think this is a particularly tough part of this.
Heroku: please consider instead stashing a backup of that data somewhere, so that users who wake up on November 29th and find that their application has vanished can sign in and at least recover their data to migrate it somewhere else.
That said, I don't really get the feeling that Heroku is willing to put an ounce of extra effort into this, unfortunately.
Back when Heroku first arrived, PaaS was a new idea. It was available ~2009, well before services like AWS Lambda existed.
This was such a paradigm shift that no one knew what to think of it. It takes time to build trust around such a big shift. The best way to do this is to offer to try it for free. Hence, the Free Tier.
People tried it, and were blown away by how easy it was to build services. It was so much easier than managing hosts directly. Fast forward to today. Engineers are generally comfortable with higher-level services. They know what to expect.
So the free tier is used as as part of the funnel to onboard new customers. Back in 2010, that funnel had a /lot/ of customers going in! Here in 2022, that funnel may be basically zero. On top of that, the free tier costs heroku to run.
Cutting off the free tier is in Heroku's best interest. It saves them money and allows them to focus on their current customers. But it does mean that there's no growth in the product any more, unless they offer something new.
That's not because 12 years passed, it's because Heroku didn't innovate or even keep abreast of the competition in that timeframe.
> Cutting off the free tier is in Heroku's best interest. It saves them money and allows them to focus on their current customers.
It cuts off the only onramp they had for entry developers or developers who can't afford to pay their ridiculous prices (I mean come on, $25/mo for 512MB of ram? Is this a joke? It was expensive but understandable when they launched and has only gotten worse while the product has not improved which competitors have blazed past them).
> But it does mean that there's no growth in the product any more, unless they offer something new.
I won't hold my breath, it seems clear they are life support at this point.
They had the markings of a long-lasting company in this space but corporate mismanagement has led to this drawn out death for the company. Salesforce buying the company made a few rich, but it really did turn out to be the nail in the coffin everyone said it would be. :(
I think the struggle is that Salesforce has never historically offered a platform as a service business that is agnostic to its end goal. I imagine the idea of acquiring Heroku was to make it easy to spin up new Salesforce apps, but I don't know that ever materialized in the way they were hoping.
On the other hand, I can only imagine the amount of bitcoin mining and DDOS farms that people must try to deploy on their platform every day. It sounds like a never-ending game of cat and mouse. It's remarkable that they offered free accounts for as long as they did.
* Announcing Public roadmap launch - we'll probably see what they are working on.
* Discontinue free product plans and delete inactive accounts.
Rest of it: corpspeak.
Blog post says "Salesforce has never been more focused on Heroku's future." but this looks like they are just keeping the lights on by deprecating and keeping security up to date. Which isn't bad if the product has reached maturity but I wonder if these really are the most important features users ask for.
Why does the feedback link on the blog post go to a personal LinkedIn page? What is wrong with these companies?
That's how you know they really don't want to hear from you.
Watching for feedback here, but it's nice to know when I'm getting reachouts on product feedback directly who is touching base. Linked-in is great for that. But also, if you want to provide feedback we launched the roadmap on github if that's your preference. Trying to cover both kinds of customers.
1. "Why are we doing this?" should be the very first item. Explain it in clear terms.
2. The blog post that explains the "why" is rather scant on details, with the real "why" buried in text. Nuh-uh. Make it front end center and make it detailed. Developers all across the world have to deal with fraud and abuse and are sympathetic to how expensive it is. We get it. So lay it all out for us! Explain why, in detail, it's so cost-prohibitive that you have no choice but to shut down the free tier! Maybe we'll have more empathy and believe you when you say you really are doubling down on other offerings. Maybe you'll learn that you can actually keep the free tier, since some people in the community have suggestions you hadn't considered yet, and in a few months' time you'll get to thank them for their contributions towards improving your practices and keeping the free tier free forever. Who knows? But without a lot of details, nobody can be of help.
I always wondered how many millions of repos/apps were out there because of stuff like that.
> If you want a Heroku trial, please contact your account executive
Uhh. What
I never ever would have given Heroku a try if it hadn't been a free place to spin up toy projects. I definitely did not have an "account executive".
There's some vague language in here about people abusing the free plans for malicious purposes, but other, much smaller providers don't seem to have that problem. It sounds to me like they've just decided to abdicate the low-end market and go full enterprise, and are trying to hand-wave a justification.
RIP Heroku
Without a free tier you're essentially drawing a line under your uptake and saying no to new customers. That means providing existing infrastructure to larger customers who are going to feel increasingly squeezed by this.
On one hand, I get that they want to get some value out of it before shutting it down, but I have such fond memories of the old Heroku from back in the early cloud days that it still makes me a bit sad - even if it's a very different company today.
The whole point of Enterprise is to keep it running forever so they keep paying without having to think about it.
Generally speaking, Heroku provides a pretty simple, seamless platform to build on. There are much more cost-effective options I could've used for the $16/month I'm throwing at Heroku, but it's provided me the sort of experience I'm after and runs the stack without a whole lot of fuss on my side. Heroku pretty much invented the git-push-to-deploy workflow and that makes for pretty seamless DX.
With my personal GitHub account attached to my employer's organization though, and after Heroku's recent breach, the push-to-deploy magic's gone. I can't re-connect my GitHub account without also giving Heroku the keys to my employer's kingdom (is this intentional, Heroku?), and with no free Redis tier, I'm looking at a $31/month bill for what I could retool to run on a couple Lambdas and DynamoDB for less than a buck a month. As thorny as CodePipeline is, it'll get me back to the push-to-deploy workflow I was previously enjoying on Heroku. Or I can get over to Fly.io and pay...nothing?
I'm no big fish for Heroku, and despite their numerous 'hobby' plans I realize I'm not their core demo, but it'd sure be nice to have a real explanation as to this move.
I mean how much money could they possibly be losing from hobby dynos etc...
Or they're really short-sighted.
To this day, I still haven't found a solution that works as easily as that Rails + Heroku duo did in that time. I still remember when I got my first real paying customer and in about 4 days had a "first version" of their webapp up and heard all the praise they gave.
And it was literally just a initial Rails app with login with Devise, a couple of resources of CRUD and a domain linked to Heroku.
I still have some apps there from my portfolio in the free tier. Probably time to move them somewhere else, but I, as many, was very, very sad to hear that news.
Heroku is past is heyday but I'll never forget my excitement when I got my first real customer app deployed, with database and everything, within hours, with no more than a few weeks of starting to learn programming under my belt.
It's not like they are shutting down right now, but it sure feels like that.
Thank you for the free tier for all these years, Heroku!
This is good news for Fly, Render, etc.
This is bad news for Heroku in the long term. Free tiers are a gateway to users.
I don't think it is, as a paying customer the free instances are such a useful part of the offering enabling us to have a free staging environment and test branches. As a small business, the free instances offset the excessive cost of Heroku.
Who in 2022 is actually using Heroku at serious scale? This is a dying service, no one sane want to bet on that.
> You've requested a page on a website (substack.herokuapp.com) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (substack.herokuapp.com).
I really appreciate all the alternatives people have mentioned in the thread so far. Setting up a giant company cloud on AWS sounds fun, but with this little notice I'll probably just check out Fly/Render to get all my OSS demos/PoCs/etc moved somewhere... And my guess is that wherever I decide to go for that will make that platform the path of least resistance to move my paid apps to, too.
Both the text version of this email (ospo-heroku-credits@salesforce.com) and the mailto it actually links (ospo@salesforce.com) appear to be invalid.
I tried both and got:
> We're writing to let you know that the group you tried to contact ($GROUP) may not exist, or you may not have permission to post messages to the group.
FTR: The correct address is ospo-heroku-credits@salesforce.com
Most places charge per-service and it's not clear that I can have 8 services that mostly sleep (and use less total uptime than a single always-on service).
I'm fine to pay a bit to keep these running, but $7 / service / month doesn't make sense for little toys (an actual business is a very different story)
I mean, was there any sign to the opposite?
Reading the sentence "Salesforce acquires Heroku" basically reads to me as "Giant megacorp buys trendy internet-y company so their name appears in newspapers positively and they have a department where they can put their employees that are too smart for their current job and would otherwise quit".
Mild plug: these days I'm in devrel at Render now, because I think a modern, thought-out PaaS can target most folks' needs. If you're on Heroku and looking for somewhere to jump to, feel free to email me directly (ed@render.com). Happy to chat informally, to give you a non-sales assessment of whether Render fits your needs, and to help where I can--whether it's Render or to point you somewhere else.
They just became another cloud provider in a domain that already has a lot.
We are using paid dynos but free tier redis and Postgres. With literally a couple entires in redis and a few hundred rows in Postgres.
This is going to massively increase the bills for review apps - with 0 positives and no alternatives.
The hacks, the downtimes, the communication, the support, lack of security features, no innovation.
What exactly is heroku offering these days other than - it will cost you money to move? I can’t imagine any serious business moving to Heroku these days.
You are pushing away everyone you have left.
I have done this before — had one "X-core" app and "x-whitelabel-1", "x-whitelabel-2", and so on, connected to the same database while each app used different database name.
Heroku was great for us. But they didn’t seem to stay competitive with the alternatives.
They want to work with accounts and upsell those accounts. It's an entirely different business model, and isn't really compatible.
We were planning to move off anyway, but this isn't a change that would keep us. A price change to make Heroku competitive would have potentially kept us on board.
I don't think Heroku can ever be competitive by remaining a layer on top of AWS.
It's frustrating that I haven't found many good options for hosting a program that's constantly running but using few resources. I suppose it's not very profitable to do that kind of thing for around $5/month.
(I believe the "upstream DNS provider" was also Salesforce, so they don't really get to switch blame.)
https://blog.battlesnake.com/deploying-web-servers-for-free-...
It's really a shame, given how much we've relied on Heroku free tiers to lower barriers fr all.
You might want to add a note regarding Railway's free plan:
"Render’s free database plan allows you to run a PostgreSQL database that automatically expires 90 days after creation" [0]
So it's more a trial than a free plan like Heroku's was (e.g., free forever under 10k rows)
Heroku is already a big name. They are bought by salesforce. They just don‘t care anymore.
Alternative for Heroku Runtime (server) https://finddev.tools/alternative-to/heroku-runtime
Alternative for Heroku Postgres (database) https://finddev.tools/alternative-to/heroku-postgres
Or here in general with "what's free" information: https://freestuff.dev/alternative/heroku/
Hope it helps for someone who wants to start side project!
I remember meeting @craigkerstiens through Heroku -- I started using it back when they first released a beta Python buildpack. I also made friends with a ton of amazing people over the years through Heroku. It was a magical company with amazing engineers.
Over the years I've written a lot about Heroku on my blog (https://www.rdegges.com/), and even wrote a book on Heroku many years ago (https://www.theherokuhackersguide.com/), which really helped improve my technical writing chops, and got me into the public eye.
RIP Heroku
It seems founders should adopt a similar stance: Friends don't let friends get bought by Salesforce.
I wonder if James et al regret having fed their baby to the devil. Surely a better buyer could have been found, one that doesn't destroy everything they touch. But no blame here. They had their well-deserved payday and we shall remain grateful for all the good patterns, ideas and years of solid service they contributed to our craft.
R.I.P. Heroku!
Seeing my app live on Heroku made a really lasting effect, and now several years later I am still using Heroku (paid) and I am very happy client.
But - If Heroku didn't have a free tier then, I wouldn't probably have tried Heroku, maybe even knew what Heroku is
From my (client, paid) perspective, this seems very weird move, although maybe needed to save in costs; but maybe an approach like GitLab where you deprecate unused projects would work better?
Also, if you're testing the deployment process, what's the minimum charge? Say I push a project, test it to see that the deployment worked, and then destroy the project in less than three minutes. Will I be charged for three minutes of resources, or is there some hourly/daily/monthly minimum? I can't find that kind of info anywhere.
Yeah, that's accurate. If you need a worker (like celery), then that's another $7, as that's an extra dyno. If you need redis, then that will be another $15.
> Also, if you're testing the deployment process, what's the minimum charge? Say I push a project, test it to see that the deployment worked, and then destroy the project in less than three minutes. Will I be charged for three minutes of resources, or is there some hourly/daily/monthly minimum? I can't find that kind of info anywhere.
They charge you per minute (or per second?) iirc.
I use their free tiers and store all the static files on IPFS (pinned for free with web3.storage) and accessed over the cloudfront ipfs gateway which cached pretty well
I used to pay Heroku for my hobby and not fully fleshed out ideas. But now I do everything they offered for free! (well. don't really have a free memcache and database solution, but I just stopped doing system designs that included those, and disqualified ideas that needed them)
Overall it feels strange. Next chapter feels more like a “our incredible journey” less of a bold goal. Also really want to make everyone realize it’s Salesforce Heroku now.
Nothing about this is remotely surprising. Over the last 12 months their reliability has nose dived and their support has become borderline useless.
We’re planning on migrating to Fargate in the next 6 months. I am VERY much looking forward to shutting our Heroku account down.
I'm a founder and we specifically don't focus on running custom apps, but a moderated selection that also gets updates and optimizations. Like an app store for open source web apps.
I'm a founder and we specifically don't focus on running custom apps, but a moderated selection that also gets updates and optimizations. Like an app store for open source web apps.
Was a long term paying customer. Bye bye
Entitled millennials.
I had paid services on them and it wasn't trivial but it was for Heroku so it was OK. I don't know, they will go back to free at some point but it will be too late.
A bit more context if it matters, I use it very lightly, and I’m interested on ease of use and ability to have a DB attached to it (I was using PostgreSQL, but any SQL DB would do it).
Now overnight it's just gone.
Google and Oracle can afford to provide a free micro VMS, smaller companies like Heroku can not. Google and Oracle probably get good value for letting people have free, never expires, micro VMSs.
Sigh.
I have an open source hobby endpoint hosted for free on heroku for many years. Used by a bunch of websites / discord bots / desktop applications as a REST backend.
Annoying to have to open a case just to continue operating.
Looks like my only options are paying $504/y or moving to another service.
Sad day for the service.
For the first few years it was somewhat hands off. Let things gel and start installing SF leaders into the upper ranks on the Heroku org. Then the endless strategic plans to integrate and transition both advancing SF existing stacks and extending Heroku stacks with SF specialty hooks. Heroku Connect, etc.
The young elite engineers at Heroku had very little interest in build CRM product. So it wasn't necessarily full blown revolt, but rather total lack of enthusiasm and effort. Which led to some key firings in management, and more crony installation until the real heads of Heroku took the reigns and secretly put all future energies into SF integration to the extent that Heroku should ultimately become a product wing of SF much Einstein, <fill in the blank> Cloud..etc.
At this point, upper management told Heroku staff not to worry. Nothing is getting cancelled and every manner of 'remain calm' language. Narrowly curbing a full blow revolt. The key facilitators of which being coaxed into supplying company wide admissions that they were wrong, and everything is fine, and hurray, I love Heroku and I love SF. All of them were then discreetly fired weeks later, some of which continued the ruse, probably under duress, that everything is great and this is just a move based on growing a career and not dissatisfaction.
Over the next couple years, the typical corporate agenda played out of endless cost cutting, employee benefit slashing, and general freedom neutering. The talent by this point had drastically evaporated.
And here we are today. No talent to extend and create new services. No ability to keep pace with other cloud offerings. Continued denial about the true reality of what is going on with the business. With multi million dollar customers more or less in the dark about the fact they are running on what is tantamount to abandonware. Enter the first waves of service sun setting seasoned with a nice dose of kool aid.
You need to realize something else. Heroku was never unprofitable while SF owned them (possibly ever). It's just that the millions Heroku was generating was literally peanuts compared to the SF earnings. They needed to scratch an itch and thought they could do it by just buying the tool factor rather than the tool. The fact that they drove the tool company into the ground is of little consequence when you look at the numbers in play.
There are specific people who are directly culpable for the downward spiral of Heroku. Yes-men/women without a single stitch of the vision and drive that created Heroku and it's earlier success.
Heroku died in my arms years ago. It's all very sad.
I've not found the time to write up the entirety of my experience unfortunately, but I did move a bunch of stuff off Heroku over the past couple of years and directly onto AWS. It was a very piecemeal approach which had the double benefit of being low/no impact to end users while also letting me do it at my leisure. My general approach was:
* Import my current Heroku config into Terraform resources so I can co-ordinate changes across multiple platforms as a single atomic change.
* Embrace a strangler pattern (https://www.redhat.com/architect/pros-and-cons-strangler-arc...). I used Cloudfront, but you could put any CDN in front.
* My databases + workers were a large part of my Heroku bill, and I had a very spikey usage profile (potentially days with near zero usage, with brief peaks), so I used it as an opportunity to refactor towards a serverless infrastructure (https://glenngillen.com/safely_migrating_from_heroku_aws_ser...). This was entirely superfluous to the migration though. If I'd not taken that approach the alternate would have been to provision and RDS Postgres instance, add the required IAM profiles to my Heroku app. Work out how/when to schedule a window to cutover to RDS being the primary DB. Update the DATABASE_URL accordingly. Again, doing all of this via Terraform to make it happen. But doing it in small incremental steps where possible (i.e., adding the IAM profiles to the app first). Once cut-over, take a final snapshot of the Heroku Postgres database and then shut it down.
* Updating the code on my workers to be idempotent.
* Make sure config vars are imported to Terraform and are sync'd to the various places they need to be (probably just the Heroku app for now).
* Have the workers run inside containers on AWS (doing them just one worker at a time), exposing the required config vars for them to work. Let the Heroku + AWS workers both process the work for a period of time, hence the need for being idempotent. Once I'm confident the AWS ones work as intended, shut down the Heroku workers. * Picking off individual paths/API endpoints to serve from AWS. In my case I also migrated all of this to API gateway + lambda. An ALB with EC2/ECS would have also been an alternative. Add a new path based route to your CDN (e.g., /v2/the-existing-path) and have it's origin point to your non-Heroku service. Test it. Once it works, update the existing path that users are using to now go to the new origin. It means if you discover some issue you can quickly update the routing to have Heroku resume serving that route. Once you're confident, rinse and repeat the next path. Continue through until all traffic is ultimately served by the new host.
* If there's nothing left then scale down the remaining processes on Heroku.
I've gone an all-in AWS approach, but the same general principle could apply to whatever platform you want to run on. I think the biggest thing people I've spoken to in the past about this overlook is that you don't have to make some big wholesale switch. There's ways to derisk it and take an incremental approach to migrating. Which also drastically reduces the cost of making the wrong decision. If you can run just one route through AWS/Fly/DigitialOcean/whatever then you can get a sense for whether it will _actually_ work for your needs, and quickly roll back if you change your mind.