← Blog
Engineering

Heroku alternatives in 2026, after the feature freeze

Yura Oak
Yura OakAugust 21, 2026

Heroku still works. It just stopped growing. On 6 February 2026, Heroku CPO Nitin T Bhat wrote that the platform is "transitioning to a sustaining engineering model focused on stability, security, reliability, and support" rather than new features, and that Enterprise Account contracts are no longer offered to new customers. Nothing is being switched off, and nobody's app is being moved. But if you were about to build the next three years on Heroku, this is the moment to look at the Heroku alternatives worth moving to: Railway, Render, Fly.io, DigitalOcean App Platform, Google Cloud Run, Northflank, a self-hosted PaaS, or Lizard.

Written 20 August 2026, against price lists published that week.


What actually changed at Heroku

Four sentences, all from Heroku's own post:

  • Heroku is "transitioning to a sustaining engineering model focused on stability, security, reliability, and support".
  • The platform will emphasise "maintaining quality and operational excellence rather than introducing new features".
  • "Enterprise Account contracts will no longer be offered to new customers." Existing Enterprise subscriptions are honoured and may renew.
  • "There is no change for customers using Heroku today." Credit-card customers, new and existing, keep the same pricing, billing, and service.

There is no shutdown date and no forced migration. What there is: a platform that will not add anything from here, run by a company redirecting investment toward AI products. That is a planning fact, not an emergency.

What Heroku costs in 2026

ItemPrice
Eco dyno$5 a month for 1,000 shared dyno hours
Basic dyno$7 a month
Standard-1X (512 MB)$25 per dyno a month
Standard-2X (1 GB)$50 per dyno a month
Performance-M (2.5 GB)$250 per dyno a month
Performance-L (14 GB)$500 per dyno a month
Heroku Postgres Essential-0 / 1 / 2$5 / $9 / $20 a month
Heroku Postgres Standard-0from $50 a month

Dynos are prorated to the second. The number that surprises people is the step size: a web dyno and a worker dyno on Standard-1X, plus Essential-1 Postgres, is $59 a month for 1 GB of total memory, and the next size up doubles the dyno lines to $109.

The eight alternatives, side by side

PlatformBillingWorkersFirst-party databaseBring a DockerfileMigration effort
LizardPer second on measured use: $0.0278 per vCPU-hour, $0.0139 per GB-hourYes, same as a servicePostgres, Redis, S3-compatible storageOptionalOne command
RailwayPer second, same published ratesYesPostgres, Redis, MySQL, MongoOptionalOne project import
RenderFlat tiers: Starter $7, Standard $25 for 1 vCPU / 2 GB, Pro $85 for 2 vCPU / 4 GBYes, as background workersPostgres, Key ValueOptionalBlueprint file
Fly.ioPer machine, performance-1x from $31 a monthYesFly Managed Postgres, or bring your ownOptionalWrite a fly.toml
DigitalOcean App PlatformPer instance, $5 a month at the bottomYesManaged Postgres, MySQL, Valkey, separate billOptionalApp spec file
Google Cloud RunPer request: $0.000024 per vCPU-second, $0.40 per million requestsYes, via worker poolsNo — Cloud SQL is separateOptionalRewrite the deploy
NorthflankPer second, self-serve tiersYesPostgres, Redis, MySQLOptionalTemplate import
Coolify / Dokku (self-hosted)Your server bill onlyYesYou run themOptionalYou own the host

The closest thing to old Heroku

Railway and Lizard. Both bill by the second on measured use rather than on a dyno size, both deploy a worker exactly like a web process, and both provision Postgres and Redis from the same place as the app. Their published compute rates are identical to the cent — $0.0278 per vCPU-hour and $0.0139 per GB-hour — so choose on the rest of the product, not on the rate card.

The closest thing to Heroku's ergonomics

Render. Flat, predictable tiers, a render.yaml that reads like app.json, managed Postgres, and background workers as a first-class type. You pay for the size you picked whether you use it or not, which is either comforting or wasteful depending on your traffic.

If you want the bill to hit zero overnight

Google Cloud Run. It scales to zero and charges per request, and the free tier covers 2 million requests a month. The cost is the model: a Cloud Run Service is built around request handling, so a worker that drains a queue all night belongs on a worker pool — a separate resource, generally available since April 2026 — and the database is a separate Google product.

If you want to own the box

Coolify or Dokku on a VPS. A $12 Hetzner or DigitalOcean server runs several small apps, and git push still deploys. You are now the person who patches the host, rotates the certificates, and gets paged — what that actually involves, step by step. Honest trade, and a good one for side projects.

Mapping a Heroku app onto its replacement

Heroku conceptWhat it becomes
Web dynoA service with an HTTP port
Worker dynoA service with no port — same deploy, same scaling
ProcfileA start command, or an entrypoint in your Dockerfile
Config varsEnvironment variables or secrets, usually set from a CLI
Heroku PostgresA managed Postgres addon, or an external provider
Heroku Key-Value StoreA managed Redis addon
Review appsPreview environments, where the platform has them
Add-ons marketplaceMostly gone — the common pieces are first-party, the exotic ones become direct vendor accounts

