Vercel이 프론트엔드와 백엔드를 단일 프로젝트에서 통합 배포할 수 있는 Vercel Services를 출시했다. vercel.json 하나로 Next.js 프론트엔드와 FastAPI 백엔드를 선언하고, 내부 서비스 간 통신은 공개 인터넷을 경유하지 않는 private binding으로 처리한다.
핵심 포인트- vercel.json의 services 키로 여러 프레임워크(Next.js + FastAPI 등)를 하나의 프로젝트에 선언, 별도 리버스 프록시 없이 라우팅 처리
- bindings 설정으로 서비스 간 통신이 공개 인터넷을 경유하지 않고 Vercel 내부 네트워크로 이루어짐
- FastAPI, Flask, Django, Express, Hono, Go, Rust를 자동 감지·프로비저닝 — 백엔드 설정 수동 작업 불필요
- Fluid compute 기반 Active CPU 과금 — 코드 실행 시간만 과금, Pro/Enterprise에서 최대 30분 함수 실행 지원
- 모든 서비스가 atomic하게 함께 배포·롤백되어 프론트엔드/백엔드 동기화 보장
- vercel dev로 모든 서비스를 로컬에서 production-like 환경으로 실행 가능
상세 정리- 배경: 기존엔 프론트엔드(Vercel) + 백엔드(별도 플랫폼) 분리 배포가 일반적이었고, 서비스 간 통신은 공개 인터넷을 경유해 latency와 보안 비용 발생
- 설정 구조: vercel.json의 services 키 아래 각 서비스의 root 디렉터리와 프레임워크 entrypoint를 선언(예: my_frontend에 nextjs, my_backend에 main:app)
- 라우팅: 단일 shared rewrite table로 API 경로는 백엔드, 나머지는 프론트엔드로 분배 — 별도 API Gateway 불필요
- 내부 통신: bindings 키로 프론트엔드가 BACKEND_INTERNAL_URL 환경변수를 주입받아 new URL("/users", process.env.BACKEND_INTERNAL_URL)로 백엔드 직접 호출 — 외부 인터넷 미경유로 latency 절감
- 프레임워크 지원: Python(FastAPI, Flask, Django), Node.js(Express, Hono), Go, Rust를 자동 감지 후 인프라 프로비저닝 — 언어별 별도 설정 불필요
- 컴퓨팅 스펙: Fluid compute 기반 Active CPU 과금(유휴 연결 비용 없음), Python 백엔드 최대 500MB 의존성 지원, Pro/Enterprise는 최대 30분 실행 가능
- 추가 기능: WebSocket(Socket.IO 등 표준 라이브러리), Sandbox(격리된 Linux 환경, Docker 지원), Queues(배경 작업), Workflow(내구성 있는 다단계 프로세스), Cron(스케줄 실행)
- 데이터베이스 연동: Neon, Supabase, AWS Aurora PostgreSQL, DynamoDB, OpenSearch Serverless 등 Marketplace 연동 — short-lived OIDC 토큰으로 인증(영구 secret 불필요)
- 보안: Secure Compute, Static IP, VPC peering, Sandbox 격리(production 환경 접근 차단)
- 배포 원자성: Preview 배포도 모든 서비스가 함께 배포 — 프론트/백엔드 불일치 상태 원천 방지
- 모니터링: Deployments 패널에서 서비스 그래프 시각화, Logs UI에서 서비스별 개별 필터링 지원
왜 읽나단일 플랫폼에서 프론트엔드와 여러 백엔드를 통합 관리하려는 풀스택 팀이나, MSA 구성을 최소 인프라 복잡도로 시작하려는 개발자에게 실용적인 레퍼런스다.