Webinar Sept 24: Heroku to AWS in one command, with an agent doing the work.

Worried About Heroku's Future? 6 Alternatives That Feel Like Heroku (And What Each One Costs You)

Heroku is not shutting down, but Salesforce has made it a premium, slow-moving product. Here is a dated, priced comparison of Render, Fly.io, DigitalOcean App Platform, Northflank, Porter, and Qovery - plus a 3-stage migration plan you can start this week.

Romaric Philogene
CEO & Co-founder
SEP 6, 2026 · 10 MIN
Worried About Heroku's Future? 6 Alternatives That Feel Like Heroku (And What Each One Costs You)
Outdated article

This article is still accurate but is no longer actively maintained. For the current version, read Top 10 Heroku Alternatives in 2026: When Simplicity Hits the Scaling Wall.

Key Points:

  • Heroku is not shutting down. There is no end-of-life notice. Salesforce removed the free tier on 28 November 2022 and is still shipping the platform (the Fir generation runs on OCI images and Kubernetes). The realistic risk is price and stagnation, not a sunset date.
  • Closest drop-in feel: Render (git push, native runtimes or Docker, render.yaml as the Procfile/app.json analogue). Cheapest predictable managed PaaS: DigitalOcean App Platform, which builds many Heroku apps unchanged via Cloud Native Buildpacks. Best global latency: Fly.io.
  • If your real worry is vendor risk, another single-tenant PaaS is a lateral move. BYOC platforms (Qovery, Northflank, Porter) run the same git-push workflow inside your own AWS, GCP, Azure, Scaleway, or existing Kubernetes account, so the cloud bill, the data, and any committed-spend discounts stay in your name.
  • Cost changes shape, not just size. Heroku charges per dyno at fixed monthly list prices; BYOC replaces that with raw cloud compute plus a control-plane fee, which typically wins above roughly 15-25 always-on services and loses on 2-3 small apps.
  • Migrate in three stages while Heroku still works: containerize, externalize state, then re-implement the platform layer (config vars, add-ons, release phase, scheduler). One service in a day, a full estate typically in 2-6 weeks.

Heroku is not being shut down. There is no announced end-of-life, and Salesforce is still shipping it - the Fir generation moved Heroku onto OCI container images running on Kubernetes. What changed is the price and the pace. So the honest move is to plan a calm migration while Heroku still works, not to panic. The closest drop-in feel is Render, the cheapest predictable option is DigitalOcean App Platform, the best global latency is Fly.io, and if your real worry is "we don't want to get acquired out from under us again," a bring-your-own-cloud platform like Qovery, Northflank, or Porter puts the same git-push workflow inside your own cloud account.

Qovery · Agentic Infrastructure Platform
Kubernetes, operated through one governed API
Learn more

I have spent years talking to founders and CTOs who built their first product on Heroku, loved it, and now feel a low hum of anxiety every time Salesforce reports earnings. This piece is the answer I give them. It is evidence-first, it names prices, and it does not pretend the good alternatives are bad.

Is Heroku actually dying after the Salesforce acquisition?

No. Heroku has no announced end-of-life, and Salesforce is actively developing it. The Fir generation moved Heroku onto OCI container images, Cloud Native Buildpacks, and Kubernetes (running on Amazon EKS, with Graviton support). What changed is the economics: free dynos, free Heroku Postgres, and free Heroku Data for Redis were removed effective 28 November 2022, and Heroku is now a premium-priced, slower-moving product inside a company where it is a rounding error.

Here is the dated timeline, so nobody has to guess. Salesforce signed the agreement to acquire Heroku on 8 December 2010 for about $212 million in cash (TechCrunch coverage from the same day). The free tier went away on 28 November 2022, with Heroku citing the effort its teams spent managing "fraud and abuse of the Heroku free product plans." Through 2024 and 2025, the Fir generation rolled out with new runtime work and a managed inference offering.

What the acquisition actually changed for engineering teams is a higher pricing floor, add-on marketplace attrition, and a feature cadence that trails Render and Fly.io. The roadmap uncertainty is real, but it is uncertainty, not a shutdown notice.

The failure mode to plan for is "expensive and stagnant," not "switched off next quarter." That still justifies planning now, because the migrations that go badly are the ones run under a forced deadline. If you want to watch for genuine warning signs, track these quarterly: Heroku changelog cadence, Common Runtime and Cedar deprecation notices, add-on partners leaving, published price changes, and any Salesforce earnings commentary on non-core products.

