If you're building a web app and you just want it live, Vercel is excellent, and you should consider it before anything on this page.
Kudos where it's due: its key value is one workflow. Push to GitHub and you get a preview URL for every pull request, production on merge, rollback in one click, and one dashboard for domains, environment variables, logs and the bill. My stack has no such thing. Previews, rollbacks and environments are pieces I wire together with Pulumi and GitHub Actions, and that takes real engineering. I'm comfortable with that, it's my job. If you aren't technical, that one workflow is worth more than anything else on this page, and you should pick Vercel over a complicated AWS setup.
It's also the best home for Next.js with server rendering, and it has real tools for AI products: a sandbox for running untrusted code and durable workflows for agents.
I skip it because my clients are enterprises. Their work is mostly in the backend (events, queues, long jobs, data, AWS accounts and networks), and Vercel covers the web app, not the whole cloud. And doing it all yourself is still cheaper, if you do it well. Not if you do it like an idiot. Most of my stack works underneath it anyway: Vercel's Postgres is Neon, and Better Auth is now part of Vercel.
Use it when
- You're building a web app with a small team and nobody wants to run infrastructure: push to GitHub and it's live.
- Next.js with server rendering (SSR, ISR, image optimisation, middleware): Vercel builds Next.js, so new features land there first.
- You want a preview URL for every pull request, one-click rollback, environment variables and domains on one dashboard, from day one.
- An AI product that runs code the model writes (Vercel Sandbox) or long agent workflows (Workflow SDK).
Don't use it when
- Most of the work is in the backend: event-driven pipelines, queues, jobs that run for hours, data lakes, IoT.
- Enterprise AWS requirements: multiple accounts, IAM, VPCs, or data that must stay inside AWS in Sydney.
- Steady traffic at scale: per-seat pricing plus metered bandwidth and compute cost far more than running the same pieces yourself.
Pricing
Pro $20 per seat a month, including $20 of usage. Then metered: bandwidth $0.15/GB after the first 1 TB and Active CPU $0.128 an hour (US rates).
Provisioning
Pulumi via a Terraform provider · Official Terraform provider
Vercel's own Terraform provider covers projects, domains, environment variables and deployments. From Pulumi, use the community Pulumiverse package bridged from it.
Use instead
Cloudflare static hosting for the front end, Lambda or Cloudflare Workers for the API, Neon for the data, all provisioned with Pulumi.
Alternatives
- Netlify A non-technical team building with AI tools, with many collaborators and no attachment to Next.js.
- Cloudflare static hosting Static sites, SPAs and PWAs: free and unlimited.
- AWS Lambda The API and everything event-driven behind it.
Sources
Last reviewed by Nicolas Dao