Every Heroku refugee shopping for a new PaaS in 2026 meets the same sticker: Sevalla, Kinsta's usage-based platform on Google Kubernetes Engine and Cloudflare, hosts an app pod from $5 a month with no seat fees and no platform fee. Next to a $25 Heroku dyno, the migration looks like free money.
It is not free money. It might still be a good deal — but the pod price is not the decision. The database is. Price the same small production stack on both platforms and the totals invert depending on which data tier you need: Sevalla wins compute by 36–64%, Heroku wins entry Postgres by more than 3x, and Sevalla wins larger Redis by nearly 6x. Here are the worked bills, with two stack shapes so neither side gets to hide behind a single convenient example.
The worked bills, up front
The reference stack is the standard Heroku refugee shape: one web process plus one worker, managed Postgres, 100 GB of monthly egress, and about 100 build-minutes. Shape A skips Redis (the common case — most small Heroku apps run Postgres with no managed cache). Shape B adds entry Redis. List prices current as of September 2026.
Shape A: web + worker + Postgres, no Redis
| Monthly line | Heroku | Sevalla | Hetzner Cloud |
|---|---|---|---|
| Web + worker compute | $50 (2× Standard-1X) | $36 (2× 1 vCPU / 1 GB pods) | included on-box |
| Managed Postgres | $50 (Standard-0: 4 GB RAM, 64 GB storage) | $65–$175 (DB3 light → DB4 + storage parity) | self-hosted, $0 |
| 100 GB egress | $0 (soft 2 TB/app limit, unmetered) | $10 ($0.10/GB) | included |
| 100 build-minutes | $0 | $2 ($0.02/min) | $0 |
| Day-2 add-ons (log/metrics retention) | ~$20 typical | included dashboards | your own time |
| Total | ~$120 | ~$113–$223 | ~$10 + ops time |
Shape B: Shape A + entry Redis
| Monthly line | Heroku | Sevalla | Hetzner Cloud |
|---|---|---|---|
| Shape A subtotal | ~$120 | ~$113–$223 | ~$10 |
| Redis | $15 (Mini) | $34 (Database 2: 2 GB RAM) | self-hosted, $0 |
| Total | ~$135 | ~$147–$257 | ~$10 + ops time |
Three things jump out. First, Sevalla's Postgres tier choice alone swings its total by $110 a month — nearly the entire Heroku bill. With modest storage needs (Database 3 at $65), Sevalla lands within a few dollars of Heroku; at storage parity with Heroku's 64 GB Standard-0, it nearly doubles it. Second, entry Redis is close to a wash ($15 vs $34) — the famous Redis inversion lives at bigger tiers, as the next section shows. Third, the Hetzner column fits the whole stack on one CX33 cloud VM (4 vCPU, 8 GB) for about $10 a month, which reframes the question the way it should be framed: the PaaS premium buys managed deploys, managed data, and never touching a node.
Where the inversion comes from
The per-service numbers behind those totals come from GetDeploying's 2026 Heroku-vs-Sevalla comparison, which matches each provider's closest plan to a common configuration:
| Service | Heroku | Sevalla | Cheaper side |
|---|---|---|---|
| Small VM | $50 (Standard-2X, 1 GB) | $18 (C1: 1 vCPU, 1 GB) | Sevalla, 64% |
| Medium VM | $250 (Performance-M, 2.5 GB) | $160 (S4: 4 vCPU, 8 GB) | Sevalla, 36% |
| Large VM | $500 (Performance-L, 14 GB) | $320 (S5: 8 vCPU, 16 GB) | Sevalla, 36% |
| PostgreSQL | $50 (Standard-0) | $175 (Database 4 + 30 GB add-on) | Heroku, 71% |
| Redis | $200 (Premium-5, 1 GB) | $34 (Database 2, 2 GB) | Sevalla, 83% |
| Egress | soft 2 TB/app limit, unmetered | $0.10/GB metered | depends on volume |
Compute is a clean Sevalla sweep at every size. Databases split: Heroku's $50 Standard-0 undercuts Sevalla's $175 matched Postgres by 71%, while Sevalla's $34 Redis undercuts Heroku's $200 matched tier by 83%.
One honesty note on methodology, because closest-match tables deserve it: the matched pairs are not identical specs. Sevalla's Database 4 carries 2 vCPU and 8 GB RAM against Heroku Standard-0's 4 GB RAM — you get double the memory for the 3.5x price — and the $175 figure includes a $30 storage add-on reaching for parity with Heroku's 64 GB included. The direction of each inversion is real; the exact ratios move if you match tiers differently. That is precisely why the worked bills above show a range instead of a point.
The $5 sticker and its asterisk
Sevalla's headline $5 Hobby pod (0.3 CPU, 0.3 GB RAM) is real usage-based pricing with per-second billing and no seat or platform fees — but it cannot take a custom domain. Hobby is where previews, staging, and side projects live. A production app behind its own domain starts on the Standard tiers, roughly $10–$18 a month per small pod depending on size, which is what the worked bills price.
Even at production tiers, Sevalla's compute economics beat Heroku's dyno grid decisively: a 1 vCPU / 1 GB service is $18 against Heroku's $50 Standard-2X, and the gap persists up the ladder. If your bill were compute alone, every Heroku refugee would already have moved. Bills are not compute alone, which brings us to the rule this post is named for.
The database-first rule
Sevalla's database pricing runs nine tiers from Database 1 ($5: 0.25 CPU, 256 MB RAM, 1 GB storage) through Database 4 ($145: 2 CPU, 8 GB, 20 GB) up to Database 9 ($3,250), with extra disk at $10 per 10 GB a month via support. Heroku's Postgres ladder starts at Mini ($5) and Basic ($9) and hits the small-production sweet spot at Standard-0 ($50) with 4 GB RAM and a generous 64 GB included. Redis is where the two vendors' philosophies visibly diverge: Heroku's curve goes vertical above the entry Mini ($15), reaching $200 for 1 GB at Premium-5, while Sevalla's Database 2 hands you 2 GB for $34.
So the migration decision sorts by data shape, not by dyno count:
- Postgres-only with modest data (under ~10 GB): nearly a tie. Sevalla's Database 3 ($65) against Heroku's Standard-0 ($50), with Sevalla's cheaper compute closing the gap. Migrate on DX preference, regions, or the static-site bundle — not on price.
- Postgres with tens of gigabytes: Heroku's included 64 GB is the thing to beat. Matching it on Sevalla means Database 4 plus storage add-ons (~$175), which more than triples the data line. Stay, or bring your own Postgres.
- Redis beyond entry level: this is where Sevalla's inversion pays out. The bigger the cache, the harder Heroku's per-GB curve bites — $200 for 1 GB against $34 for 2 GB is the kind of gap that funds the migration by itself.
- Both databases at production size: price them line by line. The Postgres penalty and the Redis saving net against each other, and which wins depends entirely on your tiers. Shape B above shows the entry end of that range; scale either database and recompute.
The one-line version: list your data tiers before your dyno count. Whoever wins the database wins the bill.
Egress and builds: the fine print that scales
Compute and databases decide small bills; egress decides large ones. Sevalla meters egress explicitly at $0.10/GB — exactly $10 at the reference 100 GB, but $100 at a terabyte and $200 at two. Heroku publishes no egress meter at all, operating on a soft limit around 2 TB per app. The crossover is easy to state: below a few hundred gigabytes a month, Sevalla's egress line is noise; past a terabyte, it can exceed the compute it serves, and Heroku's bundled model wins by default.
Two mitigations soften that meter. First, Sevalla's object storage (S3-compatible, $0.02/GB stored, powered by Cloudflare R2) carries zero egress fees — blob and static-asset traffic routed through it never touches the $0.10 meter. Second, Sevalla's free static tier (100 GB bandwidth, 600 build-minutes, up to 100 sites) absorbs the marketing-site-and-docs half of many stacks entirely. Builds at $0.02 a minute add $2 per hundred build-minutes against Heroku's unmetered builds: real, but never the deciding line.
The fourth column: a flat Hetzner box
The same stack fits comfortably on one Hetzner Cloud CX33 — 4 vCPU, 8 GB RAM, roughly $10 a month — with the web process, worker, Postgres, and Redis sharing the box behind Caddy or Traefik, and 100 GB of egress disappearing into a multi-terabyte included allowance. All-in cash cost: about a tenth of either PaaS total.
Three honesty notes, consistent with our Koyeb-vs-Sevalla pricing post from earlier this month. First, Hetzner's 2026 price moves hit dedicated vCPU hardest — the CCX33 roughly doubled to €138.49 in the June adjustment, which we covered in August. Shared-CPU cloud VMs are the stable baseline, not dedicated servers. Second, the $10 box manages nothing: Postgres backups, Redis persistence, OS patching, and 3 a.m. pages are yours, and pricing your own ops time above zero narrows the gap fast. Third, the comparison assumes you can operate what you deploy. The moment the answer is "not yet," the PaaS premium is tuition, not waste.
What doesn't transfer
Price is only half a migration plan.
Heroku-only surface, no Sevalla equivalent:
- The add-on marketplace — logging, monitoring, email, and a hundred other one-click integrations that the worked bills approximate as ~$20 of day-2 spend
- Private Spaces network isolation for compliance-sensitive workloads
- Heroku Connect and AppLink for Salesforce shops
- Postgres ergonomics like forks, followers, and point-in-time rollback that teams wire into their workflows
Sevalla-only surface pulling the other way:
- Five database engines (Postgres, MySQL, MariaDB, Redis, Valkey) against Heroku's two
- R2-backed object storage with zero egress fees, plus a genuinely free static tier
- 25 GCP regions against Heroku's smaller footprint
- An agent-ops story — API v3, CLI, Terraform provider, and an MCP server — that treats AI coding agents as first-class operators rather than screen-scrapers
Sevalla courts the migration deliberately with a Heroku-alternative guide, the same 12-factor app model (so Procfiles and release-phase patterns map across), and a one-time signup credit that recent promos have ranged from $20 to $50. Neither list dominates the other. If your Heroku bill is half add-ons and your deploys lean on Review Apps plus Pipelines, budget real migration engineering. If you run 12-factor web-plus-worker-plus-Postgres with no exotic dependencies, the move is weeks, not quarters.
Verdict: price the data layer, then choose
- Mostly compute, small Postgres, big Redis ambitions → Sevalla, and the migration funds itself on the data lines.
- Postgres-heavy with tens of gigabytes and modest cache → Heroku's $50 Standard-0 remains the best small-production Postgres deal in managed PaaS. Stay.
- Heavy egress past a terabyte → Heroku's bundled bandwidth beats any per-GB meter; on Sevalla, route blobs through R2 object storage first and re-measure.
- Ops-capable team with standard stacks → the $10 Hetzner column is the honest baseline both PaaS totals should be judged against.
The $5 pod was never the offer. The offer is a usage-based bill with no seats and no base fee — and whether that bill beats Heroku depends, line by line, on the databases underneath it.
Running the numbers and wondering what the stack costs on machines you own instead? Bex.co is the open-source, AI-native Render alternative — push a git repo, get a running HTTPS service on infrastructure you control, with agent-friendly APIs throughout. Star the repo on GitHub or deploy your first app today.