Planning a migration and panic-migrating are two different projects with two different budgets. Do the first one now so you never have to do the second.

What should you evaluate before picking a Heroku alternative?

Evaluate on five criteria, in this order: workflow parity, managed data services, where the workload physically runs, pricing model shape, and exit cost if you have to move again. The third one, where the workload runs, is the criterion most teams skip and later regret.

Workflow parity. Score each candidate on git-push deploys, buildpack or Dockerfile builds, preview/PR environments, one-command rollback, config vars and secrets, background workers, cron or scheduler, and log streaming. This is the "does it feel like Heroku on a Tuesday" test.

Data services. Managed Postgres and Redis, automated backups, point-in-time recovery, connection limits, and one thing people forget to ask: is the database the vendor's own service, or a cloud provider managed service like Amazon RDS, Cloud SQL, or Azure Database? That distinction decides how portable your data is.

Where it runs. This determines your compliance posture, data residency, whether you can apply existing committed cloud spend, and whose name is on the bill. Single-tenant vendor cloud covers Render, Fly.io, and DigitalOcean. Your own account covers Qovery, Northflank, and Porter.

The lock-in test, as one question: if this vendor were acquired tomorrow, what do I still own? A Dockerfile, a Postgres dump, and a Kubernetes cluster in your account are portable. A proprietary manifest plus a vendor-hosted database is not.

Team shape. A two-person team should optimize for zero ops. A 20-engineer team with SOC 2 or GDPR obligations should optimize for control, auditability, and cost predictability. Those two teams should not pick the same platform.

Copy this into a spreadsheet: five criteria, weight each 1 to 5 for your situation, then score each candidate 1 to 5. The weights matter more than the scores, because they force you to say out loud what you actually care about.

Which platforms feel the most like Heroku in 2026?

Render is the closest drop-in successor, DigitalOcean App Platform is the cheapest predictable option and builds many Heroku apps unchanged via Cloud Native Buildpacks, Fly.io wins on global latency, and Qovery, Northflank, and Porter reproduce the Heroku workflow inside your own cloud account. Here is the honest read on each.

Render is the one that feels most like Heroku. You get git-push deploys, native language runtimes or Docker, managed Postgres and a managed key-value store, preview environments, and render.yaml Blueprints that play the role Procfile and app.json played on Heroku. Instances start at $7/month for Starter and $25/month for Standard (render.com/pricing). It is genuinely excellent. Its two limits for this conversation: multi-region is weaker than Fly.io, and it does not run in your cloud account.

Fly.io runs your Docker image as a Firecracker micro-VM close to your users across roughly 35 regions (fly.io/docs/about/pricing, regions). Shared-CPU machines start around $2 to $6/month depending on RAM. It has the best latency story in this list. The tradeoff is that the mental model sits closer to infrastructure than to a PaaS, and Postgres is more do-it-yourself than Heroku's one-click add-on.

DigitalOcean App Platform is the lowest predictable price point. Container instances start at $5/month for 512 MB and $25/month for 2 GB (digitalocean.com/pricing/app-platform), and it uses Cloud Native Buildpacks, so many Heroku apps build with no changes. The feature surface is smaller and you are tied to DigitalOcean, which is the point: fewer knobs, lower bill.

Northflank gives you a full build, deploy, jobs, and managed-database stack, and it has a real BYOC mode into AWS, GCP, and Azure (northflank.com/pricing). Pricing is consumption-based, around $0.01667 per vCPU-hour and $0.00833 per GB-hour.

Porter puts Kubernetes in your own AWS, Azure, or GCP account with a PaaS layer on top, priced at $6/month per GB of RAM and $13/month per vCPU on top of your cloud bill (porter.run/pricing). If you want to own everything yourself, Coolify and Dokku sit at the self-hosted open-source end of the spectrum.

Qovery reproduces the Heroku workflow (git-push deploys, preview environments per pull request, environment auto-stop for non-production, per-environment RBAC, managed cluster upgrades) and deploys it into your own AWS, GCP, Azure, or Scaleway account, or an existing Kubernetes cluster you already run (qovery.com/pricing). Its databases are backed by the cloud's own managed services, so your data sits in RDS or Cloud SQL in your account, not in a vendor's tenant.

Here is the head-to-head, and then the one-line verdicts.

Heroku alternatives compared (as of early 2026):

