The Default Case for Vercel
For the majority of small business client sites we build, Vercel is the right hosting choice. The reasons are practical, not philosophical:
Zero-config Next.js support. Vercel built Next.js. Edge functions, ISR, Server Actions, and App Router features all work without any custom configuration. On self-hosted deployments, you're responsible for keeping that behavior aligned with whatever Next.js ships next.
Preview deployments. Every pull request gets a live preview URL. For clients who want to review changes before they go to production, this is invaluable. Replicating this on a self-hosted environment requires meaningful DevOps investment.
Observability. Vercel's built-in analytics, function logs, and Web Vitals dashboard tell you immediately if something breaks. On a VPS, you're setting up your own log aggregation and monitoring.
Cost at small scale. The Vercel Pro plan is $20/month per seat. For a site doing under 100GB of bandwidth and reasonable function invocations, this is competitive with or cheaper than a managed VPS once you factor in your time.
When Self-Hosting Makes Sense
Budget-constrained long-running projects. A client with a site that's stable, changes rarely, and has predictable traffic can run indefinitely on a $6/month Hetzner VPS running 'next start' behind an Nginx reverse proxy. Not glamorous, but functional.
Data residency requirements. Some clients — particularly in healthcare or government — have requirements about where data is processed. Vercel's edge network distributes computation globally, which can create compliance complications. A self-hosted deployment in a specific AWS or Azure region avoids this.
High-volume API routes. Vercel charges for function invocations and execution duration. A Next.js app that runs heavy server-side computation or handles high-frequency webhook ingestion can get expensive fast on Vercel. Running the same workload on a dedicated server with a flat monthly cost is more predictable.
Full control over the runtime environment. If you need specific system libraries, custom Node.js versions, or non-standard file system access, Vercel's sandbox environment is a constraint. A container or VPS gives you full control.
The Decision Framework
We ask four questions:
1. Will the client's team manage deployments themselves? → Vercel (lower ops burden)
2. Is there a budget cap that a flat-rate VPS serves better? → Self-host
3. Does the project have compliance or data residency requirements? → Self-host in a specific region
4. Does the site have high function invocation volume? → Model the Vercel cost vs. VPS before committing
For most clients, the answer to questions 1 and 2 points to Vercel. For the exceptions, we deploy to Hetzner or DigitalOcean behind a Coolify instance, which gives us Vercel-like deployment UX on self-managed infrastructure.
Questions about the right hosting setup for your project? Talk to the Operon E2I team at /contact.