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.
Absolutely, piracy forums have guides to fake being a student to get an unlimited account, then mirror huge (1TB+) gdrives full of pirated content to your own. This was (is?) happening on a huge scale.
For a long time they dealt with the free accounts, so in a way they have already a lot of protections in place, and if they wanted they could keep the existing free accounts and just not accept further signups for this account type.
everyone handrolls prevention measures, i once proposed an industry council where we swap tips, but everyone views it as competitive advantage for some reason so it didnt go anywhere.
> 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.
Self study folks, anyone without a bootcamp connected to a sales team, non traditional schools ... you're out.
I remember changing careers and studying and a lot of sites promised free stuff but if you weren't connected to whomever they worked with / a traditional school you were kinda SOL unless you wanted to go begging on twitter or something like that.
Granted I get they don't want to just be handing out mass quantities of free stuff too / I'm sure people abuse that to no end.
* 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
This please, a thousand times! We're in the midst of a complex transition from Heroku, where we relied heavily on Review Apps for getting stakeholder feedback and QA'ing complex data model changes, to a k8s-on-EKS setup where we have a Helm chart that can duplicate our normal deploy in isolated namespaces for previewing new feature branches based on Github Actions.
Our data cloning and routing needs are rather custom (white labels on top of feature branch releases, with complex fixture-loading processes), so I don't know that we'd make a great initial customer, but there are so many companies out there that should be using preview apps aggressively and don't know what they're missing. If you can make this happen in a modern environment without people needing to know what Argo and Flux are, or how to make a "for" loop in Helm, it could be a significant differentiator - and also provide a lower barrier to entry where prospective customers use you first for low-impact preview environments, then start using you for production as well.
> You can have one free project on your user account, and the resources you create within it will be limited. You will not be billed for any usage within a free project, but you must add a card to your account for verification first.
not having to add credit card info before using the free tier is one of the main reasons for Heroku being so popular with students and toy projects, truly a friction-free experience.
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`
Heroku was early in the integration to GitHub. It was surprising to see how many apps were "broken" and "unable to deploy" with the security incident a bit ago because they did know how to git push they'd only connected their apps to GitHub.
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?
Even now if you emulate that it's one thing, but Heroku has been frozen in time for at least the last 5 years, maybe closer to 7-8 years. There was more to do and more to improve and advance, and it stalled out for reasons. Now just being a clone wouldn't be enough you need to continue advancing the experience.
Another start-up I've been playing with is Railway, who offers 5-10$ of free usage per month, certainly enough to play with react/nextjs app and a postgres db to your hobbyists hearts content (as long as you turn if off when you're done).
If I were to host a bootcamp on starting a web app from scratch I'd do something like stand-up a T3 App https://github.com/t3-oss/create-t3-app on Vercel Hobby https://www.vercel.com . Not sure I'd even consider Heroku for teaching anymore.
Docker/docker-compose has much of the "easy to ship" magic that Heroku had for me in its early years, I very quickly abandoned Heroku for my own container stacks not long after Docker launched in 2013. Its not quite as friendly or easy as Heroku was at its best, but its a completely open format and works with so many different providers etc etc.
When you can just get a database in a container with one line in docker or a handful of lines of yaml in a compose file, the magic of heroku deploying a production database instance easily isn't quite as special as it once was.
That Dokku, the open source Heroku alternative, is at heart a Docker container manager suggests I wasn't the only person with these thoughts.
I'm not sure.
One guess is that heroku actually started with quite a bit less than we now see -- for instance, initially only supported Rails. The bar was so much lower then, since there had been nothing else like it, that they had enough runway to start with much less than would be "table stakes" today and build up to it.
Also they just had a really really really good team, and really good management that let the team go.
And luck maybe?
Not sure what their funding was, if they had funding runway that's hard to get today for a similar product?
But honestly I don't know. There are several competitors trying. None of them have in my opinion yet reached heroku in DX. And it's hard to talk about because it's not just an issue of listing significant features; it's also a million tiny things that are just right and work together just right.
I think it's _something_ about them being the "first mover", and building out initially when there was pretty much nothing like it, and when expectations were lower.
I personally think now there is great demand of complexity from all levels of tech hierarchy. see this: https://news.ycombinator.com/item?id=32439601
Now, you need to deploy Dokku so I get how the two are dissimilar, but I wonder what it would look like for a company to try to offer managed dokku instances (perhaps this is already a thing?).
Does anyone have a recommendation how to re-create the Heroku experience on AWS or Azure?
Besides the perf/security boost you aren't locked in to anything. You could take the same application and deploy it to multiple clouds simultaneously if you wanted to as it is making use of cloud primitives - nothing cloud-specific unlike some of the various serverless offerings.
It’s not a 1:1 experience, but I’ve enjoyed it as an alternative to Heroku for sure. Alternatively, you could spin up a server and install dokku which is pretty close to a shipping experience, but still requires some maintenance and hand holding.
Maybe I'm over skeptical here, but I don't see this being an easy thing for a bootcamp study to acquire or deal with.
Some would say bootcamps exploited a free service and a nice-to-have became an expectation
Also having taught a bootcamp, I think costs to Heroku for bootcamp students would be basically negligible. Their apps tend to only be accessed by them and maybe 1-2 others, and only are really actively used for a few months.
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!
It’s nice to have a single roll up for all of the knobs — “what was the state of the environment” — to tag in things like crash logs.
(It’s also something we can’t easily tool ourselves.)
2) One click dashboard rollback button. Didn’t realize how much we missed this from Heroku.
3) Meta: Public roadmap and feature request tracker. Fly has a habit of surprising, usually pleasantly!, but it’d be nice to know how close or far off something on our wishlist is. (Render seems to do this well.)
CI runs on (almost) the exact same platform as production and we don't have to maintain any of it. When Heroku removes a package from their base image it gets removed from CI and we know if it broke anything.
The pricing model is the same as running our app. Which means if 10 people want to run 10 branches on CI at the same, and each CI run runs 32 nodes in parallel, and takes ~15 min, Heroku gives us 3200 nodes and we pay to run them for 15 minutes. No waiting, no upgrading to a different tier, etc...
I don't see many other people talking about Heroku CI, and Heroku doesn't seem to push it that much in their marketing, so either it's only really amazing for our use case or people just don't know about it yet.
For us it was a lot cheaper than other options when you consider how costly sitting around waiting for CI to start is.
Anyways that would be really hard to leave for another platform.
- volume snapshot downloads (S3 or otherwise)
- built in log drain rather than needing to deploy fly-log-shipper
- customizable Prometheus alert rules. As is to get alerting using the fly-metrics.net “free” Prometheus we need to deploy a copy of Prometheus and federate scrape back, which seems like an anti pattern.
- review environments (eg PR scope deployments) would be ideal but I could see if that’s out of scope for Fly
- After migrating my Heroku app to fly.io I also ran into an error that kept the app from booting: "Failed due to unhealthy allocations - no stable job version to auto revert". Its not clear what or how to diagnose this log error.
- I also tried to auth the cli and ran into an error that hangs all other applications requiring an internet connection on my MBP. I ended up hard restarting multiple times. The error is "Error Post 'https://api.fly.io/api/v1/cli_sessions': net/http: TLS handshake timeout"
Are there any plans to "upgrade" Turboku or release a similar tool that makes migrating Heroku Postgres databases to Fly just as easy?
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.
As with all "let's squeeze all we can out of this" you will continue to make money for a number of years no doubt but you've just destroyed a major onboarding ramp (free tier), your security appears to be a joke from the outside looking in, and your product has been effectively on life support for many years now. A public roadmap is too little, too late. You've lost the trust of developers and it's only going to be downhill from here.
> This does have tradeoffs, but getting the rug pulled out is not one of them - the opposite.
I'm sure the developers with apps on the free tier don't agree and I'd bet good money they will never touch Heroku again if they have their way. I know I won't.
Heroku has a decade-plus of goodwill and developer recognition, and that is being burned to the ground rather quickly.
How about acknowledging that the Free tier is going away because Heroku is basically in keep-the-lights-on mode at this point? The number of engineers who have been laid off or quit has gutted the company, to the point that fighting abuse and spam is not possible, nor is active feature development.
I've submitted a support ticket several times and get a canned response from some poor sod in India who has no idea what is going on. Heroku's Support used to be the model of "how it's done." Now it's a joke.
And security is a joke, as demonstrated by the April "incident" that lasted two months. Reading between the lines, it seems that nobody knows what exactly happened, and the team is probably still waiting for more fallout.
I don't envy your position Bob, you've probably been told to kill Heroku by your leaders, all of whom have never used Heroku nor can explain what a dyno is.
A sad day in the developer world indeed.
We could cut our price by about 50% moving to a competitor. We suspect AWS RDS will work very similarly to Heroku Postgres, and I have been unable to get much clarity from the teams at Heroku on precisely what Heroku Postgres is doing for me that AWS RDS would not do. Is it possible to find out precisely what Heroku Postgres is getting me that AWS RDS will not?
There's always a cost with transitioning, so if there would be some kind of price reduction possible for Heroku, that would eliminate me looking at competitors. I suspect this is out of the question, and you wouldn't want to comment publicly, but I sure would like a reply somehow indicating there may be some plans for this.
Some of the reasons I'm concerned: * the GitHub security issue that lingered for over a month * the DNS issue that hit the other day that resulted in our apps being only spottily available for multiple hours
Missing features, such as: * the lack of wildcard in Heroku Automated Certificate Management * having to share a load balancer with free dynos that might be doing suspicious things and therefore getting our apps blocked at certain customers, even when we're using Heroku Enterprise (this is one reason why I'm okay with free dynos going away, since we've been bit multiple times by this issue over the last decade)
Looking forward to a response - thanks!
(disclaimer: i work at abstra)
Free tier for deployments + AWS Free tier = year or free and convenient hosting
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.
Developer interest has moved on (due to Heroku's mismanagement) and I'd bet the majority of talent has long since left Heroku. It's in a death spiral now.
They're a management goodwill company. Developers work with salesforce because they are told to, not because they want to.
I'd wager that's worth significantly more than the few seconds of compute most of us have gotten in exchange.
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.
With their Amazon Linux 2 they use the Procfile and it feels VERY close to Heroku with deployments (it has its own quirks though, like they have those managed upgrades that are sometimes breaking the app for some reason, etc.) but I am pretty happy with how easy it is compared to the previous AWS EB platform.
The problem is only the cost, i.e., when you have to pay for everything it is a bit more pricey (and settings are pain, those VPCs and security groups and whatnot, not fun)
I'm a founder at https://stacktape.com, and we're trying to provide full power of AWS with a developer-friendly experience, similar to Heroku or serverless framework.
Even after doing a ton of research, I'm still not 100% sure which of the Heroku's features are the killer features that the competing PaaS platforms must replicate in order to have the "Heroku-like" experience.
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?
However, if you’re looking to move a project that costs you money off Heroku, you’re likely to be quite happy with the price-performance ratio that Render offers. I certainly am.
If you're making heavy use of Heroku addons, you'll probably miss that quite a bit.
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.
Maybe encrypt the email attachment with an encryption key that is only accessible behind Heroku's 2-factor login page? Problem is, it would probably still reveal basic metadata and database sizes.
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.
...which was only finalized about a year ago, and "phase one" of Salesforce's several-steps-plan that culminates in screwing up an acquisition is usually needlessly tinkering with pricing and packaging, which just happened recently [0].
The next step, if past patterns are predictors, will be an attempt to bundle Slack into their existing SKUs, then work on integrating Slack with their nightmare CRM codebase/dev-env, and then from there it's all downhill as velocity abruptly halts, the ratio of time spent doing meaningful work vs. time spent doing compliance busy-work stalls out completely, and the brain-drain begins.
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.
Issue tracker? Idea tracker (check this as an example: https://circleci.canny.io/)? Customer support? Email?
It’s unclear if you are trying to be ironic here or serious, but in case you are being serious: this kind of language alienates a lot of technical people and reads like a parody. “Reach out” and “touch base” are salesperson lingo clichés that make people cringe, and using “reachouts” as a noun doubles down on that. Nobody here thinks LinkedIn is an appropriate venue for technical feedback (many people can’t stand it at all), and it’s LinkedIn, not Linked-in. I apologise if this comes across as snarky but if you want genuine communication with technical people, talking like a salesperson cliché undermines your goals. What you communicated with this announcement was “Heroku is in maintenance mode, run by non-technical people”. Your comments here are reinforcing that. If you want to connect with technical people, you have to lay off the salesperson lingo and talk like a normal person not InMail spam.
* HTTP/2 (3?) (on the roadmap) * a refresh of the dyno line-up - at least pass on some of the cost savings of removing/supporting free tier by reducing dyno pricing or preferably bumping specs * auto-scale for all dyno tiers * rebuild security team with reputable lead * edge / multi region active-active DX * edge ssl termination * iterate on chat ops (underrated feature) * more metrics * more alerting (e.g. crashed apps) * better user/access team management (default app roles) * enhanced secrets management in env (2 layers of env view/roles - config vs secrets) * DDOS protection * Treat CI env vars as secrets!
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
Good luck trying to get the tooth paste back into the tube.
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".
Salesforce will be percieved like IBM or Oracle in 10 or 15 years. I already see them that way but it seems like many don't
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.
Edit: Perhaps accounts that authenticate on this page, and that are also taking advantage of free tiers, are being segmented for upsell. It is at least an indicator they are interested enough to read this news.
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.
I am not sure I will ever use them again but I used to find their $7/month plan useful.
Sigh.
I think my primary issue with Render.com was the shared database for PR previews. The way I am setup on Heroku is I run a demo instance that resets hourly and build PR reviews from the Heroku Dashboard when necessary. All with no cost. The shared database makes the PR reviews effectively useless because of the need for the ongoing demo database.
I was also turned off by the default service plan being a non-free one. I got a surprise bill in my first month of testing this because I had not specified the free plan in the service configurations.
Also one of the weirdly nice things from Heroku was the ability to run cron jobs for free. Lacking that I had to create a GitHub Action to handle resetting the demo data every few hours. Just an additional pain.
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.
Don't get me wrong, Heroku is (was?) great, but in the end at some point you have to stop losing money.
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.
Slack _alone_ is enough to keep Salesforce profitable for decades to come.
This feels like a company that is trying to lift numbers somehow short term.
It's a bit unusual. Is identifying them as "freeloaders" not enough for the purpose of what you're saying? It's like... bringing recognition to the fact that some of them are trying to escape poverty via whatever means necessary, but then not actually following through with the moral implications of that.