The same small app (a web service, a background worker and Postgres, 100 GB of traffic, two developers) costs $23 to $72 a month on Heroku, Railway, Fly.io and Render, and about $16 on a rented server. At 1 TB and three developers the spread is $34 to $210, and Vercel charges $230 for the web part alone. The plan price is rarely what decides the bill. Seats, bandwidth and one fee per running service do.
Prices checked 2026-10-01, every one from the platform's own pricing page or docs, linked next to the number. All prices are USD before tax.
I've paid these fees myself. My first month on Laravel Cloud was about $600. Railway was $500+ a month and climbing, mostly from a busy database. Today one dedicated server at €80 a month runs more than I ever ran on Railway. That's my bias, so here are the fee types one by one, and you can check the maths.
What would the same app cost on each platform?
Move the sliders to match your app. Each row prices a web service, a worker and Postgres with the smallest always-on sizes each platform sells. The assumptions are in the notes under each row and in the sections below.
- Billable traffic on Render
- 75 GB
- Vercel seat fees
- $40
- Render$72/mo
Hobby for one developer, Pro ($25, 25 GB) for a team. Two $7 Starter instances, $19 Postgres (1 GB RAM), storage $0.30/GB, traffic $0.15/GB.
- Railway$33/mo
Hobby ($5) or Pro ($20), each includes that much usage. Assumes 2 GB RAM in use all month and 0.3 vCPU on average, volume $0.15/GB, egress $0.05/GB.
- Fly.io$50/mo
Two shared-cpu-1x 512 MB Machines in iad, Managed Postgres Basic ($38, 1 GB), storage $0.28/GB, egress $0.02/GB (North America/Europe). No seat fee listed.
- Heroku$23/mo
Two $7 Basic dynos (512 MB), Essential-1/2 or Standard-0 Postgres by size. No per-GB fee, but a 2 TB per app soft limit.
- Vercel (web only)$40/mo
Pro at $20 per deploying seat, on-demand CDN ($0.15/GB plus about $0.04/GB in requests), minus the $20 credit. No worker or Postgres included.
- Your own server + Ployz$16/mo
Hetzner CX23 ($6.49 + $0.60 IPv4), or a CX33 ($9.99) for big databases, plus $9 for custom domains on Ployz Cloud. 20 TB traffic included, no seat fees.
The calculator leaves out things I can't price fairly for every platform: CPU spikes, image optimisation, add-ons, support plans and tax. Railway and Vercel bill by usage, so their rows are estimates built on the assumptions in the notes. The others are list prices.
How does PaaS pricing work in 2026?
Platform as a service pricing has two layers. First a plan or workspace fee, from $0 to $25 a month, sometimes charged per developer. Then a fee for every running thing: each web service, worker and database is its own instance with its own monthly price. On top come meters for bandwidth, requests and build minutes, plus small charges for domains, previews and add-ons.
Here's where each fee type shows up, from each platform's own pages:
| Fee type | Vercel | Render | Railway | Fly.io | Netlify | Heroku |
|---|---|---|---|---|---|---|
| Plan fee | $20 Pro | $25 Pro, $499 Scale | $5 Hobby, $20 Pro | None | $9 Personal, $20 Pro | None |
| Per seat | $20 per deploying seat | None (Pro: unlimited) | None on Pro | None listed | None on Pro | None listed |
| Bandwidth | 1 TB on Flat Rate, else $0.15/GB | 5/25 GB, then $0.15/GB | $0.05/GB | $0.02/GB (NA/EU) | 20 credits ($0.13) per GB | 2 TB soft limit |
| Requests | CDN requests, $2 per 1M | No | No | No | 2 credits per 10k | No |
| Per service | Functions by usage | $7+ per instance | By RAM/CPU used | $2.19+ per Machine | Functions by usage | $5+ per dyno |
| Database | Marketplace partners | From $6 | By usage | From $38 | Credits | From $5 |
| Builds | $0.007+/minute | 500/1,000 min, then $5 per 1,000 | Free | Not listed | 15 credits per production deploy | Not listed |
Sources: Vercel pricing, Render pricing, Railway pricing, Fly.io pricing, Netlify pricing, Heroku pricing.
How much do PaaS platforms charge per seat?
Vercel is the one that still charges per developer: $20 a month for every Owner or Member seat on Pro, with free read-only Viewer seats. Render Pro ($25), Railway Pro ($20) and Netlify Pro ($20) charge a flat workspace fee and include unlimited team members. On Fly.io and Heroku, the pricing pages list no seat fee at all.
The Vercel Pro docs are clear about it: the $20 platform fee includes one deploying seat, and "additional paid seats (Owner or Member roles) for $20/month each." A team of five pays $100 a month before any traffic.
The flat-fee platforms still have a team cliff. On Render, the free Hobby workspace has one team seat; a second person means Pro at $25. On Railway, Pro lists "unlimited, no per-seat fee" (pricing). Netlify's docs list Pro team members as "Unlimited (included in plan)" (credit-based plans).
| Developers | Vercel Pro | Render | Railway | Netlify |
|---|---|---|---|---|
| 1 | $20 | $0 (Hobby) | $5 (Hobby) | $9 (Personal) |
| 3 | $60 | $25 | $20 | $20 |
| 10 | $200 | $25 | $20 | $20 |
These are plan fees only, before any compute.
What do platforms charge for bandwidth and egress?
Between $0.02 and $0.15 per GB once you're past the allowance. Fly.io charges $0.02 per GB in North America and Europe, Railway $0.05, Netlify about $0.13 in credits, and Render and Vercel $0.15. Render includes only 5 GB on Hobby and 25 GB on Pro. Vercel Pro includes 1 TB under Flat Rate CDN. Heroku has no per-GB price but a 2 TB soft limit per app.
| Platform | Included | Past the allowance | Source |
|---|---|---|---|
| Render Hobby / Pro / Scale | 5 GB / 25 GB / 1 TB | $0.15 per GB | Render pricing |
| Vercel Pro | 1 TB (Flat Rate CDN base tier) | $0.15 per GB on-demand in iad1 | Pro plan |
| Vercel Hobby | 100 GB | Paused, not billed | Hobby plan |
| Railway | None beyond the plan credit | $0.05 per GB | Railway pricing |
| Fly.io | None listed | $0.02 per GB (NA/EU) | Fly.io pricing |
| Netlify | Inside 300/1,000/3,000 monthly credits | 20 credits ($0.13) per GB | Netlify pricing |
| Heroku | 2 TB per app, soft limit | No per-GB price | Heroku limits |
The Render line is the one to read twice. At 1 TB on Pro you pay for 975 GB, which is $146 a month in bandwidth on top of the services. I priced a full stack on it in Render pricing, worked out.
For comparison, Hetzner includes 20 TB with even its smallest cloud server (Cost-Optimized plans). Traffic you'd pay $146 for on Render is a rounding error there.
Do platforms charge per request?
Vercel and Netlify do. Vercel counts every CDN request, including each JavaScript chunk, font and image, at $2 per million on-demand, or picks your Flat Rate CDN tier by request count. Netlify charges 2 credits per 10,000 web requests. Render, Railway, Fly.io and Heroku don't meter requests at all; you pay for the instance that serves them.
Request pricing is the fee people underestimate most, because a page view is not one request. In my Vercel pricing breakdown, a page with 20 requests per view pushes a 1 TB app into the $100 Flat Rate tier even though bandwidth is well inside the included amount. If you're on Hobby, is Vercel free covers what the 1M request cap means in practice.
The same model shows up outside hosting. Automation tools price by runs: n8n Cloud sells plans by workflow executions, which I compare with a self-hosted box in n8n pricing. Whenever a bill counts events instead of capacity, a traffic spike is a billing spike.
Why does every extra service cost more?
Because most platforms price each running process as a separate instance. A web service plus a worker on Render is two $7 Starter instances. On Heroku it's two $7 Basic dynos. On Fly.io it's two Machines at $3.69 each for 512 MB. Railway is the exception: it bills the RAM and CPU your services actually use, at $10 per GB of RAM and $20 per vCPU a month.
| Smallest always-on instance | RAM | Monthly | Source |
|---|---|---|---|
| Render Starter | 512 MB | $7 | Render pricing |
| Render Standard | 2 GB | $25 | Same |
| Heroku Basic | 512 MB | $7 | Heroku pricing |
| Heroku Standard-1X | 512 MB | $25 | Same |
| Fly.io shared-cpu-1x (iad) | 256 MB / 512 MB / 1 GB | $2.19 / $3.69 / $6.69 | Fly.io pricing |
| Railway | per GB used | $10 per GB RAM, $20 per vCPU | Railway pricing |
This is where a real app's bill grows. A typical stack is web, worker, database and Redis, and each one is a line. Render Key Value starts at $10 a month for 256 MB; Heroku's cheapest paid Key-Value Store is $15 for 50 MB. Add a cron job, a second worker queue or a staging copy, and the bill climbs one instance at a time. On a server, a new process costs nothing until the box is full.
Railway's usage model looks cheaper, and for idle services it is. My Railway pricing article explains why a database under steady load is where that flips, which is what happened to my $500 bill.
How much does an always-on database cost on a PaaS?
$5 to $38 a month for the smallest paid Postgres, before storage. Heroku Essential-0 is $5 with 1 GB of disk, Render's smallest paid Postgres is $6 with 256 MB of RAM, Fly.io Managed Postgres Basic is $38 with 1 GB of RAM, and Railway bills Postgres like any other service. Storage adds $0.15 to $0.30 per GB a month.
| Database | RAM | Storage | Monthly | Source |
|---|---|---|---|---|
| Heroku Essential-0 / 1 / 2 | Not listed | 1 / 10 / 32 GB | $5 / $9 / $20 | Heroku pricing |
| Heroku Standard-0 | 4 GB | 64 GB | $50 | Same |
| Render Postgres | 256 MB / 1 GB / 4 GB | $0.30 per GB | $6 / $19 / $55 | Render pricing |
| Fly.io Managed Postgres Basic / Starter | 1 GB / 2 GB | $0.28 per GB | $38 / $72 | Fly.io MPG |
| Railway Postgres | By usage | $0.15 per GB | $10 per GB RAM in use | Railway pricing |
Free databases come with conditions. Render's free Postgres "expire[s] 30 days after creation" and is capped at 1 GB (Render free tier). If Postgres is the main thing you pay a platform for, Supabase pricing compares the managed route with running Postgres on your own server.
One thing managed databases give you that a server doesn't: backups and point-in-time recovery. Render includes 3 to 7 days of point-in-time recovery depending on the plan. On your own server, backups are your job.
A note on Heroku: in February 2026 it moved to what it calls "a sustaining engineering model focused on stability, security, reliability, and support," with "no change" to pricing for existing customers (Heroku blog). Its prices look good in the calculator. Its roadmap is the cost.
Are builds and preview environments free?
Partly. Railway says "service builds are free." Render includes 500 build minutes on Hobby and 1,000 on Pro, then charges $5 per 1,000. Vercel bills build machines from $0.007 a minute. Netlify charges 15 credits per production deploy but nothing for deploy previews. Preview environments themselves run on real instances, so on most platforms a preview costs what the services in it cost.
| Platform | Builds | Previews | Source |
|---|---|---|---|
| Vercel Pro | $0.007 to $0.105 per build minute by machine | Included; custom preview suffix is $100/month | Vercel pricing, Pro add-ons |
| Render | 500 (Hobby) or 1,000 (Pro) min, then $5 per 1,000 | Single-service on Hobby, full-stack on Pro | Render pricing |
| Railway | Free | Temporary PR environments; not priced separately | Railway plans, environments |
| Netlify | 15 credits ($0.10) per production deploy | Deploy previews and branch deploys use no credits | Netlify credits |
| Heroku | Not priced separately | Review apps: dynos and add-ons "charged in exactly the same way as for normal apps" | Review apps |
Netlify's production deploy charge adds up if you ship often. Twenty deploys a day is 600 a month, which is 9,000 credits, three times what the $20 Pro plan includes.
Do custom domains cost extra?
Usually a little. Render includes 2 custom domains on Hobby, 15 on Pro and 25 on Scale, then charges $0.25 per domain a month. Fly.io gives each organisation 10 free certificates, then $0.10 a month per hostname. Railway caps domains by plan: 2 on Hobby, 20 on Pro. Vercel Hobby allows 50 per project, and Heroku allows up to 1,000 per app.
Sources: Render pricing, Fly.io pricing, Railway pricing, Vercel Hobby vs Pro, Heroku limits. Netlify includes "custom domains with SSL" on every plan, including Free (pricing).
Domains are rarely the expensive part. The related add-ons are: static outbound IPs are $100 a month on Vercel (per project) and Render (per IP set), and a dedicated IPv4 on Fly.io is $2 a month.
What happens when you go over your plan?
It depends on the platform, and it matters more than the price. Vercel Hobby and Netlify Free pause your project. Vercel Pro moves to on-demand billing with a default $200 notification, not a cap. Railway takes every workload offline if you set a hard limit and hit it. Render's free services sleep after 15 minutes idle and suspend when the 750 free hours run out.
| Platform | Over the limit | Source |
|---|---|---|
| Vercel Hobby | "You will have to wait until 30 days have passed before you can use the feature again" | Hobby plan |
| Vercel Pro | On-demand billing; spend notifications at $200 by default, optional auto-pause | Pro plan |
| Netlify Free | Projects pause, no recharge option | Netlify credits |
| Netlify Personal / Pro | Pause, or auto-recharge 500 credits for $5 / 1,500 for $10 | Same |
| Railway | Billed for the overage; with a hard limit (minimum $10), "all your workloads will be taken offline" | Usage limits |
| Render Free | Sleeps after 15 idle minutes; suspends after 750 instance hours a month | Render free tier |
| Heroku Eco | Sleeps after 30 minutes of inactivity | Heroku pricing |
So you choose between two risks: a surprise bill or a site that goes dark. Neither is a fee on the pricing page, and both cost you.
Is a PaaS cheaper than your own server?
No, not for a steady app. In my model the web, worker and Postgres stack costs $23 to $72 a month on the PaaS options at 100 GB with two developers, and $34 to $210 at 1 TB with three. A Hetzner server with Ployz costs $16 at both sizes, with 20 TB of traffic and no seat fees. You give up managed backups, autoscaling and someone else on call.
| Same app | 100 GB, 10 GB DB, 2 devs | 1 TB, 20 GB DB, 3 devs |
|---|---|---|
| Render | $72 | $210 |
| Railway (estimate) | $33 | $79 |
| Fly.io | $50 | $71 |
| Heroku | $23 | $34 |
| Vercel, web only | $40 | $230 |
| Hetzner CX23 + Ployz | $16 | $16 |
The server: a Hetzner CX23 has 2 vCPU, 4 GB RAM and 40 GB of disk for $6.49 a month, plus about $0.60 for an IPv4 address, after Hetzner's 15 June 2026 price change (price adjustment). The CX33 (4 vCPU, 8 GB) is $9.99. Those CX prices are for Europe; the CX line runs only in Germany and Finland. Netcup is often the better deal: its VPS 500 has 2 vCPU, 4 GB RAM and 64 GB of SSD with traffic included for €8.26 a month incl. VAT on a 12-month term, with a datacenter in Manassas in the US (netcup VPS).
4 GB of RAM is twice what the PaaS rows above provision for the whole stack. That's the markup in one line: platforms resell compute at $10 to $14 per GB of RAM a month, and a rented server sells it at under $2.
What the $16 doesn't include:
- Backups. Managed Postgres on Render, Heroku and Fly.io comes with them. On a server, you set them up.
- Autoscaling and failover. One server has a ceiling, and if it dies at 3 a.m., that's on you.
- A global CDN. Your app is served from one city unless you put a CDN in front of it.
I build Ployz, which runs this setup on servers you rent: push to GitHub, it builds and deploys with zero downtime once you set a health check, every pull request gets a preview environment, and Postgres or Redis is one click (as a regular service with a volume, which Ployz doesn't back up). It's free on your own servers; custom domains are $9 a month on Ployz Cloud.
Which PaaS is cheapest in 2026?
For a web, worker and Postgres stack, Heroku's Basic dynos and Essential Postgres are the cheapest list prices I found, at $23 a month, though Heroku is in sustaining engineering mode. Railway is cheapest for small, mostly idle services. Fly.io has the lowest bandwidth price at $0.02 per GB. Of the platforms that run the whole stack, Render gets expensive fastest with traffic. Vercel is the priciest for teams and doesn't run workers.
If you're on Vercel today and it's the database that hurts, start with the Supabase or Railway breakdowns.
A PaaS or your own server?
Pick a PaaS if you're one developer with low traffic, you want managed database backups without thinking about them, your traffic is spiky enough that autoscaling earns its price, or nobody on your team wants to own a server. Render, Railway and Fly.io are all fair at $30 to $50 a month for a small app.
Pick your own server if you're paying for more than one seat, you push more than a few hundred GB a month, or your stack has more than two services. Every one of those fees disappears into a flat $16 to $20 a month. You take on backups and OS updates in exchange.
Ployz turns a server you rent into that platform, with preview environments and zero-downtime deploys, and it's free on your own servers.