For the wider field beyond the eight above, see the best PaaS providers in 2026; if your app is Django, Flask, or FastAPI, the Python-specific notes are here.

The add-ons marketplace is the part people underestimate. Count what you actually use before you move: a mailer, an error tracker, and a scheduler are three vendor accounts you will now hold directly, and that is often cheaper anyway.

Moving a Heroku app to Lizard

Lizard runs each service as a long-lived process in its own Firecracker micro-VM — no dyno sizes, no execution ceiling, and a *.onlizard.com domain with TLS on the first deploy.

npm i -g @lizard-build/cli
lizard login
cd your-app && lizard up

Then the pieces around it:

lizard add postgres redis            # provision managed Postgres and Redis
lizard secrets set DATABASE_URL='${{postgres.DATABASE_URL}}' \
     REDIS_URL='${{redis.REDIS_URL}}' --service web   # wire them in by reference
lizard secrets set SECRET_KEY=...    # your old config vars
lizard up --service worker --port 0  # the worker dyno, with no HTTP port
lizard git connect                   # install the GitHub App
lizard service set web --set sourceType=github \
     --set repoUrl=https://github.com/owner/repo --set branch=main
lizard redeploy --service web        # from here, every push rebuilds
lizard domain app.example.com -s web # your custom domain and certificate

lizard up detects Ruby, Python, Node, Go, Rust, PHP, Java, or a static site and lizardpack writes a real multi-stage Dockerfile on the build node. If your repo already has a Dockerfile, it is used as it stands. Referenced with ${{postgres.DATABASE_URL}}, Postgres and Redis resolve at deploy time, so rotating a password never touches your code.

The same shape as that $59 Heroku app — a web process, a worker, and a small Postgres — comes to roughly $19 a month on Lizard. Size the two services at 1 vCPU and 512 MB each, run them at a realistic 25% average CPU and 50% average memory, and the compute lands near $15; the managed Postgres accounts for the rest. Lizard bills only for active resources, by the second, on what the VM measurably uses rather than the size you picked. The honest counterpoint: a Lizard service bills every second it is up, so a truly idle app is not free, the way a scale-to-zero platform is.


Move one app and see the bill

Free to start with $5 of credit and no card. Hobby is $5 a month.

Get started free → lizard.build/login


FAQ

Is Heroku shutting down? No. On 6 February 2026 Salesforce moved Heroku to a sustaining engineering model — stability, security, reliability, and support, without new features — and stopped offering Enterprise Account contracts to new customers. Existing apps keep running, pricing has not changed, and no end-of-life date has been announced.

Should I migrate off Heroku? Not urgently, and not never. Nothing is being switched off, so there is no deadline. But the platform will not gain features from here, so if your plan for the next three years assumes Heroku will keep pace, that assumption is now wrong. Migrating one small service first is a cheap way to learn what the move actually costs you.

What is the best Heroku alternative? For a like-for-like replacement — dynos become services, workers stay workers, Postgres and Redis come from the same command — Railway and Lizard are the closest. For flat, predictable tiers and a config file that reads like app.json, Render. For scale-to-zero HTTP with per-request billing, Google Cloud Run. For owning the box, Coolify or Dokku on a VPS.

What is the cheapest Heroku alternative? Self-hosting is, if your time is free: Coolify or Dokku on a $12 VPS runs several apps. Among managed platforms, the per-second providers win on anything that is not maxed out around the clock — a Heroku setup of two Standard-1X dynos and Essential-1 Postgres is $59 a month, and the same shape, sized at 1 vCPU and 512 MB per service and averaging 25% CPU and 50% memory, is roughly $19 on Lizard or Railway.

How do I move Heroku Postgres to another platform? Take a dump with pg_dump from the DATABASE_URL Heroku gives you, provision Postgres on the new platform, and restore with pg_restore. On Lizard that is lizard add postgres, then restore into the connection string it prints. Plan a short write freeze, and check your extensions — pgcrypto, postgis, and friends need to exist on both sides.

Do Heroku alternatives support background workers? Most do, and this is worth checking first. Railway, Render, Fly.io, Northflank, and Lizard all run a worker with no HTTP port exactly like a web service. Google Cloud Run does too, through worker pools — a distinct resource from a Service, generally available since April 2026 — while Cloud Run Jobs stays the answer for batch work that runs and exits.

What replaces the Heroku add-ons marketplace? Nothing, one-for-one. The common add-ons — Postgres, Redis, object storage — are first-party products on most modern platforms, so they get cheaper and closer. The rest become direct accounts with the vendor: Sentry, Postmark, Cloudinary, and the like sell to you straight, usually for less than the Heroku-billed plan.

Can I keep using git push to deploy? Yes. Railway, Render, Northflank, DigitalOcean App Platform, and Lizard all connect to a GitHub repository and rebuild on push. On Lizard that is lizard git connect to install the GitHub App, then lizard add -r owner/repo to create the service from that repo — after which every push to the tracked branch rebuilds and ships.


Sources

Build with AI. Ship with Lizard.

You don't need a platform team to go live. Your whole cloud, one CLI command away.

Try for free

No credit card required

We use cookies for essential site functionality and analytics. See our Cookie Policy.