프레임워크와 호스팅은 같은 제품이 아니야
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·이미지·캐시·로그·재시작을 위해 추가한 운영 요소를 기록하고, 한 요소를 일부러 멈췄을 때 누가 감지하고 복구하는지까지 확인해야 호스팅 비용이 완성돼. 이동 가능성을 지키려면 상태 저장소와 업로드 자산의 백업·복원도 함께 시험해. 애플리케이션 코드를 다른 호스트에서 실행하는 것만으로는 사용자 데이터와 도메인까지 실제로 옮길 수 있다는 증거가 되지 않아.