Choosing a Hosting Provider for a Small SaaS in 2027
Vercel, Fly, Railway, Cloudflare, or a plain VPS. The pros, the pitfalls, and how to decide without over-engineering.
Hosting decisions used to be simple. Now every platform pitches itself as the answer, pricing tiers change quarterly, and half the docs on the internet are out of date. Picking a hosting provider for a small SaaS is more confusing in 2027 than it was ten years ago.
This post is a working take on the current landscape. Which platform fits which stack, where each one bites you, and how to pick without over-engineering the decision.
The five options worth knowing
Almost every small SaaS runs on one of these. Details vary; the shape is stable.
Vercel
The default for Next.js and React apps. Great developer experience, automatic previews, global edge network. Pricing is generous at the low end and steep once you scale — bandwidth, invocations, and enterprise features add up.
Fly.io
Docker containers deployed to regional VMs. Full stack — app, database, background workers, all in one platform. More setup than Vercel; more control too. Great fit for full-stack apps needing multi-region deployment or long-running processes.
Railway
Point-and-click deploys of anything Docker-friendly. Excellent developer experience for hobby projects and small teams. Pricing based on usage. Reliability has been solid; scale story is less mature than the alternatives.
Cloudflare (Workers/Pages)
Edge-first platform. Very fast, very cheap, very good at global distribution. Constraints on runtime and duration make it a poor fit for some workloads. Best for API-heavy or edge-native apps.
A plain VPS (DigitalOcean, Hetzner)
A rented server. You own everything. Requires more setup, more monitoring, more decisions. Cheapest option at any real scale. Reasonable choice for teams with someone who enjoys running servers.
Match the platform to the stack
The stack usually decides the platform before the platform decides itself.
Next.js or TanStack Start
Vercel is the default. The framework was built there, so features like ISR, streaming SSR, and edge middleware work best. Fly and Railway also work fine — you'll do a bit more configuration. Cloudflare Workers handles pure edge Next.js reasonably; not our first pick.
Remix, SvelteKit, Nuxt
Any of the platforms above work. Vercel is still slightly more polished; Fly gives more control. Railway is the quickest for a proof-of-concept.
Long-running Node.js or Python API
Fly, Railway, or a VPS. Vercel and Cloudflare aren't well-suited to long processes, cron jobs, or workers that hold state.
Full-stack Django or Rails
Fly, Railway, or Heroku-alternatives like Render. Not Vercel — the platform is JS-first even when it advertises Python.
Anything AI-heavy with LLM inference
Fly or a VPS. Response times often go past serverless timeout limits. Cloudflare Workers has model-inference features but the constraints are unusual. Vercel supports streaming but the invocation cost adds up fast.
Pricing, honestly
The comparison isn't per-request cost — it's total-cost-at-scale.
Vercel
Free hobby tier, $20/user/month pro tier. Add-ons for bandwidth, invocations, and enterprise features. Small SaaS can run on Pro comfortably. Once you hit real scale, expect $500-$5,000/month depending on traffic.
Fly
Pay for VMs by the minute. Small apps run $10-$50/month, including a database. Scale linearly with resources you allocate.
Railway
Usage-based. Small projects $10-$30/month. Doesn't scale to enterprise pricing as gracefully as Fly.
Cloudflare Workers
$5/month starter, $0.30 per million requests after generous free tier. Cheapest at scale by a wide margin, if your workload fits the constraints.
VPS
$5-$20/month for small workloads. Scales gracefully but you pay in ops time, not dollars.
The hidden costs
Every platform has costs that don't show up in the pricing page.
Vendor lock-in
Vercel-specific features — image optimization, ISR, middleware — make migration painful. Cloudflare Workers use non-standard runtime APIs. Fly and Railway are closer to portable Docker deployments.
Egress fees
Bandwidth costs vary wildly. Vercel and Cloudflare are generous. Some VPS providers charge steep egress. If you're serving lots of media, this line matters.
Cold starts
Serverless platforms have cold-start latency. Fine for most apps; painful for anything AI-heavy or user-facing at low volume. Provisioned concurrency helps but costs more.
Database co-location
Your app and database should be close. Vercel functions in one region hitting a database in another add 100+ ms per request. Cloudflare Workers hitting a distant Postgres feel slow. Match regions; use edge-friendly databases like Neon or Turso when needed.
Our Postgres vs SQLite post covers the database side.
What we usually pick
For a new B2B SaaS on Next.js or TanStack Start with a small team, we usually pick Vercel for the frontend and Neon or Supabase for the database. Both scale to real usage before pricing bites, and the developer experience keeps a small team moving fast.
For an AI-heavy backend with long-running inference, Fly.io. Multi-region, real Docker containers, no timeout surprises.
For a hobby project or side product, Railway. Fastest way from "I have a Docker image" to "it's live on the internet."
For a mature product with cost-sensitive scale, Cloudflare Workers if the constraints fit, or a fleet of VPS servers with proper monitoring. Not glamorous, cheapest at scale.
Mistakes founders make
Optimizing for the wrong stage. Picking Cloudflare Workers for the cost savings on day one and fighting the runtime constraints for six months. Pick for developer experience first; optimize cost when you have revenue to protect.
Assuming free tiers scale. Every platform's free tier is designed to make you pay when real traffic arrives. Check the pricing at your projected volume before committing.
Splitting the stack across too many providers. Frontend on Vercel, API on Fly, database on Supabase, workers on Railway, storage on R2. Each is best-in-class alone; together they're four dashboards and four bills.
Migrating hosts before it's necessary. Every "we should move off X because it's expensive" conversation should include the migration cost. Often it's more than a year of the price difference.
When to migrate
Rarely on principle, sometimes on cost, occasionally on capability.
Cost: when the platform's monthly bill is more than 10% of MRR and cheaper options exist. Below that, the migration isn't worth engineering time.
Capability: when you can't ship a needed feature on the current platform. AI streaming beyond timeout limits, multi-region writes, long-running processes.
Principle: almost never. "This platform is trendy now" isn't a reason.
Common misconceptions
"Serverless is always cheaper." True at low scale, false at moderate scale. High-request-volume apps are often cheaper on rented servers.
"Everyone should be on Cloudflare Workers now." Only if your workload fits the runtime and duration constraints. Many workloads don't.
"Vercel is only for Next.js." Vercel deploys any framework it supports. It's optimized for Next.js because Vercel built Next.js, but the platform is broader.
Frequently asked questions
Final take
The hosting choice matters less at day one than founders think. Pick the platform that lets your team ship fastest, keep an eye on the bill as revenue grows, and migrate only when you have a specific reason. The best hosting decision is the one you don't have to revisit for a couple of years.
If you're picking a platform for a new project and want a second opinion, book a call. We'll walk through your stack and tell you what we'd pick.
FAQ
Frequently asked questions
What's the best hosting provider for a small SaaS?+
For a Next.js or TanStack Start app with a small team, Vercel is the default because of tight framework integration and mature developer experience. For AI-heavy backends or long-running processes, Fly.io. For hobby projects and quick deploys, Railway. For cost-sensitive scale, Cloudflare Workers if the constraints fit.
Is Vercel too expensive for a growing SaaS?+
Not until you hit real scale. Small SaaS run comfortably on the Pro plan at $20 per user per month. Once your traffic climbs into serious territory, bandwidth and invocation costs can push the bill into the thousands. That's usually the point to evaluate alternatives.
Should I use serverless or a traditional server?+
Serverless is cheaper at low scale and often more expensive at high, request-heavy scale. It's a poor fit for long-running processes, timeouts over a few seconds, or stateful workloads. Rented servers or containers on Fly are better for AI inference, background jobs, and steady traffic.
Can I mix hosting providers?+
Yes, and many teams do — frontend on one, database on another, workers on a third. It works but adds operational overhead. For a small team, keeping the stack on one or two providers usually saves more time than it costs in flexibility.
When should I migrate hosts?+
When cost is more than about 10% of MRR and a cheaper option exists, when a needed feature isn't buildable on the current platform, or when reliability has been a repeated issue. Rarely on principle or trend — migrations eat engineering time that's usually better spent elsewhere.
Building something similar?
Let's talk in 30 minutes.

