Skip to content
C.W.K.
Stream
Lesson 06 of 08 · published

Vercel & The Ecosystem

~18 min · Vercel, ecosystem, deployment

Level 0Curious
0 XP0/68 lessons0/11 achievements
0/120 XP to next level120 XP to go0% complete

Vercel makes Next.js, but doesn't own it

Vercel created and maintains Next.js, and runs a hosting platform optimized for it. The two are tightly aligned but Next.js is open source and self-hostable everywhere Node runs.

What Vercel adds on top of next start

  • Zero-config deploysgit push on a connected repo ships to production.
  • Preview deployments per PR with a unique URL.
  • Edge runtime for low-latency middleware/proxy work in 30+ regions.
  • ISR distributed across the edge cache (sub-second invalidation).
  • Image CDN — no sharp install, served from the edge.
  • Analytics & Speed Insights for real-user Core Web Vitals.

The self-hosting reality

Self-hosting works, and the docs are honest about what it costs: image optimization needs sharp installed, ISR cache lives in one region by default, no preview URLs, and you operate the SSL/process manager yourself.

Why "Vercel-only" myths are wrong

Server Actions, RSC, streaming, ISR, image/font optimization, Server Actions caching — all run on a vanilla Node server. The Vercel-only features are the platform layer (preview URLs, distributed cache, edge functions), not the framework features.

Separate the framework contract from the hosting contract. Choose Vercel when previews, distributed caching, managed images, and low operational overhead solve the current constraint; choose self-hosting when location, cost, or infrastructure control justifies owning those services. Next.js is not limited to Vercel, but feature parity in the Node.js process is not operational parity. TLS, process supervision, shared invalidation, image delivery, logs, preview environments, and rollback still need an owner. Run the same production build on Vercel and with next start. Exercise a representative route, then list every additional component needed for TLS, images, cache sharing, logs, and restart. Fail one component and record who detects and restores it.

Code

Connect a repo and deploy·bash
npm i -g vercel
cd my-nextjs-app
vercel              # interactive: link to org, set project name
# Subsequent pushes to main → auto-deploys to production
Self-host the same app·bash
npm run build
NODE_ENV=production npm run start
# Behind nginx / caddy + a process manager (PM2, systemd, launchd).
# All Next.js features available.

External links

Exercise

Deploy the same starter app twice: once to Vercel (or read the docs and write the steps), once on your own Mac via next start behind caddy or nginx. Note which features changed between the two.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.