pile·
인프라 / DevOps·vercel-blogVercel Blog·

Vercel Services: 단일 프로젝트에서 풀스택 실행하기

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 구성을 최소 인프라 복잡도로 시작하려는 개발자에게 실용적인 레퍼런스다.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·vercel-blogVercel Blog·

    Vercel CLI 드라이런 배포로 실제 배포 전 구성 미리 확인하기

    Vercel CLI v54.17.2부터 vercel deploy --dry 명령으로 실제 파일 업로드 없이 배포 구성을 미리 검사할 수 있다. 프레임워크 감지 결과, 포함/제외 파일 목록, 디렉터리 크기 분포, 콘텐츠 해시까지 사전에 확인하고 나서 배포를 결정할 수 있어 의도치 않은 배포 실패를 예방한다.

    #deployment#ci-cd#vercel-cli+1
  2. 인프라 / DevOps·discord-blogDiscord Blog·

    Discord API의 기능별 비용 귀속 시스템

    Discord가 1,700개 이상의 API 엔드포인트와 700개 백그라운드 태스크를 단일 Python 코드베이스로 수백 개 Kubernetes 배포에서 운영하면서 기능별 인프라 비용을 귀속시키는 시스템을 구축했다. 클라우드 제공사가 Kubernetes 배포 단위까지만 비용을 나눠주기 때문에 메시징·스트리밍 등 개별 기능의 실제 비용을 파악하기 어려웠고, CPU 시간 직접 샘플링으로 이 문제를 해결했다.

    #kubernetes#observability#profiling+2