Skip to main content
Dawloom

Vercel vs Cloudflare vs Railway vs a VPS: SaaS hosting cost

Dawloom engineering 8 min read
Vercel vs Cloudflare vs Railway vs a VPS: SaaS hosting cost

The cheapest place to host a small SaaS is Cloudflare Workers: $5 a month at launch and $11.90 at 50 million requests, because Cloudflare charges nothing for bandwidth or static files. A DigitalOcean Droplet comes next at $7.20 to $28.80 with backups, then Railway at $6.02 to $122, and Vercel Pro at $20 to $169.

Those are hosting bills only, from each provider’s official pricing page, checked 2026-10-13. A managed Postgres database adds about $20 to $80 a month on any of them. The tables below show both.

Who this is for: founders and tech leads launching a web SaaS (Next.js, SvelteKit, Remix, or a Node API) who want a hosting bill they can predict. Who should look elsewhere: teams that need a specific cloud for compliance, such as AWS GovCloud or an EU-only provider, and apps that mostly stream video or large files, where bandwidth pricing is the whole story.

Bar chart of the monthly hosting bill for a small SaaS, database not included, prices checked 2026-10-13. Launch, 500 thousand requests and 20 GB: Vercel Pro 20 dollars, Cloudflare Workers 5 dollars, Railway Hobby 6.02 dollars, DigitalOcean Droplet 7.20 dollars. Growing, 5 million requests and 200 GB: Vercel 40 dollars, Cloudflare 5 dollars, Railway 20.23 dollars, Droplet 14.40 dollars. Busy, 50 million requests and 2 TB: Vercel 169 dollars, Cloudflare 11.90 dollars, Railway 122 dollars, Droplet 28.80 dollars.

The monthly bill at three traffic levels

We priced one app at three sizes. In each, 30% of requests run server code (pages rendered per user and API calls). The rest are static files. Each server request uses 20 ms of CPU and takes 150 ms in total, including the wait for the database. One person deploys. You can change every one of these in the hosting cost calculator.

Monthly hosting bill, database not included. 30% of requests run server code at 20 ms CPU and 150 ms total each. One deploying seat. Prices checked 2026-10-13.
Host Launch 500,000 requests and 20 GB a month Growing 5 million requests and 200 GB a month Busy 50 million requests and 2 TB a month
Vercel Pro $20.00$40.00$169
Cloudflare Workers Workers Paid $5.00$5.00$11.90
Railway Hobby $6.02$20.23$122
A VPS (DigitalOcean) Basic Droplet $7.20$14.40$28.80

With a database the order changes a little. Vercel and Cloudflare don’t run Postgres, so they need a managed one. Railway and a Droplet can run Postgres next to the app.

The same three levels with Postgres added: 2 GB, 5 GB, and 20 GB of data, with 1, 1, and 4 GB of database memory. First a managed Neon Launch database that never sleeps, then Postgres on the same host. Prices checked 2026-10-13.
Host and database LaunchGrowingBusy
Vercel + Neon $39.78$60.83$252
Cloudflare Workers + Neon $24.78$25.83$95.22
Railway + Neon $25.80$41.06$206
A VPS (DigitalOcean) + Neon $26.98$35.23$112
Railway, Postgres on the host $16.32$30.98$165
A VPS (DigitalOcean), Postgres on the host $14.40$28.80$57.60

What stands out:

  • Bandwidth decides the busy column. At 2 TB a month, Railway’s egress alone is $100. Cloudflare charges $0 for it, and a $24 Droplet includes 4,000 GiB. Vercel covers it inside a $100 Flat Rate CDN tier.
  • Vercel’s floor is the seat, not the traffic. At launch the usage is $0.69, well inside the $20 credit. The bill is $20 because the plan is $20. Each extra person who deploys adds $20.
  • A Droplet is cheap until you count your time. $28.80 runs the busy level on one machine, but that’s one machine with no failover, and you install updates, renew TLS, and watch the disk. If that takes two hours a month, the Droplet stops being the cheapest.
  • Postgres on the host is cheapest, and most work. Railway with its own Postgres service costs $16.32 at launch, and a Droplet with Postgres on it $14.40. You also own the backups and the upgrades. Our post on why Postgres is our default database covers what that takes.

Vercel: what you pay for

Vercel Pro costs $20 a month. That includes one deploying seat and $20 of usage credit. Vercel’s Pro plan docs say “the monthly credit applies to all managed infrastructure billable resources from the first unit you use.” Each extra deploying seat is $20 a month (Vercel pricing, checked 2026-10-13).

