Skip to main content

Heroku Is in Sustaining Mode: What Staying Costs vs a €4.35 Hetzner Box

13 min readDora NodaDora Noda
Share

Salesforce did not raise Heroku's price. It did something more expensive: on February 6, 2026, it announced Heroku is moving to a sustaining engineering model — security patches and uptime, but no new features and no new Enterprise contracts. Back4App's February 2026 ranking put it bluntly: Heroku is still running, but it is no longer being built.

If you still push to Heroku, the pricing page still says $5/month. This post tests whether that buys what you think, against the benchmark box — a Hetzner CX22 at €3.79 net, ~€4.35 with VAT, 20 TB included.

TL;DR — the stay-vs-own math for one small Rails or Node API with Postgres:

SetupWhat you getMonthlyAnnual
Heroku Eco dyno + Mini Postgres$5 Eco (1,000 hrs shared, sleeps) + $5 Mini (10K rows) = $10 — but not always on$10$120
Heroku always-on floor — Basic dyno + Mini/Essential 0 PostgresAlways on, 512 MB, sleeps never, 1 GB DB$12 ($7 + $5)$144
Heroku Standard-1X + Mini512 MB, always on, production tier$30 ($25 + $5)$360
Hetzner CX22 — owned2 vCPU / 4 GB RAM / 40 GB NVMe / 20 TB traffic€3.79 (~$4.15, ~€4.35 with VAT)~€45–€52 (~$50–$57)
3 apps on Heroku Basic+Mini3 × $12$36$432
3 apps on one CX22Same box, containerized€3.79~€45
10 apps on Heroku Basic+Mini10 × $12$120$1,440
10 apps on one CX22 or twoStill one or two boxes€3.79–€7.58~€45–€91

A single always-on Heroku app already costs 2.6× the Hetzner box before traffic scales. Three apps cost . Ten apps cost 26× — and that is the conservative comparison using Heroku's cheapest always-on tier, not Standard. The rest of this post shows where each line item comes from, why "Heroku never raised prices" is the wrong way to read a sustain-mode announcement, and what owning the box actually costs you in operational work.


What Salesforce Actually Announced on February 6, 2026

The announcement came from Nitin T. Bhat, Heroku's Chief Product Officer, in a short blog post that landed on a Friday afternoon — the kind of timing industry press immediately called "taking out the trash." The key sentence:

"Today, Heroku is transitioning to a sustaining engineering model focused on stability, security, reliability, and support ... Enterprise Account contracts will no longer be offered to new customers."

Salesforce was explicit about what that phrase means in practice:

  • Existing customers — including credit-card-billed teams and current Enterprise accounts — see no immediate change. Existing Enterprise contracts continue and can be renewed.
  • New customers can still sign up on pay-as-you-go credit-card billing.
  • New Enterprise contracts are closed. If you were not already an Enterprise customer, that door is shut.
  • Engineering investment shifts to what Salesforce now calls Agentforce and enterprise AI, not to Heroku platform features. The one noted exception is a previously announced revamp of Heroku's managed Postgres, which the company says will still ship.

Reaction was fast and largely uniform. The Register headline was "Salesforce puts Heroku out to PaaSture." InfoWorld framed it as "prepping to phase out Heroku." DevClass noted developers immediately reading it as "they're planning to coast and let the product slowly degrade." Back4App's February 2026 alternative ranking — the reference this list's TODO cites — listed Heroku among ranked options but annotated it as sustaining mode, no new Enterprise contracts, and that annotation has since been echoed across every migration guide that updated in Q1 2026.

This was not a free-tier moment. Heroku killed the free tier in November 2022 and the platform absorbed it. This is different: the free tier removed a subsidy, sustaining mode removes a future. There are no new features coming to bet on. For platform-evaluation purposes, that is a product decision with the same weight as a price increase — it just bills you in risk instead of dollars.

Heroku, acquired by Salesforce in 2010 for $212 million, defined git push heroku main. The 2022 free-tier removal, 2023 Eco/Mini plans, and long gaps between platform updates were already read as slow divestment. February 2026 made it official.


The Real Heroku Bill, Line by Line

Heroku's pricing page leads with the low-cost set that replaced the free tier — where the "$5" claim lives.

Dynos at the bottom

  • Eco Dynos — $5/month for 1,000 dyno hours shared across all Eco dynos in the account. Eco dynos sleep after 30 minutes of inactivity and do not burn hours while sleeping. Up to 1,000 hours of sleepy, bursty coverage for $5 sounds generous until you run the math for always-on: 730 hours per month per dyno. Two always-on Eco dynos already exceed the 1,000-hour pool and start overaging. One always-on Eco dyno technically fits, but it still sleeps — so a production API with a wake-up lag on every cold request is not the same product as an always-on service. Eco is priced for experimenting, not for serving.
  • Basic — $7/month per dyno, always on. 512 MB RAM, no sleeping. This is the honest floor for "my app should answer on the first request at 3 a.m."
  • Standard-1X — $25/month, 512 MB, the traditional production default that most tutorials still assume.

