Vercel 이 플랫폼 구축 제품인 "Vercel for Platforms" 를 출시했다. SaaS 빌더가 고객별 프로젝트를 프로그래밍 방식으로 생성·운영하는 두 가지 아키텍처 패턴을 제공한다. 멀티테넌트(단일 코드베이스, 와일드카드 도메인)와 멀티프로젝트(고객별 격리된 Vercel 프로젝트) 중 선택해 플랫폼을 구성할 수 있다.
핵심 포인트- 멀티테넌트: 단일 코드베이스가 *.yourapp.com 와일드카드 도메인으로 모든 고객을 서빙. 엣지 미들웨어에서 hostname 파싱으로 라우팅하며, 변경사항은 모든 테넌트에 동시 반영된다.
- 멀티프로젝트: Vercel SDK 로 고객당 독립된 프로젝트를 생성. 빌드 환경·함수·환경변수가 완전 격리되며 프레임워크를 고객별로 다르게 사용 가능하다.
- 커스텀 도메인: SDK 를 통해 도메인 추가, DNS 검증, SSL 인증서 관리를 자동화한다.
- Platform Elements 컴포넌트 라이브러리(shadcn/ui 기반)와 함께 출시해 플랫폼 UI 를 빠르게 구성할 수 있다.
상세 정리- 배경: SaaS 빌더가 "고객의 프로젝트를 대신 생성·실행하는 플랫폼"을 구축하는 수요를 포착해 그 인프라를 Vercel 제품으로 제공한다.
- 멀티테넌트 아키텍처: *.yourapp.com 와일드카드 도메인 하나로 모든 고객을 처리하며, 엣지 미들웨어가 hostname 을 파싱해 테넌트를 식별하고 라우팅한다.
- 멀티테넌트 배포 특성: 단일 배포이므로 코드 변경이 모든 고객에 즉시 반영된다. SSL 인증서와 DNS 검증이 자동화된다.
- 멀티프로젝트 아키텍처: Vercel SDK 로 고객당 독립된 프로젝트를 생성하며, 각 프로젝트는 자체 빌드 환경·함수·환경변수를 갖는다.
- 멀티프로젝트 배포 특성: 프레임워크 자동 감지와 빌드 커맨드 자동 설정을 지원하며, 프로젝트별 커스텀 도메인 지정이 가능하다.
- TypeScript SDK 예시: 도메인 추가 함수(addDomain)와 DNS 레코드 상태 조회 함수를 SDK 로 구현하는 패턴을 코드로 제공한다.
- 아키텍처 선택 기준: 모든 고객에게 동일한 코드베이스를 쓰면 멀티테넌트, 고객별 완전 격리 환경이나 다른 프레임워크가 필요하면 멀티프로젝트를 선택한다.
- Platform Elements: custom-domain, deploy-popover, dns-table, claim-deployment, report-abuse 등 플랫폼 관련 UI 블록을 npx CLI 로 설치하는 shadcn/ui 기반 컴포넌트 라이브러리다.
왜 읽나고객별 사이트나 테넌트를 관리하는 SaaS 플랫폼을 Vercel 위에 구축할 때 아키텍처 선택 기준과 SDK 사용법을 한눈에 파악할 수 있다.