PlatformRuns in your own cloud (BYOC)CloudsGit-push deployBuildpacksDockerfilePreview/PR envsManaged PostgresKubernetes underneathPricing modelBest-fit team
HerokuNoSalesforce-managed AWSYesYes (CNB on Fir)YesYes (Review Apps)Vendor-hostedYes, on Fir (EKS)Per-dyno + per-add-on, fixed monthlySmall teams, <~5 services, ops-averse
RenderNoRender-managedYesNative runtimesYesYesVendor-hostedNot exposedPer-service instance, monthlyTeams wanting the closest drop-in feel
Fly.ioNoFly-managed global edgeVia CLI / ActionsYesYesVia ActionsVendor-hosted, more DIYNo (Firecracker VMs)Per-machine, pay-as-you-goLatency-sensitive, multi-region apps
DigitalOcean App PlatformNoDigitalOceanYesYes (CNB)YesLimitedVendor-hostedNot exposedPer-container, fixed monthlyCost-sensitive small teams
NorthflankYesAWS, GCP, Azure (+ more)YesYesYesYesIn your account (BYOC)YesUsage-based per-resourceTeams wanting BYOC + rich features
PorterYesAWS, GCP, AzureYesYes (CNB)YesYesIn your accountYes (your cluster)Usage-based on top of cloud billTeams wanting K8s in their account
QoveryYesAWS, GCP, Azure, Scaleway, BYO K8sYesYesYesYes (per PR)Cloud managed service, in your accountYes (in your account)Platform subscription on top of cloud billTeams whose worry is vendor risk / cost at scale

The verdicts, no hedging:

  • Want the least friction and the closest muscle-memory match? Render.
  • Global users and latency budgets in milliseconds? Fly.io.
  • Smallest predictable bill for a handful of services? DigitalOcean App Platform.
  • Real worry is "never again get acquired out from under us," plus compliance or cost-at-scale pressure? Qovery, Northflank, or Porter, because they run in your account.

How does the cost compare to Heroku dynos once you run the numbers?

Heroku list pricing is the reference point: Standard-1X at $25/month and Standard-2X at $50/month, plus Heroku Postgres (Essential-0 at $5, Standard-0 at $50) and Heroku Key-Value (Mini at $3, Premium-0 at $15). Vendor PaaS alternatives generally undercut comparable compute. BYOC platforms replace per-dyno pricing entirely with raw cloud compute plus a control-plane fee, which is why the crossover point matters more than the headline rate.

Take a concrete reference workload and price it four ways. Every price below is list price as of early 2026, hyperlinked to its source.

Monthly cost for the reference workload (as of early 2026):

Line itemHerokuRenderDigitalOcean App PlatformBYOC on AWS (EKS)BYOC on GCP (GKE)
Compute (10 services)10x Standard-1X @ $25 = $25010x Starter @ $7 = $7010x 512 MB @ $5 = $502 vCPU / 4-8 GB nodes, **$60-70** on-demand2 vCPU / 4-8 GB nodes, **$60-70** on-demand
Managed PostgresStandard-0 = $50Basic ~$20Managed DB ~$15RDS db.t4g.small ~$30Cloud SQL small ~$30
Cache / RedisPremium-0 = $15Key-value ~$10Managed Valkey ~$15in-cluster or ElastiCache ~$15in-cluster or Memorystore ~$35
Control-plane feeincludedincludedincludedEKS = $73GKE = $73
Platform feeincludedincludedincludedPorter/Northflank usage, or a flat subscriptionsame
Monthly total (infra)~$315~$100~$80~$180 + platform fee~$200 + platform fee

Assumptions: 10 always-on web/worker services at roughly 0.2 vCPU and 512 MB each (about 2 vCPU and 4-5 GB aggregate), 1 Postgres, 1 Redis/key-value, us-east-1 or equivalent, list prices as of early 2026, before any committed-spend discounts. Cloud database and node figures are rounded estimates from the linked pricing pages; your real numbers depend on instance family, storage, and egress. Render figures exclude the per-workspace fee.

Read that table honestly and you see the crossover. At 10 tiny always-on services, DigitalOcean ($80) and Render ($100) beat both Heroku ($315) and raw BYOC ($180 before the platform fee). A flat platform subscription on top of BYOC only makes sense once you have enough services to amortize it.

