Say Goodbye to Heroku Free Tier: Here Are 4 Alternatives
Tags: heroku, devops, webdev
Published: 2023-02-12 14:12:12

28 November 2022 was a sad day for developers. If you haven't heard, Salesforce (Heroku’s parent organization) has phased out its free tier plan on this date.

For many years, Heroku has been the de facto standard platform as a service (PaaS). So many students and developers deployed their first web application on Heroku. Anecdotally, Heroku has been pivotal for my career.

_TL;DR, if you’re looking for Heroku free tier alternatives, check out [free-for.dev/#/?id=paas](https://free-for.dev/#/?id=paas). I migrated my Cron jobs to [Northflank](https://northflank.com/pricing) and Heroku Dynos to Koyeb._

## A lot has happened

For context, a lot has happened in the year 2022 for Heroku. The two most notable events are:

1. On April 2022, Heroku had a security breach ([incident](https://status.heroku.com/incidents/2413)) where CI and Review App secrets were compromised. GitHub Actions integrations on Heroku were down for a couple of months. Comms from Heroku were objectively bad. I experienced this firsthand when I had to resort to using a [GitHub CI Action](https://github.com/marketplace/actions/deploy-to-heroku) for my app deployments.
2. On August 2022, [Heroku announced the removal of their free product plans](https://blog.heroku.com/next-chapter).

If you have been keeping an eye on the Internet, you would see people expressing concerns about how [Heroku is losing its magic](https://news.ycombinator.com/item?id=31390506). Ever since the security breach incident, I see more talks about Heroku alternatives taking place.

Though things started to look bad, whatever Heroku had to offer was still great and I decided to stick to it. Until now, that is.

## Heroku alternatives

For the past couple of weeks, I have been moving my demos and [tiny projects](https://jerrynsh.com/tag/tiny-project/) out of Heroku.

If you’re still looking for Heroku free tier alternatives, check out [free-for.dev](https://free-for.dev/#/?id=paas) ([GitHub](https://github.com/ripienaar/free-for-dev)).

While there are a bunch of blog posts and recommendations scattered on the Internet now, free-for.dev provides the best coverage. The list comes with a brief description of what each Heroku alternative does.

### What I was looking for

Do note that my use case is mostly for small-scale personal projects. So, whatever I have written may not be ideal for your use case.

1. Equivalent **free tiers** in terms of CPU and RAM. (_spoiler: none of them were as good_)
2. Support for Cron jobs out of the box. Ideally, no weird workaround is required
3. Custom domain
4. GitHub integration
5. Support for basic logging and monitoring (i.e. CPU, memory, disk, network metrics)

The bandwidth cost and supported region of each PaaS are not my primary concerns.

### My picks

_Heroku Postgres_ — since May 2022, [I have migrated from Heroku Postgres to Railway](https://jerrynsh.com/saying-goodbye-to-heroku-postgres/). So far, I have no complaints about it. Another alternative that I was looking at was [PlanetScale](https://planetscale.com/). However, I didn’t go for it because it isn’t Postgres-compatible.

_Heroku Dynos apps_ — [Burplist](https://burplist.me/) was migrated to [Koyeb](https://www.koyeb.com/tutorials/migrate-from-heroku). Having tried out other notable Heroku alternatives like [Fly.io](https://fly.io/docs/rails/getting-started/migrate-from-heroku/), [Northflank](https://northflank.com/docs/v1/application/migrate-from-heroku), and [Railway](https://railway.app/heroku), I can safely say that the migration from Heroku to Koyeb required the least amount of effort and kinks. It just works in my case.

_Heroku Scheduler_ — for my Cron jobs, I opted for Northflank. Their support for Cron jobs is by far the best. Pricing aside, the developer experience is much better than Heroku Scheduler.

_Heroku Add-ons_ — not applicable to my case. I was relying on Heroku Add-ons for monitoring and logging. Thankfully most of the modern PaaS today support that out of the box.

### Some thoughts

Woefully, most Heroku alternatives’ free tiers aren’t as good as Heroku. For example, _most_ of the free compute instances provided are 1 shared CPU and 256 MB RAM (Heroku Free Dynos started at 512 MB RAM). Not considering the limited number of apps allowed yet.

To my surprise, most of these PaaS still don’t support running Cron jobs natively. Shoutout to Northflank again for providing such capability with great developer experience.

For Koyeb, the supported regions for free tiers are quite limited at the time of writing this.

Lastly, [render.com](https://render.com/pricing) is another popular alternative out there in the market. You may want to check them out.

## Cost Comparisons

_Updated as of 1 Dec 2022._

### Free tiers

### Pricing

Free tiers aside, most of these Heroku alternatives bill you for the resources you use **by the second/minute/hour**.

One thing that I did not cover here is **bandwidth cost** (inbound + outbound). This is something you might want to seriously consider for bigger projects.

## They feel… different

Perhaps I am biased. There aren’t any obvious drop-in replacements for Heroku free tiers (at least not on par with Heroku’s generosity). Throwing free tiers aside, most of them don’t offer the same kind of developer experience as Heroku.

Heroku free tiers are one of the best things that have ever happened to software engineering in my opinion.

I really appreciated [Heroku’s free dyno hours](https://devcenter.heroku.com/articles/free-dyno-hours). I didn’t mind the fact that dynos goes to sleep and only gets woken up when it’s needed — this means I could host multiple demos at once and only consume my free limits on demand.

Need to show something to someone quickly? Simply send them your URL. It’ll be up in a couple of seconds and I am totally cool with the cold start. This developer experience is something all the existing platforms cannot give, at least not with their free tiers.

While I’m a happy paying customer, it stings to pay $5/mo for something that I do not use 99% of the time.

## Closing Thoughts

Sadly, it is how it is. The Internet is a gnarly place. If you are offering free service on the Internet, people will find a way to abuse it. I remember [hosting my first URL shortener](https://jerrynsh.com/i-built-my-own-tiny-url/). On my first day of making it public, the service immediately got spammed. I had to implement CAPTCHA and expiring links to mitigate abuse.

Today, whenever I see something available for “truly free” (_if you know what I mean_) created by individuals, I can’t help but wonder how are they going to keep the lights on sustainably out of goodwill. I just hate to see someone’s good intentions fail. [Maybe we should start paying for Internet stuff](https://news.ycombinator.com/item?id=33432820).

Though I use cloud services like AWS almost every day, PaaS like Heroku always holds a special place in my heart.

Heroku was amazing. I think it did a great job of raising the bar in the PaaS field besides indirectly advocating free education (in one way or another).

Thank you, Heroku, from the bottom of my heart.

---

_This article was originally published on [jerrynsh.com](https://jerrynsh.com/bid-farewell-to-heroku-free-tier/)_