Vercel built the smoothest deployment experience for Next.js and modern frontend frameworks. git push, the preview deploys, the zero-config static export, they set the bar and everyone else has spent the last few years catching up. For a landing page or a marketing site, Vercel is still hard to beat.
The problems show up in specific places. Pricing gets aggressive as your bandwidth and function invocations grow. Serverless function limits (timeout, payload size, cold starts) don't fit heavier workloads. Anything beyond a Next.js frontend, a real backend with databases, queues, cron jobs, microservices, is either bolted on with third-party services or moved somewhere else entirely. And the "edge everything" narrative doesn't map to teams who want straightforward long-running processes.
This guide covers the practical alternatives: other frontend-friendly platforms, backend-focused platforms, and approaches that skip the PaaS model entirely.
| Platform | Good at | Cloud | Pricing model | Best for |
|---|---|---|---|---|
| Encore | Backend services on your own AWS/GCP | AWS, GCP (your account) | Per-environment, no egress markup | Full-stack teams who want backend + infra managed |
| Netlify | Static + edge functions, similar to Vercel | Netlify infrastructure | Bandwidth + function invocations | Static-heavy sites, JAMstack |
| Cloudflare Pages + Workers | Global edge, extreme scale, low cost | Cloudflare edge | Generous free tier, per-request after | Edge-heavy apps, cost-sensitive teams |
| Railway | Simple containers + databases | Railway infra (AWS under) | Pay for compute + storage | Full-stack apps, prefer container model |
| Fly.io | Containers close to users globally | Fly infrastructure | Pay per VM + bandwidth | Apps needing global low-latency |
| AWS Amplify | Full-stack on AWS, Vercel-like UX | AWS (managed) | Standard AWS pricing + Amplify | Teams committed to AWS |
| Render | Heroku-like PaaS for modern stacks | Render infra (AWS under) | Per-service plans | Simple full-stack apps |
| Self-hosted (Coolify, Dokku) | Full control on your own servers | Your servers | VPS cost only | Cost-conscious, willing to operate |
If your Vercel pain isn't actually about the frontend, it's that Vercel doesn't handle your backend well, and stitching databases, queues, and cron jobs onto a Vercel deployment has become a maze, Encore is worth looking at.
Encore is not a direct Vercel replacement. You'd typically keep Vercel (or Netlify, or Cloudflare Pages) for your frontend and use Encore for the backend. What Encore replaces is the assembly of Supabase + Upstash + Neon + third-party cron + Sentry that many Vercel users end up with.
The idea: you declare your backend infrastructure (databases, Pub/Sub, cron jobs, object storage) in TypeScript, and Encore provisions the actual resources in your own AWS or GCP account. No per-function-invocation pricing, no serverless cold starts, no third-party services for each backend primitive.
import { api } from "encore.dev/api";
import { SQLDatabase } from "encore.dev/storage/sqldb";
import { CronJob } from "encore.dev/cron";
// Provisions managed Postgres (RDS or Cloud SQL).
const db = new SQLDatabase("users", { migrations: "./migrations" });
// Provisions an EventBridge / Cloud Scheduler rule.
new CronJob("daily-summary", {
title: "Daily summary email",
every: "24h",
endpoint: sendDailyEmails,
});
export const sendDailyEmails = api(
{ method: "POST", path: "/internal/daily-summary" },
async () => {
const users = await db.query`SELECT * FROM users WHERE subscribed = true`;
// ...
},
);
Good fit for: Vercel users who've hit "this platform is great for my frontend but my backend is a mess."
Less good fit for: pure static sites or frontend-only deployments, keep Vercel/Netlify/Cloudflare for those.
Encore is open source (12k+ GitHub stars) and used in production by teams including Groupon.
Want to jump straight to a running app? Clone this starter and deploy it to your own cloud.
The closest direct competitor to Vercel. Same model, static sites + edge functions, with a slightly different flavor.
netlify deploy --prod
Advantages over Vercel:
Tradeoffs:
Good fit for: teams who want a Vercel-like experience but find Vercel's pricing aggressive or want Deno functions.
Cloudflare's offering combines static hosting (Pages) with edge compute (Workers) running on their global CDN. The pricing is significantly more aggressive than Vercel's, especially at scale.
// functions/api/hello.ts, runs on Workers
export async function onRequest(context) {
return new Response("Hello from the edge");
}
Advantages over Vercel:
Tradeoffs:
Good fit for: cost-sensitive teams, apps that benefit from global edge execution, or anyone burned by Vercel bandwidth bills.
Railway runs your app as a container with an attached database. Closer to Heroku than to Vercel, good for full-stack apps where "serverless" is more trouble than it's worth.
railway up
Advantages over Vercel:
Tradeoffs:
Good fit for: full-stack apps where the backend matters more than CDN-heavy frontend delivery. See our Railway Alternatives for more.
Fly runs full VMs of your container globally, with smart anycast routing to the closest region. Different model from Vercel's edge functions, full apps, not function slivers.
fly deploy
Advantages over Vercel:
Tradeoffs:
Good fit for: apps that need low-latency globally or full control over the runtime. See our Fly.io Alternatives for more.
Amplify is AWS's Vercel-like product. Git-based deploys, branch previews, managed backend services, all on AWS.
Advantages over Vercel:
Tradeoffs:
Good fit for: AWS-committed teams who want a Vercel-like frontend deploy flow on their own AWS account.
Render positions itself as a Heroku-style PaaS for modern stacks. Static sites, web services, cron jobs, and managed Postgres/Redis in one platform.
Advantages over Vercel:
Tradeoffs:
Good fit for: simple full-stack apps where Vercel is overkill or underkill. See our Render Alternatives.
For cost-sensitive teams willing to manage their own servers, open-source self-hosted PaaS tools (Coolify, Dokku, Kamal, CapRover) give you most of the Vercel/Heroku DX on your own VPS.
Advantages over Vercel:
Tradeoffs:
Good fit for: individual developers, side projects, or teams with strong ops skills and cost pressure.
Stay on Vercel if:
Add Encore for the backend if:
Move frontend to Netlify or Cloudflare Pages if:
Move to Railway, Fly, or Render if:
Move to AWS Amplify if:
Self-host if:
# Encore (backend), keep Vercel for the frontend
brew install encoredev/tap/encore
encore app create my-backend --example=ts/empty
cd my-backend && encore run
# Netlify
npm install -g netlify-cli
netlify init
# Cloudflare Pages
npm install -g wrangler
wrangler pages deploy ./dist
# Railway
npm install -g @railway/cli
railway init
Want to jump straight to a running app? Clone this starter and deploy it to your own cloud.
It depends on which part of Vercel is the problem. If the pain is a real backend and you want to own where it runs, Encore is the strongest choice: it provisions your backend's infrastructure as standard resources in your own AWS or GCP account, and `encore build docker` exports a plain image, so lock-in stays low and there is no per-invocation pricing. If you only need frontend and edge hosting, Netlify and Cloudflare Pages match Vercel's static-plus-edge model, Railway and Render fit container-based full-stack apps, and AWS Amplify suits teams already committed to AWS.
Use a platform that provisions into your own cloud account rather than hosting on its own infrastructure. Encore does this by treating the infrastructure your backend needs as typed objects in your code, so there is no separate Terraform, YAML, or console step to keep in sync. It reads those declarations and provisions the matching managed resources, such as a Postgres database and object storage, directly in your AWS or GCP account. You keep Vercel or Netlify for the frontend. AWS Amplify also runs on your AWS account but ties you to Amplify conventions.
Vercel costs can climb because pricing scales with bandwidth and serverless function invocations, which grow quickly for high-traffic or backend-heavy apps. Bandwidth in particular tends to be the line item that surprises teams at scale. Platforms like Cloudflare Pages offer much cheaper or free bandwidth, and self-hosting on a VPS can cut costs further if you are willing to operate the infrastructure.
Netlify and Vercel are close competitors with a similar static-plus-edge-functions model, so neither is strictly better. Vercel has deeper Next.js-specific optimizations, while Netlify offers Deno-based edge functions and can be cheaper on bandwidth or functions depending on your usage pattern. For a Next.js-first project Vercel usually has the edge; for a framework-agnostic JAMstack site Netlify is a strong match.
Vercel can run backend logic through serverless functions, but it does not manage databases, queues, or cron jobs itself, so most teams add third-party services like Neon, Upstash, and a separate scheduler. Container platforms such as Railway and Render bundle managed Postgres, Redis, and background services on their own infrastructure, which removes most of that stitching. Vercel's own Cron Jobs feature covers scheduled function invocations, though it still leans on external stores for data.
A platform where infrastructure is defined in code works best with AI coding agents. Agents write application logic well but tend to fumble raw infrastructure, meaning Terraform, IAM policies, consoles, and state files. Encore represents the infrastructure a backend needs as typed code, so an agent can generate a full backend including its infrastructure, and the type system narrows what it can misconfigure. Vercel remains a strong target for the frontend an agent builds alongside it.