백엔드 전체를 Vercel에서 운영할 수 있습니다. Vercel Services는 프론트엔드와 모든 백엔드를 하나의 프로젝트로 배포하며, 라우팅·환경 변수·서비스 간 내부 통신을 자동으로 구성해 줍니다.
사용자 입장에서 Next.js 프론트엔드와 FastAPI 백엔드를 사용하는 앱은 하나의 제품처럼 느껴집니다. 개발자에게도 마찬가지여야 하지만 현실은 다릅니다. 두 컴포넌트는 서로 다른 클라우드에 배포되고, 개발·배포 워크플로도 제각각인 경우가 많습니다.
오늘 저희는 하나의 Vercel 프로젝트에서 여러 프레임워크를 실행할 수 있는 Vercel Services를 출시합니다. 이를 통해 다음이 가능해집니다:
원자적 배포: 프론트엔드, 백엔드, 기타 서비스가 항상 동기화된 상태로 함께 배포되고 롤백됩니다
공유 미리보기 배포: 변경 사항이 모든 서비스에 어떤 영향을 미치는지 한눈에 확인할 수 있습니다
서비스 간 내부 통신: 퍼블릭 인터넷을 거치지 않고 서비스끼리 직접 통신할 수 있습니다
라우팅, 빌드, 배포, 프로덕션 오토스케일링은 Vercel이 알아서 처리합니다. 이미 Vercel에서 익숙하게 사용하던 개발자 경험이 이제 애플리케이션 전체로 확장됩니다.
services 키 아래에 서비스를 선언하고 vercel.json에서 라우팅 설정을 명시적으로 유지하세요:
서비스는 리버스 프록시나 CORS 없이도 공유 라우팅 테이블에 마운트할 수 있습니다.
서비스 설정은 Vercel 플랫폼의 여러 레벨에서 인식됩니다:
배포 패널에서 서비스 그래프 시각화를 확인할 수 있습니다
로그 UI에서 개별 서비스별로 필터링할 수 있습니다
vercel dev CLI가 모든 서비스를 자동으로 실행해 로컬에서도 프로덕션과 유사한 환경을 제공합니다
서비스는 퍼블릭 인터넷을 거치지 않고 내부적으로 다른 서비스와 통신할 수 있습니다. 새로운 bindings 설정 키가 이를 어떻게 지원하는지 살펴보겠습니다:
이제 JavaScript 프론트엔드 코드는 BACKEND_INTERNAL_URL 환경 변수에 저장된 URL을 통해 Python 서비스와 내부적으로 통신할 수 있습니다:
서비스 간 트래픽은 퍼블릭 인터넷으로 나가지 않고 Vercel 네트워크 안에서만 오갑니다. 독립적인 여러 서비스가 각기 다른 호스트에 흩어진 별개의 배포 단위가 아니라, 동일한 연결 구조로 이어진 하나의 애플리케이션이 됩니다.
대부분의 프레임워크는 Vercel에서 별도 설정 없이 바로 실행됩니다. 프레임워크 정의 인프라는 각 서비스의 프레임워크를 자동으로 감지하고 프로비저닝합니다. Python의 FastAPI·Flask부터 TypeScript의 Express·Hono까지, Go 서버와 Rust 서버도 완전하게 지원합니다.
서비스는 Fluid 컴퓨트 위에서 실행되며 트래픽에 따라 자동으로 스케일링되고, 실제 CPU 사용 시간만큼만 비용이 청구됩니다. 프레임워크 정의 최적화는 더 깊은 수준까지 적용됩니다. 예를 들어 Django의 경우, 정적 에셋 위치를 자동으로 감지해 CDN에서 직접 제공합니다.
Vercel Services는 애플리케이션을 빌드하고 실행하는 구조화된 방법을 Vercel에 제공합니다.
이러한 서비스들은 API, 에이전트, 백그라운드 워커 등 어떤 백엔드에서도 필요한 모든 것을 갖춘 플랫폼 위에서 실행됩니다. 컴퓨트, 데이터, 네트워킹, 백그라운드 작업, 외부 서비스 보안 연결까지 모두 포함합니다.
에이전트는 파일을 읽고, 명령을 실행하고, 코드를 작성할 수 있습니다. 하지만 이런 기능에는 보안이 필수적입니다. Vercel Sandbox는 각 에이전트에 독립된 Linux 환경을 제공합니다. 파일시스템, 셸, Docker 지원, 그리고 배포 환경과 완전히 격리된 전용 커널이 포함됩니다. 에이전트는 코드를 실행하고 파일을 검색하며, Redis나 Postgres를 의존성으로 띄울 수도 있습니다. 샌드박스 내부에서는 프로덕션 환경에 전혀 접근할 수 없습니다.
자동 영속성 기능으로 상태가 세션 간에 유지되며, Pro 플랜에서는 샌드박스를 최대 24시간 동안 실행할 수 있습니다.
Vercel Functions는 Node.js, Python, Go 등 모든 Vercel 런타임에서 WebSocket 연결을 지속적으로 유지합니다. Socket.IO와 같은 표준 WebSocket 라이브러리와 호환되며, 연결이 Fluid 컴퓨트와 Active CPU 요금제로 운영되기 때문에 연결이 유휴 상태인 시간이 아닌 실제 메시지를 처리한 시간만 비용으로 청구됩니다.
에이전트와 백엔드는 프로젝트 외부의 서비스(Slack, GitHub, 매니지드 데이터베이스 등)에 접근해야 할 때가 있으며, 보통은 환경 변수에 장기 유지 시크릿을 저장하는 방식을 사용합니다. Vercel Connect는 이를 대신해 앱이 런타임에 요청하는 단기 자격증명을 사용하며, 현재 수행 중인 작업 범위로만 제한됩니다. 유출 위험이 있는 장기 시크릿이 남지 않습니다.
Vercel Marketplace에서 클릭 몇 번으로 데이터베이스를 프로비저닝할 수 있으며, 자격증명이 자동으로 주입됩니다. Neon, Supabase는 물론 AWS의 Aurora PostgreSQL, Aurora DSQL, DynamoDB도 지원합니다. Amazon OpenSearch Serverless로 전문 검색과 벡터 검색을 추가할 수 있고, Vercel Blob은 오브젝트 스토리지를 담당합니다. Vercel을 벗어나지 않고도 쿼리하고 관리할 수 있으며, Blob과 AWS 통합 모두 저장된 시크릿 대신 단기 OIDC 토큰으로 인증합니다.
Vercel Queues는 요청 경로 밖에서 백그라운드 작업을 처리합니다. Vercel Workflow는 크래시와 재배포에도 중단되지 않는 지속적인 멀티스텝 프로세스를 다룹니다. Vercel Cron은 스케줄에 따라 작업을 실행합니다. 이 모두는 요청보다 오래 살아남는 백엔드의 영역이지만, 다른 모든 것과 동일한 플랫폼 위에서 동작하기 때문에 장기 실행 작업을 위한 별도의 인프라가 필요 없습니다.
백엔드가 퍼블릭 서비스가 아닌 프라이빗 데이터베이스나 내부 네트워크에 접근해야 할 때는 Secure Compute, 고정 IP, VPC 피어링으로 경로를 열 수 있습니다.
Pro 및 Enterprise 플랜에서 함수는 최대 30분까지 실행되며, Python 백엔드는 최대 500MB의 의존성과 함께 배포할 수 있습니다.
이 모든 것의 기반인 Fluid 컴퓨트는 새 프로젝트의 기본값으로 적용되며, 코드가 실제로 실행되는 시간만 청구하는 Active CPU 요금제를 사용합니다. 유휴 시간이 많은 백엔드와 AI 작업에 최적화된 구조입니다.
Vercel Services는 프론트엔드, 백엔드, 지원 서비스를 모두 하나의 프로젝트로 통합합니다. 함께 빌드되고, 함께 미리보기되며, 함께 배포되고, 기본적으로 내부 통신으로 연결됩니다.
컴퓨트, 데이터, 큐, 워크플로, 크론, 보안 네트워킹, 샌드박스 에이전트 환경 등 Vercel의 기본 제공 기능들과 결합하면, 별도의 플랫폼들을 조합하지 않고도 풀스택을 운영할 수 있습니다.
서비스 구성을 시작하려면 Vercel Services 문서와 라우팅 및 통신 가이드를 참고하세요. Vercel에서 백엔드를 처음 실행해 보신다면 설정 없는 백엔드 포스트부터 시작하시기 바랍니다.