Cloud Economics

Vercel vs AWS vs Railway: One SaaS Workload, Priced on Published Rates

Vercel vs AWS vs Railway: One SaaS Workload, Priced on Published Rates explains A published-rate cost model of one defined SaaS workload on Vercel, Railway, and AWS, plus the costs their pricing pages genuinely cannot tell you in advance. This ByteCosts research article explains the cost mechanics behind the headline, turns the pattern into budgeting questions, and points readers toward calculators that can model the same issue with their own workload. Read it when you need a finance-readable explanation of Cloud Economics before choosing a model, cloud platform, subscription, or optimization path. The static HTML includes the summary, article body, tables, related tools, and citation before JavaScript runs.

Apply this concept - AI SaaS gross margin calculator: model COGS by seat →

Summary

Pricing pages show you the happy path and stay quiet about what happens once your usage stops matching their ideal customer: bandwidth, database scaling, the long tail of small services you turn on one at a time. The honest response is not to invent a yearlong experiment with a single tidy total. It is to define one workload, price the parts the rate cards actually determine, and be explicit about the parts they cannot.

Everything below uses published selfserve rates, taken from each platform's pricing page and mirrored in the ByteCosts cloud plan snapshot (generated 20260606). The workload is a model, clearly labeled. No part of this is a measured bill.

A fairly typical growing B2B SaaS app: auth, a dashboard, an API, background jobs, and file uploads.

about 18,000 monthly active users about 42,000 API requests per day about 280 GB of egress per month a PostgreSQL database peaking near 48 GB background jobs for image resizing, email, and webhooks three environments: production, staging, preview

Article body

Pricing pages show you the happy path and stay quiet about what happens once your usage stops matching their ideal customer: bandwidth, database scaling, the long tail of small services you turn on one at a time. The honest response is not to invent a yearlong experiment with a single tidy total. It is to define one workload, price the parts the rate cards actually determine, and be explicit about the parts they cannot.

Everything below uses published selfserve rates, taken from each platform's pricing page and mirrored in the ByteCosts cloud plan snapshot (generated 20260606). The workload is a model, clearly labeled. No part of this is a measured bill.

The workload profile (modeled)

A fairly typical growing B2B SaaS app: auth, a dashboard, an API, background jobs, and file uploads.

about 18,000 monthly active users about 42,000 API requests per day about 280 GB of egress per month a PostgreSQL database peaking near 48 GB background jobs for image resizing, email, and webhooks three environments: production, staging, preview

This is a constructed profile so the math is reproducible. Change any input and the numbers below move with it.

Gross marginal rate vs invoicestyle estimate

This article separates gross marginal metered value from invoicestyle estimate.

Gross marginal value multiplies usage by the published overage rate. It is useful for comparing unit economics after included allowances have already been consumed.

Invoicestyle estimate applies documented included quotas, usage credits, free transfer allowances, plan minimums, and explicit assumptions.

Neither number is a billing guarantee. Real invoices can differ because of region, taxes, marketplace billing, accountlevel aggregation, support plans, committeduse discounts, network topology, retries, cache hit rate, logs, WAF, NAT, backups, and provider pricing changes after the lastchecked date.

How each platform bills

The three platforms meter different things, which is the whole reason a single comparison number is misleading.

Vercel. Pro is a $20/month seat plan with included allowances before overage and a $20 included usage credit. Last checked June 15, 2026, Pro includes 1 TB/month of Fast Data Transfer, 1 million function invocations, 4 hours/month of Active CPU, and 360 GBhours/month of provisioned memory; overage is $0.15/GB for Fast Data Transfer and $0.0006 per 1,000 invocations (equivalent to $0.60 per million). Functions Active CPU, provisioned memory, and build minutes remain usage meters whose totals depend on measured code behavior (vercel.com pricing). Railway. Pro is a $20/month minimum usage plan with $20 of monthly usage credits, then resource usage. Last checked June 15, 2026, public meters include CPU at $0.00000772 per vCPUsecond (about $20.01 per vCPUmonth over a 30day month), memory at $0.00000386 per GBsecond (about $10.01 per GBmonth), service egress at $0.05/GB, volume storage at $0.00000006 per GBsecond (about $0.16 per GBmonth), and object storage at $0.015/GBmonth with free bucket egress. The credit can offset usage, so invoice impact depends on whether the credit is already consumed (railway.com pricing). AWS. PerSKU pricing. Indicative useast1 rates: an m7g.large instance at about $59.57 a month, an RDS db.m7g.large at about $105.85 a month, gp3 storage at $0.115 per GBmonth, and internet egress often modeled at $0.09/GB for the first public tier. AWS also provides 100 GB/month of free data transfer out to the internet across eligible services and regions, excluding China and GovCloud, and aggregates usage at the account level (aws.amazon.com pricing). Regional pricing varies.

Pricing the parts the rate cards fully determine

Two components can be computed from the published rates and the workload profile, but the invoicestyle answer depends on allowances and credits.

Pricing the parts the rate cards fully determine table

Component (workload value)Gross marginal valueIncluded allowance or creditEstimated overage / invoicestyle estimate
Vercel Fast Data Transfer, 280 GB/month$42.00 at $0.15/GB, only after included FDT is exhaustedPro includes 1 TB/month FDT and included usage credit$0 FDT overage if 280 GB is the account's total monthly FDT
Vercel function invocations, 1.26M/monthabout $0.76 at $0.0006/1K, equivalent to $0.60/MPro includes 1M invocations/month and included usage creditabout $0.16 invocation overage before credits
Railway service egress, 280 GB/month$14.00 at $0.05/GBPro usage credit can offset usageinvoice impact depends on whether the credit is already consumed
AWS data transfer out, 280 GB/month$25.20 at $0.09/GB100 GB/month free DTO across eligible services and regions, excluding China/GovCloudabout $16.20 if the free pool has not already been consumed elsewhere
Postgres storage, 48 GBRailway about $7.46 at public volume rates; AWS about $5.52 at gp3 $0.115/GBmonthno appplatform allowance assumed hereinvoicestyle storage depends on chosen managed database and region