The crossover flips as service count and always-on hours rise. On BYOC you buy compute at cloud list price and then apply AWS Compute Savings Plans (up to 66% off on-demand, and up to 72% with EC2 Instance Savings Plans) or Google Cloud committed use discounts (up to 57%, and up to 70% on some machine types). Those discounts land in your own account, on a bill in your name. Heroku has no equivalent. That is why BYOC typically wins above roughly 15 to 25 always-on services and loses on 2 or 3 small apps.

Name the hidden costs on both sides so nobody gets surprised. On Heroku: add-on markup, dyno idling on plans that never sleep, and a separate Postgres plan per app. On BYOC: the control-plane fee, NAT gateway and egress, node headroom, and the engineer-hours to operate Kubernetes. That last one is exactly the cost a platform layer exists to remove.

BYOC also gives you levers Heroku simply does not have: environment auto-stop for non-production, right-sized node groups, spot or preemptible nodes for preview environments, and any startup credits or committed spend you already negotiated. Cloud waste is not a rounding error either. Flexera's 2026 State of the Cloud report found organizations estimate 29% of their cloud spend is wasted, and managing cost is their number one priority. Those levers are how you claw some of that back.

Keep the Heroku workflow. Own the infrastructure.
Qovery gives your team git-push deploys, preview environments per pull request, and managed clusters on your own AWS, GCP, Azure, or Scaleway account - or an existing Kubernetes cluster you already run. Start deploying in under 10 minutes.

What does a proactive Heroku migration actually involve, and how long does it take?

A Heroku app migrates in three stages (containerize, move state, re-implement the platform layer), and if the app is already twelve-factor, a single service is typically a day's work and a full estate lands in two to six weeks. Doing it while Heroku still works is what keeps it in that range.

Stage 1, containerize. Translate the Procfile into a Dockerfile, or keep Cloud Native Buildpacks, which Render, DigitalOcean App Platform, and Heroku's own Fir generation all support. Pin the runtime version explicitly and verify the build locally before touching production.

Stage 2, move state. Use pg_dump and pg_restore for Postgres, snapshot Redis or accept a cold cache, and move anything written to ephemeral dyno disk into S3, GCS, or Azure Blob. Lower your DNS TTL a day ahead of the cutover window so you can flip fast.

Stage 3, re-implement the platform layer. Config vars become secrets, add-ons become managed cloud services or replacements, the release phase becomes a migration job, Heroku Scheduler becomes cron, and log drains point at your observability stack. This stage is where most of the real work lives.

De-risk the cutover the boring way: migrate a low-risk internal service first, run both platforms in parallel, keep Heroku warm as the rollback path, and cut read traffic before write traffic.

The things teams forget, every time: static IPs and third-party IP allowlists, SSL certificates and custom domains, Heroku Connect if you genuinely sync Salesforce data, per-app buildpack quirks, and worker concurrency settings.

This is where a BYOC platform earns its fee. On Qovery, stage 3 arrives as platform features instead of Terraform you write and maintain: cluster provisioning, git-push deploys, preview environments per pull request, per-environment RBAC, and managed cluster upgrades. The honest tradeoff is that you now own a Kubernetes cluster, even if the platform operates it for you. If you never want to see a cluster, a vendor PaaS like Render is the better fit.

A checklist you can start this week:

  • Pick one low-risk service and write its Dockerfile (or confirm buildpack build).
  • Export config vars and sort them into secrets vs plain env.
  • Inventory every add-on and name its replacement (managed DB, queue, cron).
  • Do a test pg_dump/pg_restore into a scratch database and time it.
  • Stand up the same service on two candidate platforms.
  • Lower DNS TTL and script the cutover and the rollback.
  • Run both in parallel for a week before you cut write traffic.

Should you stay on Heroku, move to another managed PaaS, or run your own cloud with an internal developer platform?

Stay on Heroku if you run fewer than about five services with no compliance or cost pressure. Move to Render, Fly.io, or DigitalOcean App Platform if you want Heroku-like simplicity at a lower price. Move to a BYOC platform like Qovery, Northflank, or Porter if data residency, committed cloud spend, or "never again get acquired out from under us" is the driving concern.

Decide by trigger, not by vibe:

  • Price shock on your Heroku invoice: Render or DigitalOcean App Platform.
  • SOC 2 or GDPR data residency: a BYOC platform, so data stays in a region and account you control.
  • Preview environments at scale: Qovery or Render.
  • Multi-region latency: Fly.io.
  • Existing cloud commitments or credits, or a team that already runs Kubernetes: Qovery, Northflank, or Porter.

