Heroku alternatives: how to choose and migrate safely
For a Heroku alternative, start with the processes and add-ons your app actually uses. Lizard, Railway and Render are candidates for a web process, a separate worker and a database. Cloud Run fits a different resource model. A VPS gives more control and leaves server operations with you.
Heroku remains an option too. Its move to sustaining engineering does not mean existing applications have to leave immediately. This Lizard comparison checks the linked sources as of 9 September 2026.
What changed at Heroku
On 6 February 2026, Heroku announced a focus on stability, security, reliability and support rather than new features. The notice says credit-card customers, including new ones, can keep using the product. It does not announce a general shutdown. Read Heroku's statement.
The decision to move should follow a concrete requirement: cost, a needed feature, deployment constraints, or your view of the product's direction. An unsupported claim that the service is closing creates urgency without helping you plan.
Map your Heroku app before comparing hosts
| What you have | What the replacement must provide | Migration check |
|---|---|---|
web process | An HTTP service and routing | Port, proxy headers, health checks and timeouts |
worker process | A separate worker runtime | Queue access, retries and safe shutdown |
| Release command | A controlled migration step | Exactly when it runs and what happens on failure |
| Config vars | Service configuration and secrets | Variable names, scope and credential rotation |
| Heroku Postgres | A compatible PostgreSQL target | Extensions, versions, roles and restore time |
| Redis or another add-on | A compatible managed or self-run service | Data format, connection settings and ownership |
| Review apps and pipelines | A deployment and promotion workflow | How test environments differ from production |
Do this inventory before choosing by the smallest web-instance price. The worker, database and add-ons often decide which option is practical.
Compare the closest operating models
Lizard: evaluate it when you want web services and workers plus Managed Postgres and Managed Redis, operated through the Lizard CLI. Explicitly configure the application's connection variables after provisioning the data services.
Railway: evaluate its project and service workflow if you want to manage several parts of an app together. Railway meters consumption; a paid plan includes credit toward usage. It is not a fixed-price replica of a dyno. Railway billing.
Render: evaluate its web and worker instance plans when selected capacity is easier for your team to budget. Price the database and any workspace requirements as well. Render pricing.
Cloud Run: identify whether each process belongs in a Service, Job or worker pool. A direct copy of a Procfile does not define the Cloud Run architecture. Cloud Run resource types.
A VPS with Coolify or another deployment tool: consider this when you want control of the host and can maintain it. A deployment interface does not take over patching, storage durability or disaster recovery. The Django VPS guide shows the work a server-based setup includes.
For more options, use the PaaS comparison.
Compare the full monthly bill
Heroku's published Cedar prices include Basic at $7/month and Standard-1X at $25/month. These are dyno prices, not a quote for a web app, worker and database together. Check the foundation and plan your app uses. Heroku pricing.
On any replacement, include every process, database, retained file, network charge and required plan feature. For a metered plan, measure consumption and account for its credit. For fixed instances, count all billed instances and their operating time.
Keep the same workload in the comparison. Do not assume that a replacement uses a fraction of the CPU or memory without running it. Also include a period when old and new systems operate together during the migration.
Move a copy before changing traffic
- Export a configuration inventory without placing secret values in a public document. Pin runtime and dependency versions.
- Deploy the web process and worker as separate test services. Verify their start commands and shutdown behaviour.
- Restore a database backup into a test database. Check PostgreSQL extensions, row counts and application-level reads and writes.
- Test login, email, uploads, payments in test mode and background jobs. Check callback domains and webhook URLs.
- Decide how to handle writes during cutover. A maintenance window is often easier to reason about than two writable copies.
- Take the final backup or finish replication, switch application connections, then change traffic. Watch errors, jobs and database activity.
Keep a rollback plan that includes data written after the switch. Pointing DNS back does not move those writes into the old database.
On Lizard, start from the GitHub deployment guide and variable references. Read the worker settings separately from the web service settings.
When staying is reasonable
Staying on Heroku can be the lower-risk choice when the app meets its requirements, your team knows the operating model, and moving would consume time better spent elsewhere. A mature app can depend on add-ons, release steps and internal practices that no feature table captures.
Write down the change you want from a new host. If a trial does not demonstrate it, a migration has not yet earned its cost.
FAQ
Is Heroku shutting down? The cited announcement does not say that. It describes sustaining engineering and continued service for credit-card customers. Assess the current statement and your contract rather than treating it as a shutdown deadline.
Can I keep my Procfile? It is a useful inventory of process commands. Check which entries your chosen host detects automatically and configure the others as separate services or jobs.
Can I move Heroku Postgres to another PostgreSQL service? Often, but test the version, extensions, roles and restore process. The application must work against the restored data before you switch production traffic.
Will migration reduce costs? Only a complete estimate and a representative trial can establish that. Include the database, workers, storage, traffic and temporary overlap between hosts.
Build with AI. Ship with Lizard.
You don't need a platform team to go live. Your whole cloud, one CLI command away.
No credit card required