The free Hobby plan won’t work for a business. Vercel’s pricing page says: “Our Hobby plan is for personal, non-commercial use.”

Vercel now bills CDN traffic in flat tiers on Pro. The Flat Rate CDN docs say “Pro includes the lowest tier at no additional cost,” and list these tiers, checked 2026-10-13:

Vercel: what you pay for
TierCDN requestsData transfer
Included with Pro1M1 TB
$20 a month10M50 TB
$100 a month50M50 TB
$300 a month150M50 TB

“A one-day spike doesn’t trigger an upgrade,” the docs add. Vercel moves you up a tier at the start of the next cycle only if the whole month went over. Many of the cost posts that rank for this question still use the old per-GB bandwidth price, so their Vercel numbers for busy apps are too high.

Functions are billed on top, against the $20 credit. In the iad1 region (Washington D.C.) that’s $0.60 per million invocations, $0.128 per hour of Active CPU, $0.0106 per GB-hour of provisioned memory, and $0.06 per GB of Fast Origin Transfer (iad1 regional pricing, checked 2026-10-13). By default, “on Pro and Enterprise, functions execute with 2 GB (1 vCPU) of memory” (Vercel memory docs). We bill that 2 GB for the full 150 ms of every request, which is the most Vercel can charge. Fluid compute shares one instance across requests, so your real memory bill is likely lower.

Cloudflare Workers: what you pay for

The Workers Paid plan has “a minimum charge of $5 USD per month for an account.” It includes 10 million requests and 30 million CPU milliseconds a month. Above that it’s $0.30 per million requests and $0.02 per million CPU milliseconds (Workers pricing, checked 2026-10-13).

Two lines on that page explain why Workers wins every column: “There are no additional charges for data transfer (egress) or throughput (bandwidth),” and “Requests to static assets are free and unlimited.” Duration is free too: you pay for CPU time, not for time spent waiting on the database.

The catch is the runtime. Workers run your code in Cloudflare’s own JavaScript runtime, not a full Node.js server. SvelteKit, Astro, and Hono deploy there with an adapter. Next.js works through an adapter as well, but check that every feature and library you use is supported before you commit. Long-running jobs belong in a queue, which we cover in background jobs that don’t fall over.

Railway: what you pay for

Railway Hobby is $5 a month and Pro is $20 a month. “The Hobby plan includes $5 of resource usage per month,” and Pro includes $20. On top of the plan, Railway charges $10 per GB of memory per month, $20 per vCPU per month, $0.05 per GB of egress, and $0.15 per GB of volume storage. “Service builds are free” (Railway plans and pricing, checked 2026-10-13).

Railway describes Hobby as “for indie hackers and developers to build and deploy personal projects” and Pro as “for professional developers and their teams shipping to production.” Unlike Vercel, Railway’s plan page doesn’t call Hobby non-commercial, so our tables use Hobby. On Pro the launch bill is $20 and the busy bill stays at $122, because usage is already above the $20 included. Pro also includes “unlimited workspace seats” (railway.com/pricing), which makes it cheaper than Vercel once two or more people deploy.

Our model counts the app’s memory as used all month: 0.5 GB at launch, 1 GB growing, and 2 GB busy. Railway bills what the container actually uses, so a quiet app can cost less.

A VPS: what you pay for

We priced DigitalOcean Basic Droplets: $6 a month for 1 GiB RAM and 1,000 GiB of transfer, $12 for 2 GiB and 2,000 GiB, $24 for 4 GiB, 2 vCPU, and 4,000 GiB (Droplet pricing, checked 2026-10-13). “Additional outbound transfer is billed at $0.01 per GiB” (DigitalOcean bandwidth docs). Weekly backups cost 20% of the Droplet price, and we added them, because a server without backups is not a production server.

We wanted to price Hetzner too. On 2026-10-13 its Regular Performance page showed no prices and marked the plans “currently unavailable,” so we left it out instead of using old numbers.

Which host to pick

Which host to pick
If your app…PickWhy
Is mostly pages and API calls, and fits the Workers runtimeCloudflare WorkersLowest bill at every level, no bandwidth charge
Is built on Next.js and the team wants the least setupVercel ProEvery Next.js feature works on day one. $20 to $40 a month until traffic is high
Needs a long-running server, workers, or Postgres next to the appRailwayUsage pricing with no servers to run. Watch egress above 1 TB
Has a fixed budget and someone who likes running LinuxA DropletFixed price, big transfer allowance. You do the ops