The database you almost always need

Heroku's filesystem is ephemeral, so nearly every app adds Postgres. Two bottom tiers matter:

  • Mini — $5/month, 10,000 rows, the direct successor to the old free-tier database.
  • Essential 0 — ~$0.007/hour, about $5/month, 1 GB storage, no row limit. Same price point, different constraint.

Mini's 10K-row limit is a real ceiling for any app that persists users or logs; Essential 0 trades the row cap for a storage cap. Either way, add $5.

Two realistic always-on totals

  • Experimental / hobby that tolerates sleep: Eco $5 + Mini $5 = $10/month ($120/year). Suitable for a personal side project you demo occasionally. Not a production API.
  • Cheapest always-on production: Basic $7 + Mini or Essential 0 $5 = $12/month ($144/year). Single process, 512 MB, one database, basic alerting, Heroku's routing and TLS included.
  • Conventional production: Standard-1X $25 + Mini/Essential 0 $5 = $30/month ($360/year). This is the number most migration guides quote because it matches the performance envelope a CX22 competes with.

What is not metered separately is worth naming: Heroku bundles bandwidth, automated TLS, and routing into the dyno price. There is no per-GB egress line to watch the way there is on Render, Fly.io, or AWS. That is a genuine simplification — and it is also why Heroku's bill scales by per-dyno multiplication rather than by traffic: two apps cost twice, ten cost 10×, even if they barely use CPU.


The Hetzner CX22 Bill, Line by Line

Hetzner's Cloud price that anchors this newsletter's comparisons is the CX22: 2 vCPU, 4 GB RAM, 40 GB NVMe SSD, 20 TB monthly traffic, €0.006/hour, €3.79/month net.

The €4.35 figure in the TODO line is not a second plan — it is the same box with VAT. Hetzner advertises net prices; German VAT is 19%, so a German private customer sees about €4.51, a non-EU or VAT-registered business sees €3.79. The spread is real but small, and every comparison in this post uses €3.79 net / ~€4.35–€4.50 gross to keep it honest. In USD terms that is roughly $4.10–$4.70 depending on exchange.

What that rental includes changes the arithmetic:

  • Compute is fixed. 2 vCPU / 4 GB are yours at 2% or 80% utilization — a win for steady-state, a loss for seconds-a-day bursty work where Eco sleep is cheaper.
  • Disk and bandwidth are bundled. 40 GB NVMe holds app + Postgres + sidecars (no $0.15/GB volume meter) and 20 TB egress stays at €3.79 (not 5 GB free then $0.02–$0.15/GB). 500 GB of egress is still €3.79, or $10–$75 elsewhere.
  • One bill. Direct Hetzner or a CAPH fleet has one invoice. BYOC platforms like Northflank or Qovery add $0–$2,099/month on top of the cloud bill underneath.

Annual totals: Hetzner €45 net (€52 with VAT) vs Heroku $144 (Basic) vs $360 (Standard).

One CX22 runs nginx, Postgres, Redis, and several apps, so the per-app denominator collapses: three Heroku apps cost $36/month, the same three on one CX22 still cost €3.79; ten apps cost $120 vs €3.79 (or €7.58 for two boxes). Flat hardware beats per-app multiplication as count grows.


"But Heroku Never Raised Prices" — Why Sustaining Mode Is the Price Signal

Heroku's sticker has stayed flat while Render cut Hobby egress 100 GB to 5 GB and Vercel repriced four times in 20 months. That makes "never raised prices" sound like stability. It is not — it is a flat price on a shrinking product.

Sustaining mode defines what that price will not buy next year:

  • No new features. SiliconANGLE and InfoWorld report the model as a scale-back of new Heroku feature work, with only the previously announced Postgres revamp still shipping. A missing runtime, deeper logs, or preview environments now live on a status page, not a roadmap.
  • No new Enterprise contracts. Enterprise revenue is what funds platform work. Closing that door to new buyers signals Salesforce will not invest in winning new strategic customers. Analysts calling it a "phase-out in slow motion" are reading the incentive, not guessing.
  • Hiring and integration drift. The tax not on the invoice is the next hire who has never used a Procfile, the next Ruby or Node LTS a buildpack tracks late, the next compliance question no owner answers. You pay that in engineering time while the dyno price sits still.

