In June 2025, Railway announced it was running 100 percent of customer workloads on servers it owns — and cut egress prices 50 percent and storage 40 percent on the same day. A venture-backed PaaS had just published, in the form of a price list, the proof that the margin was in the metal all along. Then, seven months later, it raised USD 100 million on top of that infrastructure.
This post puts numbers on what that move means. Not the press-release version — the per-unit math: Railway's post-migration prices against AWS on one side and leased bare metal on the other, with a worked example showing where each one wins. The punchline is that Railway's vertical integration validates the own-your-machines thesis from the inside: the cost structure that let it halve egress is the same bare-metal ownership a self-hoster gets directly. But the comparison also draws an honest line around what four regions of owned hardware still buy that a single-team fleet cannot replicate.
What "100% on Railway Metal" actually means
Railway Metal is Railway's own cloud infrastructure: hardware the company owns and operates in datacenters across the US, Europe, and Southeast Asia. The migration ran for the better part of a year. Metal entered beta as a deploy region in September 2024, the "Great Metal Migration" began pushing existing services over in May 2025 (100 percent of new services were already landing on Metal by then, roughly half of all workloads), and changelog #0244 on June 27, 2025 declared it done: "All workloads, new and old, are now running 100% on Railway Metal."
The benefits Railway listed that day are worth quoting exactly, because they are the business-model story in miniature:
- No paying for team seats on Pro
- Regions for users on all plans
- 50% less egress pricing
- 40% less storage pricing
- Improved CPU and read/write performance
Under the hood, this is deeper than a colo contract. Railway built a custom rack-scale hardware design with its own bare-metal orchestration layer that deliberately eschews Kubernetes, routing traffic through its own anycast Metal Edge network with direct peering to major providers. The disks are all NVMe. Owning the full stack also unlocked features that were previously impossible on rented capacity — static inbound IPs, high-availability volumes — and collapsed incident recovery like single-host failures from roughly 60 minutes to far less.
Regions that used to be gated by plan opened to everyone, including trial and hobby users.
The market noticed. In January 2026 Railway raised a USD 100 million Series B led by TQ Ventures, bringing total funding past USD 130 million, reporting over 2 million developers, 10 million-plus deploys a month, sub-second deployments, and annual recurring revenue above USD 10 million. A PaaS that owns its metal is fundable at AI-boom valuations precisely because the infrastructure story reads as a moat, not a cost center.
The numbers, three ways
Here is the concrete artifact the title promises: Railway's current metered rates against the hyperscaler it undercuts and the leased bare metal a self-hoster would rent. All Railway figures are from its current pricing page, billed per second; AWS figures are standard US on-demand list; Hetzner figures are EU Cloud list.
| Resource | Railway (post-Metal) | AWS (on-demand) | Hetzner Cloud (EU) |
|---|---|---|---|
| Egress | USD 0.05/GB | USD 0.09/GB (first 10 TB) | 20 TB/server included, then ~USD 0.001/GB |
| Block storage | USD 0.15/GB-month | ~USD 0.08/GB-month (gp3) | ~USD 0.066/GB-month |
| Compute (2 vCPU / 4 GB) | ~USD 80/month at full utilization | ~USD 70/month (m-class) + bandwidth | ~USD 6–7/month (CX-class server) |
| Billing granularity | Per second; stopped services cost nothing | Per second on EC2, but provisioned capacity | Flat monthly (hourly cap) |
Two things jump out. First, egress is where owning the metal shows up most dramatically: Railway charges barely half of AWS, and Hetzner effectively gives away the first 20 TB per server. A bandwidth-heavy workload pays a 90x multiple going from Hetzner overage rates to AWS list — Railway split that difference by owning its own network.
Second, Railway's storage and compute still carry a real premium over raw metal: volumes cost more than twice Hetzner's, and always-on compute is an order of magnitude above a flat-rate cloud server. That premium is no longer resold EC2, though. It is software and operations — per-second metering, instant deploys, managed networking — which is exactly what a PaaS markup should be.
Now the worked example. Take a typical small production service: 2 vCPU, 4 GB RAM, a 50 GB volume, and 500 GB of monthly egress. Run it two ways — pinned at 100 percent utilization all month (steady), and averaging 25 percent (bursty: preview environments, spiky traffic, idle nights):
| Monthly total | Steady (100%) | Bursty (25% avg compute) |
|---|---|---|
| Railway, pre-Metal (implied: USD 0.10/GB egress, USD 0.25/GB storage) | ~USD 142.50 | ~USD 82.50 |
| Railway, post-Metal | ~USD 112.50 | ~USD 52.50 |
| AWS (EC2 + EBS + egress) | ~USD 119 | ~USD 119 (provisioned box doesn't shrink) |
| Hetzner Cloud EU | ~USD 10–12 | ~USD 10–12 (flat either way) |
The migration saved this workload about USD 30 a month — roughly a fifth of the bill — with every dollar of it coming from network and disk. The sensitivity across utilization is the more important story.
At steady full tilt, Railway and AWS cost about the same while Hetzner is nearly 10x cheaper: if your workload is a flat line, the managed premium is pure overhead. But the moment utilization drops, Railway's per-second billing pulls away from provisioned EC2 — at 25 percent average use it costs less than half the AWS equivalent — while Hetzner stays flat and cheapest in absolute terms regardless. Each platform wins a different shape: Hetzner wins steady and cheap, Railway wins bursty and zero-ops, and AWS list wins neither for this profile.
Why this validates the own-your-machines math
Step back and look at the direction of travel. Railway spent a year moving off rented cloud capacity and onto hardware it controls, then passed the savings through as the largest price cuts in its history. That is cloud repatriation wearing a PaaS logo — the same motion 37signals made famous by exiting AWS, spending about USD 600,000 on owned servers, and projecting over USD 10 million in five-year savings. Dropbox did the first famous version of it in 2016. IDC found 86 percent of CIOs planned to repatriate at least some workloads in 2025.
Railway is that trend's mirror image: instead of a SaaS company discovering it is secretly an infrastructure company, an infrastructure company discovered its margins were hiding in someone else's infrastructure.
The mechanism is identical on both sides. Egress is the hyperscalers' highest-margin line item because bandwidth costs them nearly nothing at scale and they charge USD 0.09/GB anyway. Anyone who owns the pipe — Railway with its datacenters and peering, a self-hoster with a Hetzner server that includes 20 TB — arbitrages that markup away. Railway's 50 percent egress cut and the elimination of per-seat Pro pricing are what it looks like when a PaaS stops forwarding the cloud bill and starts pricing its own cost structure.
For self-hosters, the validation runs in reverse. The post-Metal price list is an independent, venture-scale confirmation that bare-metal unit economics beat resold cloud by enough to build a business on. Railway's remaining premium over raw Hetzner — the 2x on storage, the per-unit compute markup — is now legible as the price of zero-ops convenience rather than an opaque cloud tax. If you are willing to operate the machine yourself, that premium is yours to keep, and the gap is published for anyone to measure.
Where Railway's scale still buys something you can't replicate
Honesty requires the other side of the ledger. Railway owns hardware in four regions — US West, US East, EU West, Southeast Asia — with an anycast edge, direct peering, fleet-wide NVMe, and a team that racks servers full-time. A single-team fleet on leased bare metal gets converged per-unit economics; it does not get any of that.
The differences that matter:
- Geography. One Hetzner account gives you a handful of European regions plus limited US presence, with far less generous included traffic outside the EU. Railway's four owned regions with a unified edge are a multi-year datacenter program, documented in its build-out blog series, not a credit-card signup.
- Network. Direct peering and an anycast edge network are negotiated infrastructure. Your single server gets your provider's blend and whatever latency that implies.
- Operations depth. When Railway says host recovery got dramatically faster, that is a hardware-operations team with spares on site. Your equivalent is a support ticket and a provider SLA.
- Utilization pooling. Railway's per-second billing is cheap for bursty workloads because thousands of tenants' bursts average out across one fleet. A single team owns its own peaks — you provision for the spike and eat the idle, which is precisely the cost per-second billing avoids.
None of this is an argument against self-hosting. It is the actual frontier: per-unit compute and bandwidth economics have converged, and what remains differentiated is geographic footprint, network quality, and pooled utilization. Teams should buy managed service for those properties, not because they believe renting VMs by the hour is inherently cheaper than owning the machine. It never was — Railway just proved it with a price cut.
What it means for teams choosing today
If you want zero-ops, Railway's post-Metal prices reset the value bar for what managed deployment should cost. Upload-your-cloud-bill tooling on its pricing page claims 40 percent-plus savings for hyperscaler migrants, and the worked math above supports the direction if not every instance of the claim. Judge it against your utilization shape, not its marketing: bursty, spiky, preview-heavy teams gain the most.
If you want the cost floor, data sovereignty, or control over your own machines, the same announcement is your confirmation. The infrastructure Railway spent a year building toward — owned hardware, direct network, NVMe everywhere — is available to a small team in miniature on day one through leased bare metal, at per-unit prices Railway itself has now validated as the winning structure. The gap between managed and self-hosted is down to operations effort and multi-region footprint, both of which are honest, plannable costs rather than metered surprises.
That is also the bet behind the self-hosted PaaS movement generally: take the deploy-from-git experience Railway perfected, and run it on machines you own, where the 50-percent-egress-cut economics are the starting point instead of the destination.
The PaaS model converges on owning the metal
Railway's migration completes an arc the whole industry has been walking. First the hyperscalers taught everyone to rent. Then the repatriation wave — 37signals, Dropbox, and the 86 percent of CIOs planning their own version — proved that at steady scale, owning beats renting. Now a leading PaaS has done the same move from the provider side and published the receipts: 100 percent on owned servers, egress halved, storage down 40 percent, seats free.
The PaaS business model, it turns out, converges on owning the metal. The only remaining question for each team is who owns it — and whether the premium for someone else owning it buys you geography, pooling, and sleep, or just a familiar logo on the invoice. For workloads with a steady heartbeat on hardware you control, the invoice has never been easier to beat.
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 today.