Now the part I care about most. If the lesson from Salesforce buying Heroku is "do not bet your infrastructure on one vendor's roadmap," then moving to another single-tenant PaaS relocates the risk rather than removing it. You are still one acquisition away from the same conversation. Owning the cloud account and the container images is what makes the next migration cheap, because the next migration is mostly a DNS change and a redeploy.

That is the axis where Qovery earns its place, and it is a different axis from Render or Fly.io being good products. Qovery is cloud-agnostic across AWS, GCP, Azure, Scaleway, or your own existing Kubernetes cluster. The bill and any Savings Plans stay in your name. The underlying artifacts are standard Kubernetes objects you keep if you ever leave.

I will also say where Qovery is the wrong answer, because a recommendation you can trust says both. A single hobby app, a team that never wants to touch a cloud console, or a workload that fits comfortably in a $25/month Render plan should not run a Kubernetes cluster to feel safe. Use Render or DigitalOcean and move on.

Whatever you pick, run a 30-day evaluation before you commit the whole estate. Take one non-critical service, deploy it on two candidates, and measure the things that actually hurt later: build time, deploy time, rollback time, preview environment quality, on-call surface, and the real 30-day invoice.

Is Heroku being shut down or discontinued by Salesforce?

No. Salesforce has published no end-of-life or sunset notice for Heroku, and it is actively developing the platform. The Fir generation rebuilt Heroku on OCI container images, Cloud Native Buildpacks, and Kubernetes (on Amazon EKS). The genuine change is commercial: Heroku removed its free tier on 28 November 2022 and is now a premium-priced, slower-moving product.

What is the closest alternative to Heroku in 2026?

Render is the closest drop-in. It offers git-push deploys, native runtimes or Docker builds, managed Postgres and key-value, preview environments, and render.yaml Blueprints that play the role of the Procfile and app.json. Instances start at $7/month for Starter and $25/month for Standard (render.com/pricing). It runs in Render's own cloud, not yours.

Which Heroku alternative is cheapest for a small team?

DigitalOcean App Platform has the lowest predictable price point, with container instances starting at $5/month for 512 MB and $25/month for 2 GB (digitalocean.com/pricing/app-platform). It builds many Heroku apps unchanged via Cloud Native Buildpacks. For a handful of small always-on services, it typically beats both Heroku (Standard-1X at $25/dyno) and raw BYOC once you add a control-plane fee.

Can I migrate a Heroku app to AWS, GCP, or Azure without rewriting it?

Usually yes, if the app is already twelve-factor. You containerize it (a Dockerfile, or keep Cloud Native Buildpacks), move Postgres with pg_dump and pg_restore, push ephemeral files to object storage, and re-map config vars and add-ons. BYOC platforms like Qovery, Northflank, and Porter automate the platform layer so you get git-push deploys and preview environments on your own AWS, GCP, or Azure account without hand-writing all the Terraform.

What is BYOC, and why does it matter when leaving Heroku?

BYOC (bring your own cloud) means the platform deploys into your own cloud account instead of the vendor's tenant. It matters because the cloud bill, the data, the region, and any committed-spend discounts stay in your name, and the running workloads are standard Kubernetes objects you keep if you leave. Qovery, Northflank, and Porter all offer BYOC across AWS, GCP, and Azure; Qovery adds Scaleway and bring-your-own Kubernetes.

How long does a Heroku migration usually take?

For a twelve-factor app, a single service is typically about a day of work, and a full estate usually lands in two to six weeks. The range depends on how many stateful services and third-party integrations you have (static IP allowlists, custom domains, Heroku Connect). Doing it proactively, while Heroku still runs as your rollback path, is what keeps it inside that range instead of turning into a crisis.

Heroku taught a whole generation of developers what a good deploy feels like. You do not have to give that feeling up to stop worrying about a roadmap you do not control. Keep the workflow, and put it somewhere the bill has your name on it.

Romaric Philogene
About the author
Romaric Philogene

Romaric founded Qovery to make Kubernetes accessible to every engineering team. He writes about platform strategy, developer experience, and the future of cloud infrastructure.

Next step

Keep the Heroku workflow. Own the infrastructure.

Qovery gives your team git-push deploys, preview environments per pull request, and managed clusters on your own AWS, GCP, Azure, or Scaleway account - or an existing Kubernetes cluster you already run. Start deploying in under 10 minutes.