"Sustaining" is a promise to keep the lights on, not to make the product better. Paying $12/month to stay is now paying to stand still while the rest of the platform landscape — and Hetzner's flat hardware — keeps moving.


What Owning the Box Actually Costs in Ops

A flat €3.79 hides a second ledger: you own the machine.

On a CX22 — direct or fleet-managed via Cluster API Provider Hetzner (CAPH) — you own OS and security patches, firewall and SSH, Postgres backups and tested restores (pgBackRest/WAL-G), container deploys and TLS rollover, and log/metrics shipping. Heroku bundles all of that into the dyno.

Teams handle it at three levels:

  • Single-box PaaS (Coolify, Dokku, CapRover) — push-to-deploy on one CX22, enough for 5–15 apps, no fleet logic.
  • Kamal / Compose + systemd — lighter still, manual node lifecycle.
  • Cluster API fleet (bex/CAPH) — declarative MachineDeployment and App CRs, multi-machine rollout when one box fills. The only option here that answers "what happens with a second server" without a re-platform.

Where is the crossover? One always-on service at $12 on Heroku vs €3.79 on Hetzner can rationally stay if you value zero-ops above an $8/month delta, or if sleep is acceptable at $10 Eco. By three services ($36 vs €3.79) even an hour a month of patching and backup checks still leaves Hetzner cheaper. At ten services there is no ops budget that closes it.

Heroku still wins outright for truly bursty, sleepable workloads (a weekly webhook at Eco pricing), for teams where a day of ops costs more than a year of markup (two founders in a fundraise), or where procurement simplicity outweighs per-app tax (grandfathered Enterprise contract that cannot be re-procured now). For steady-state APIs, workers, cron jobs, and preview environments, flat hardware wins because those workloads pay the per-dyno tax without needing the simplicity it buys.


Decision Framework: Stay, Straddle, or Leave

Not everyone should migrate tomorrow. Use this filter.

Stay if all three are true: you run one or two apps and tolerate $12–$30/month; you do not need a new Enterprise contract; and founder or product time is scarcer than infrastructure spend.

Straddle if you are growing: keep production on Heroku, stand up one CX22 with Dokku/Coolify (or a bex fleet on CAPH) for staging or workers, move one steady-state app first and learn the backup/deploy loop, budget one weekend for that first move and one hour a month for updates. If that hour never ships, staying fully managed is the honest choice.

Leave on a clock if any one is true: three or more apps (multiplication already dominates), regular hiring (each hire pays to learn a platform that is no longer investing in being learnable), or daily AI-agent deploys (agents integrate best with an API and file set you control — bex.yml, App CRs, MachineDeployment — not a frozen sustaining surface).

Sustaining mode has no stated exit and no path back to feature work. That is a one-way ratchet: the longer "no price increase" reads as stability, the larger a future forced migration costs.


The Number That Makes the Decision Easy

Heroku's cheapest always-on app is $12/month before add-ons. A Hetzner CX22 is €3.79/month for 2 vCPU, 4 GB, 40 GB, and 20 TB — one box that already holds that app and several more. One app saves about $8/month, ten save about $110/month, every month there is no new Heroku feature to justify the premium.

Sustaining mode is not a sunset, but it is a closing window: the platform runs, support answers, contracts renew — yet the product you would stay for is no longer being built. Reading that as a price signal now is cheaper than waiting for a forced migration later.

Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on machines you own. Star the repo on GitHub or deploy your first app on a Hetzner CX22 today and keep the $8 delta where it belongs — in your budget, not your platform bill.


Sources

  • Back4App — Best Heroku Alternatives in 2026 (February 2026 update, Heroku noted as sustaining mode, no new Enterprise contracts)
  • Heroku / Nitin T. Bhat — Heroku transitioning to a sustaining engineering model (February 6, 2026 blog post: stability/security/reliability/support, no new Enterprise Account contracts, existing customers unaffected)
  • The Register, InfoWorld, SiliconANGLE, DevClass, Slashdot — contemporaneous coverage of the sustaining-mode announcement and enterprise-contract closure (February 6–9, 2026)
  • Salesforce / Heroku — sustaining-engineering focus and resource shift toward Agentforce / enterprise AI
  • Heroku — New Low-Cost Plans: Eco Dynos ($5 for 1,000 dyno hours/month, sleeping) and pricing page
  • Heroku Help — Low-Cost Plans FAQ: Eco hours shared across all Eco dynos
  • Hetzner — New CX plans: CX22 at €3.79/month, €0.006/hour, 2 vCPU / 4 GB / 40 GB (June 2024, current pricing confirmed in 2026 comparisons)
  • Developer comparisons 2026 — Hetzner CX22 specs, VAT behavior, and 20 TB included traffic benchmarks.

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex