본문 바로가기
C.W.K.
Stream
Lesson 06 of 08 · published

Vercel과 Next.js 생태계

~18 min · Vercel, ecosystem, deployment

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

프레임워크와 호스팅은 같은 제품이 아니야

Vercel이 Next.js를 만들고 유지하지만, Next.js 앱이 Vercel에서만 돌아가는 건 아니야. 표준 Node.js 서버에서도 서버 컴포넌트, 스트리밍, 서버 액션, ISR, 이미지 최적화를 사용할 수 있어. 둘을 구분해야 잠금 효과를 과장하지도, 운영 부담을 숨기지도 않아.

Vercel이 덧붙이는 플랫폼 가치

  • Git push와 연결된 자동 배포
  • 브랜치와 PR마다 만들어지는 미리보기 주소
  • 30곳이 넘는 지역의 엣지 실행 환경
  • 1초보다 짧은 무효화를 목표로 전 세계에 분산된 ISR 캐시
  • sharp를 따로 설치하지 않아도 되는 이미지 CDN
  • 실사용자 기반 분석과 Web Vitals

이 기능들은 Next.js 문법이 아니라 운영 플랫폼의 기능이야. 직접 호스팅하면 같은 앱을 돌릴 수 있지만 SSL과 프로세스 관리를 맡아야 하고, 이미지 최적화를 위해 sharp를 설치해야 해. ISR 캐시는 기본적으로 한 지역에 머물며 PR별 미리보기 주소도 직접 마련해야 해.

호스트는 실패 지점으로 골라

처음에는 개발 속도와 운영 단순성이 가장 큰 제약인 경우가 많아서 Vercel이 유리해. 사용량이 커져 비용이 병목이 되거나, 규정 때문에 실행 위치를 직접 통제해야 할 때는 self-hosting의 가치가 커져. 막연한 잠금 공포로 먼저 복잡성을 떠안지 말고, 실제로 먼저 깨지는 제약을 기준으로 선택해.

호스팅을 고를 때 월 요금만 보지 말고 preview, TLS, 이미지 최적화, 캐시 공유, 장애 대응을 누가 맡을지 적어 봐. Vercel에서 자동으로 받던 항목마다 자체 호스팅에서는 구체적인 서비스와 담당자가 필요해. 그 목록의 운영 시간이 플랫폼 비용보다 싸다는 근거가 있을 때 이동하면 돼.

자체 호스팅이 곧 공급자 독립인 것도 아니야. 클라우드의 로드밸런서, CDN, 로그 서비스에 다른 방식으로 묶일 수 있어. 반대로 Vercel을 써도 표준 Node.js 경로와 데이터 백업을 유지하면 이동 가능성을 보존할 수 있어. 잠금은 이름보다 교체 절차가 있는지로 판단해. 같은 빌드를 Vercel과 로컬 next start에 올려 핵심 경로를 비교해. 기능 차이가 아니라 TLS·이미지·캐시·로그·재시작을 위해 추가한 운영 요소를 기록하고, 한 요소를 일부러 멈췄을 때 누가 감지하고 복구하는지까지 확인해야 호스팅 비용이 완성돼. 이동 가능성을 지키려면 상태 저장소와 업로드 자산의 백업·복원도 함께 시험해. 애플리케이션 코드를 다른 호스트에서 실행하는 것만으로는 사용자 데이터와 도메인까지 실제로 옮길 수 있다는 증거가 되지 않아.

Code

저장소를 연결해 배포하기·bash
npm i -g vercel
cd my-nextjs-app
vercel              # 대화형 조직·프로젝트 연결
# 그 뒤로 main에 push할 때마다 운영 환경에 자동 배포
같은 앱을 자체 호스팅하기·bash
npm run build
NODE_ENV=production npm run start
# nginx / caddy + 프로세스 관리자 (PM2, systemd, launchd) 뒤에.
# Next.js 기능을 모두 사용할 수 있어.

External links

Exercise

같은 starter 앱을 Vercel과 로컬 next start 뒤의 Caddy 또는 nginx에서 실행해. 달라지는 기능과 직접 맡아야 할 운영 책임을 표로 정리해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.