Pricing the parts the rate cards fully determine

The gross egress meter still shows a defensible spread: Railway's perGB service egress rate is lower than Vercel's overage rate. But for this workload, Vercel's 280 GB total Fast Data Transfer sits under the current Pro allowance, so the invoicestyle FDT overage is $0. AWS has the inverse caveat: the public $0.09/GB tier gives a useful gross value, but the first 100 GB may be covered by the accountlevel free transfer pool.

Pricing the parts the rate cards fully determine table

ScenarioFormulaResult
Vercel FDT overagemax(0, 280 GB 1024 GB) $0.15/GB$0 invoicestyle FDT overage
Vercel FDT gross marginal280 GB $0.15/GB$42.00 after included FDT is exhausted
Vercel invocation overage(1,260,000 1,000,000) / 1,000 $0.0006$0.156, displayed as about $0.16 before credits
Vercel invocation gross marginal1,260,000 / 1,000 $0.0006$0.756, displayed as about $0.76
AWS transfer invoicestylemax(0, 280 GB 100 GB) $0.09/GB$16.20 if the free pool has not been consumed elsewhere
AWS transfer gross marginal280 GB $0.09/GB$25.20 if the free pool is already exhausted
Railway 30day memory equivalent$0.00000386 (30 24 3600)$10.00512/GBmonth, displayed as about $10.01
Railway 30day CPU equivalent$0.00000772 (30 24 3600)$20.01024/vCPUmonth, displayed as about $20.01
Railway 30day volume equivalent$0.00000006 (30 24 3600)$0.15552/GBmonth, displayed as about $0.16

Compute: the rate is published, the quantity is yours

Compute is where a single total stops being honest, because the published rate is fixed but the quantity depends on how your app behaves.

On AWS you choose instances. A 2 vCPU, 8 GB app instance (m7g.large) plus a managed db.m7g.large is about $59.57 plus $105.85, roughly $165 a month at the indicative rates, before storage and egress above. On Railway you pay for resourcehours. A service pinned at 2 vCPU and 8 GB run continuously would be about $40 of CPU plus $80 of RAM, near $120 a month, though autoscaling down when idle reduces that. On Vercel, functions bill on active CPU time. The 42,000 requests a day are about 1.26 million invocations a month. At the public $0.60/M rate that has a gross value near $0.76, but after the included 1 million invocations the overage is about $0.16 before credits. The activeCPU charge at $0.128 an hour still depends on how long each function runs, which the rate card cannot tell you without measuring your own code.

So even at the compute layer, two of three platforms publish a rate whose total you can only know after you run real traffic.

What the published rates cannot tell you

This is the part that makes a single twelvemonth total dishonest rather than merely imprecise. The following are real costs that the selfserve pricing page does not let you compute in advance:

AWS interavailabilityzone data transfer, NAT gateway egress, CloudWatch log and metric volume, WAF, and supportplan tiers. These depend on your architecture and traffic shape, not on a published perunit number you can multiply. AWS region, CloudFront routing, RDS storage class, backup retention, NAT gateways, log volume, WAF, support plans, taxes, credits, and accountlevel transfer already consumed elsewhere. Vercel services outside the modeled meters, including extra seats, edge configuration, image optimization, build usage, function duration and memory, storage products, and any exhausted usage credit. Railway services outside the modeled meters, including databases, extra environments, storage, backups, autoscaling behavior, and whether the Pro credit has already been spent. The fortyplus small managed services that get switched on over a year on any of the three platforms. Perrequest compute duration on serverless platforms, as shown above.

That unknowability is the actual finding. A pricing page gives you a defensible model for the parts it meters cleanly, and an honest "it depends" for the rest. Anyone who hands you a single allin annual number for three platforms is either guessing or selling.

How to actually choose

At this scale, the spread between platforms on the computable parts is often smaller than two months of one engineer's time, so optimize first for velocity and reliability, then for cost. Rerun this model with your own usage every few quarters. And remember that the biggest savings almost never come from switching providers; they come from looking honestly at what you are using and turning the expensive parts off.

What this article covers

  • The workload profile (modeled)
  • Gross marginal rate vs invoicestyle estimate
  • How each platform bills
  • Pricing the parts the rate cards fully determine
  • Compute: the rate is published, the quantity is yours

Use it with ByteCosts calculators

After reading the research note, open the related calculator and replace the example assumptions with your own users, requests, tokens, seats, or platform usage.

The goal is to convert the article's cost pattern into a concrete monthly run-rate, per-user margin, or break-even point your team can discuss.

Frequently asked questions

Is this article available before JavaScript runs?

Yes. The prerendered HTML includes the article summary, direct answer, key sections, related tools, and citation block for crawlers and readers without JavaScript.

Can I model the article's scenario with my own assumptions?

Yes. Use the related ByteCosts calculators to replace the article's example numbers with your own workload, usage, and pricing assumptions.

Vercel vs AWS vs Railway: One SaaS Workload, Priced on Published Rates. ByteCosts. Updated 2026-06-09. https://bytecosts.com/blog/vercel-aws-railway-true-costs-2026/

Sources

Machine-readable