The honest operator comparison nobody else writes. Vendor pages can't be honest about competitors. Influencer threads can't be honest about who paid for the post. This page ranks the 6 by stack reality, names where each one breaks, and gives you real cost math. Bonus: SideGuy ran the same architecture eval this morning and chose to STAY on S3+CloudFront over migrating — that read is in here too.
For Cloudflare-stack startups + global edge: Cloudflare Pages. Best cost-to-edge ratio in the category. For Next.js teams: Vercel ($20/seat/mo + bandwidth). For static-first JAMstack: Netlify ($19/seat/mo). For full-stack monoliths: Render ($7/mo per service base). For Docker-first: Railway ($5/mo + usage). For global Postgres: Fly.io. SideGuy's own pick: stayed on S3+CloudFront because the workload is 3,400 flat HTML files with no SSR — Vercel's value-add was irrelevant for our shape.
300+ POPs globally with the most generous free tier in the category — unlimited bandwidth on the free plan. Native integration with the rest of the Cloudflare stack (Workers for APIs, R2 for storage, D1 for SQL, KV for cache, Access for auth). The only platform here where the free tier is production-viable for real traffic. Catch: the build runtime is Workers — not a full Node server — so server-side logic is a different mental model.
Built by the Next.js team — the integration is the deepest in the category. ISR, server actions, edge functions, image optimization all work without configuration. For non-Next.js apps, Vercel is over-priced. Strong DX, polished dashboard, fast preview deploys. Catch: bandwidth bills get aggressive at scale — $40-150 per TB beyond Pro included.
The most mature JAMstack platform — forms, identity, analytics, and edge functions all built in. Strong fit for static-first sites that need a few dynamic features without standing up a full backend. Slightly behind Vercel on Next.js depth and behind Cloudflare on edge cost. Catch: build minutes can blow up on monorepos.
The cleanest setup-and-forget experience for full-stack apps with managed Postgres, private networking, cron jobs, and background workers. Heroku-style without the Heroku price. For a production workload with real customers + a database, Render is the easy pick. Catch: cold starts on free tier; per-service pricing adds up if you have many services.
Cleanest Dockerfile-based deploy in the category. Excellent UX, fast preview environments, sane logs. Strong fit for hobby projects + small teams that want Heroku-style simplicity for containerized apps. Catch: less mature production features than Render (private networking, managed services, etc.).
Runs Docker containers across 35+ regions with explicit per-region scaling + Fly Postgres replicated to multiple regions. Strong fit for global apps where latency matters. Catch: more configuration upfront than Render/Railway. Less polish than Vercel/Netlify. The platform also had a few rough years on reliability — recent improvements but verify if uptime is critical.
| Your situation | Pick | Why |
|---|---|---|
| Next.js app · ISR + server actions + image opt | Vercel | Built by the Next.js team. Deepest integration. Worth the bandwidth premium IF you're using Next.js features fully. |
| Static blog or marketing site · low budget | Cloudflare Pages or Netlify | CF Pages free tier is unlimited bandwidth. Netlify pairs static with built-in forms/identity. Either works for 90% of static blogs. |
| Cloudflare-stack startup (Workers + R2 + Access) | Cloudflare Pages | Native integration eliminates network hops + billing relationships. SideGuy runs the dashboard on CF Access — integration value is real. |
| Docker container app · small team | Railway | Cleanest Dockerfile UX. Fast preview environments. Heroku-style simplicity for containerized apps. |
| Postgres-heavy app · production scale | Render or Fly.io | Render's managed Postgres is the cleanest setup-and-forget. Fly if you need multi-region Postgres replicas. |
| International users · latency matters | Cloudflare Pages or Fly.io | CF Pages for static (300+ POPs). Fly for full-stack with regional containers. |
| Flat HTML site at scale (no SSR) | S3 + CloudFront (or CF Pages) | SideGuy's actual pick. ~$5/mo for 3,400 pages vs $50-200/mo on Vercel for the same shape. Pick by stack reality. |
Bandwidth bills get aggressive at scale. Pro plan includes 1TB; beyond that it's $40-150/TB depending on region. Viral content + image-heavy sites discover this fast. Mitigation: aggressive caching headers + Cloudflare in front of Vercel (yes, this is a common pattern). Also: lock-in to Next.js + Vercel-specific features (server actions, ISR) makes migration painful.
Build minutes blow up on monorepos. 25K build minutes/mo on Pro sounds like a lot until you have a Turborepo with 12 packages. Netlify-specific features (functions, edge functions) are competent but trail Cloudflare Workers and Vercel edge functions. Plus: post-Mautic acquisition the product velocity slowed visibly.
Backend logic is constrained by Workers runtime. Workers is V8 isolates, not Node — some npm packages don't work, some patterns (long-running connections, large file processing) need different solutions. The dashboard UX trails Vercel/Netlify in polish. Free tier is so good that you'll be tempted to skip the architecture work needed to use it well.
Cold starts on free tier + per-service pricing accumulates. Free tier services sleep after 15min idle — fine for hobby, brutal for anything customer-facing. Production tier ($7/service/mo) is reasonable individually but a 5-service app is $35/mo before databases. Predictable but not cheap.
Production maturity gap vs Render. Private networking, managed services, and operations features lag Render. Strong DX and Docker UX but the moment you need to run a real production system with databases + workers + cron + private networking, Render handles it more cleanly. Best for hobby through small-startup; revisit at scale.
Configuration overhead + spotty reliability history. fly.toml + machines + volumes + regions = more concepts than Render/Railway. Had a rough 2023-2024 on uptime that scared off some teams. Recent improvements but if uptime is critical, verify current SLAs. Strong fit when you genuinely need global multi-region; over-spec'd otherwise.
I run SideGuy out of Encinitas. No retainer, no demo call. Send a 1-line description of your stack + traffic profile, get back a forced recommendation in plain English. (I just ran this same eval on my own site this morning.)
Don't see what you were looking for?
Text PJ a sentence about what you actually need — I'll build you a free custom shareable on the house. No email, no funnel, no SOW.
📲 Text PJ — free shareableI'm almost positive I can help. If I can't, you don't pay.
No signup. No seminar. No bullshit.