For most new SaaS products we’d start on Cloudflare or Vercel with a managed Postgres, and revisit at 10 million requests a month. Moving later is cheaper than optimizing now. How the app renders also changes the bill: static pages cost almost nothing anywhere, which we explain in static, server-rendered, or islands. If you’re comparing hosts for an MCP server instead of a web app, see where to host an MCP server.

What we left out

Build minutes, logs and observability, image optimization, web application firewall rules, support plans, sales tax, and your own time. Each host also bills a few things we didn’t use, such as Vercel’s ISR reads and writes. If one of those is big for your app, check the provider’s pricing page before you decide. Every price we used is in this table:

Every hosting price the calculator uses, linked to the official page it came from. US prices, checked 2026-10-13.
Host What Price
Vercel Pro platform fee, includes 1 deploying seat and $20 usage credit $20 a month
Vercel Each extra deploying seat $20 a month
Vercel Flat Rate CDN, included with Pro 1M requests and 1 TB a month
Vercel Flat Rate CDN tier, 10M requests and 50 TB $20 a month
Vercel Flat Rate CDN tier, 50M requests and 50 TB $100 a month
Vercel Flat Rate CDN tier, 150M requests and 50 TB $300 a month
Vercel Function invocations (iad1) $0.6 per 1M
Vercel Fluid Active CPU (iad1) $0.128 per hour
Vercel Fluid provisioned memory (iad1) $0.0106 per GB-hour
Vercel Fast Origin Transfer (iad1) $0.06 per GB
Vercel CDN requests and Fast Data Transfer on demand (iad1) $2 per 1M, $0.15 per GB
Cloudflare Workers Paid, includes 10M requests and 30M CPU ms $5 a month
Cloudflare Requests over 10M $0.3 per 1M
Cloudflare CPU time over 30M ms $0.02 per 1M ms
Cloudflare Static asset requests, egress, bandwidth Free
Railway Hobby plan, includes $5 of usage $5 a month
Railway Pro plan, includes $20 of usage $20 a month
Railway Memory $10 per GB-month
Railway CPU $20 per vCPU-month
Railway Egress $0.05 per GB
Railway Volume storage $0.15 per GB-month
DigitalOcean Basic Droplet 512 MiB, 1 vCPU, 500 GiB transfer $4 a month
DigitalOcean Basic Droplet 1 GiB, 1 vCPU, 1,000 GiB transfer $6 a month
DigitalOcean Basic Droplet 2 GiB, 1 vCPU, 2,000 GiB transfer $12 a month
DigitalOcean Basic Droplet 2 GiB, 2 vCPU, 3,000 GiB transfer $18 a month
DigitalOcean Basic Droplet 4 GiB, 2 vCPU, 4,000 GiB transfer $24 a month
DigitalOcean Transfer over the allowance $0.01 per GiB
DigitalOcean Weekly Droplet backups 20% of the Droplet price

FAQ

What is the cheapest way to host a SaaS app?

Cloudflare Workers, by the invoice: $5 a month for 10 million requests, with no charge for bandwidth or static files. A $6 to $24 DigitalOcean Droplet is close and runs a full Node.js server, but you maintain it yourself. Add $15 to $25 a month for a managed Postgres database.

Is Vercel too expensive for a startup?

Not at the start. Vercel Pro is $20 a month per deploying seat, and a small app’s usage fits inside the $20 credit. It gets expensive with more seats and high traffic: our busy example (50 million requests, 2 TB) costs about $169 a month on Vercel against $11.90 on Cloudflare Workers.

Can I use Vercel’s free plan for a SaaS?

No. Vercel’s pricing page says “Our Hobby plan is for personal, non-commercial use.” A product that charges customers needs Pro.

Is Railway cheaper than Vercel?

Yes, at our three levels. Railway Hobby costs $6.02 at launch traffic against Vercel’s $20, and $122 against $169 at 50 million requests and 2 TB. The gap shrinks as traffic grows, because Railway charges $0.05 per GB of egress and Vercel’s flat CDN tiers don’t charge per GB. Railway Pro includes unlimited seats, which helps teams.

How much does it cost to host a SaaS with a database?

From about $14 a month with Postgres on a Droplet to about $40 on Vercel with Neon at launch traffic. At 5 million requests a month, expect $26 to $61. The calculator and the tables above show every combination.

We build SaaS products and set up hosting that matches the traffic. See our web development work or pricing.

More in Web platforms Need this built? See Web development

Got something to build?

Tell us what you need. An engineer replies, not a sales team.

Search the whole site