토이프로젝트 배포, Vercel·Railway·VPS 중 무엇을 고를까
배포·운영

토이프로젝트 배포, Vercel·Railway·VPS 중 무엇을 고를까

정적 프런트부터 이미지 변환과 상시 서버까지, 실행 방식·영속 저장·운영 책임으로 토이프로젝트 배포 선택지를 가른다

2026-09-01논의 1회 정리

토이프로젝트를 만들고 나면 코드보다 먼저 막히는 곳이 배포다. AWS는 기능이 많지만 작은 서비스에선 설정과 비용 구조가 더 무겁게 느껴진다. Vercel, Railway, Hostinger VPS, OCI, Lambda, 집의 서브컴 가운데 무엇을 골라야 덜 후회할까.

트래픽보다 실행 방식과 저장 위치를 먼저 구분한다

방문자가 적다는 사실만으로 호스팅을 고를 수는 없다. 정적 페이지인지, 요청이 없어도 돌아갈 worker가 있는지, 변환한 이미지를 서버 디스크에 남겨야 하는지가 더 중요하다. 같은 월 5달러 안팎이어도 PaaS와 VPS가 맡아주는 범위가 다르다. 정적 파일과 짧은 API는 요청 때만 계산하는 플랫폼과 잘 맞는다. 반대로 큐 소비자, WebSocket, 긴 변환 작업은 상시 프로세스가 편하다. 업로드 파일은 다시 배포해도 남아야 하므로 임시 파일시스템과 영속 저장소를 구분해야 한다.

Vercel은 프런트엔드 배포를 가장 짧게 만든다

Vercel에선 GitHub·GitLab·Bitbucket 저장소를 가져오고 프레임워크 프리셋과 환경변수를 지정한 뒤 Deploy를 누르면 된다. 브랜치 push마다 Preview URL이 생기고 production branch 변경은 운영 배포로 이어진다. Next.js나 정적 사이트를 빠르게 공개하고 검토할 때 강점이 선명하다.

공식 문서상 Hobby는 월 0달러지만 개인의 비상업 프로젝트용이다. 2026년 1월 갱신된 안내는 월 4 CPU-hours, 360 GB-hours 메모리, Function 100만 회를 포함한다고 설명한다. 한도를 넘으면 돈을 더 내고 계속 쓰는 방식이 아니라 기능이 멈출 수 있다.

서버 디스크처럼 쓰면 문제가 생긴다. Vercel Function은 파일시스템이 읽기 전용이고 `/tmp` 500MB만 임시로 쓸 수 있다. Fluid Compute를 쓰는 새 프로젝트의 Function은 최대 300초지만 결과 파일은 Vercel Blob이나 외부 object storage로 보내야 한다. 써본 사람들 사이에서도 랜딩 페이지는 매우 편하지만 이미지 처리와 백엔드가 커지면 저장소를 분리한다는 반응이 많았다.

Railway는 상시 서버와 Git 배포 사이를 잇는다

Railway는 저장소를 연결하면 Railpack이 실행 환경을 만들고 새 커밋을 자동 배포한다. 저장소에 `Dockerfile`이 있으면 그 정의를 사용한다. Express, FastAPI, Django처럼 포트를 여는 서버와 백그라운드 worker를 한 프로젝트에서 운영하기 쉽다.

Hobby의 5달러는 비용 상한이 아니다. Railway 가격 문서는 월 5달러가 첫 5달러 사용량을 포함한 최소액이며 8달러를 쓰면 총 8달러를 낸다고 명시한다.

CPU, RAM, egress, Volume이 종량으로 더해지므로 hard limit을 직접 걸어야 예상 밖 지출을 차단할 수 있다.

영속 파일이 필요하면 서비스에 Volume을 붙이고 경로를 정한다. 앱이 `./data`에 쓴다면 `/app/data`로 마운트하는 식이다. Hobby 기본 한도는 5GB이며 백업도 지원하지만 Volume을 붙인 서비스는 복제 확장이 제한되고 재배포 때 짧은 중단이 생길 수 있다. 가벼운 서버를 먼저 올리고 일주일간 Usage를 본 뒤 월 추정치를 잡으라는 Railway의 권고가 실용적이다.

이미지 변환은 호스팅보다 저장 흐름이 선택을 가른다

업로드 한 건을 받아 썸네일을 만들고 끝나는 작업이라면 Vercel Function이나 AWS Lambda가 가능하다. 입력은 object storage에 두고 함수가 임시 공간에서 변환한 뒤 결과를 다시 저장하는 순서다. Lambda는 월 100만 요청과 40만 GB-seconds의 무료 구간을 제공하며 `/tmp`를 512MB에서 10GB까지 설정할 수 있지만 한 번의 실행은 최대 15분이다.

변환 큐를 계속 소비하거나 결과를 같은 디스크에 쌓는다면 Railway Volume이나 VPS가 단순하다. Railway에서는 웹 서비스와 worker를 나누고 둘이 object storage를 공유하는 구성이 확장에 유리하다.

파일 수가 늘어날 가능성이 있으면 단일 Volume보다 bucket을 택해야 복제와 이전이 쉬워진다.

완전 무료를 목표로 Render를 고르는 선택도 있다. 다만 공식 문서는 무료 웹 서비스가 15분 유휴 뒤 잠들고 로컬 파일은 재시작과 재배포 때 사라진다고 밝힌다. 무료 Postgres도 30일 뒤 만료되므로 장기 보관이 필요한 앱에는 별도 설계가 필요하다.

VPS와 서브컴은 싼 서버가 아니라 운영권을 산다

Hostinger의 미국 페이지는 KVM 1을 1 vCPU, RAM 4GB, NVMe 50GB로 표시한다. 할인가는 월 6.49달러지만 2년 갱신가는 11.99달러이며 선불 약정과 지역에 따라 달라진다. 같은 가격대에서 사양이 좋다는 의견은 이해되지만 Hostinger도 VPS를 self-managed로 규정한다.

배포는 Docker 템플릿을 고르고 `docker-compose.yml`에 앱, 포트, 환경변수, volume, 재시작 정책을 적는 방식이 현실적이다. Git pull과 `docker compose up -d`로 갱신하고 OS 패치·SSL·방화벽·모니터링·복구는 직접 맡는다. 작은 팀에는 월 요금보다 이 관리 시간이 더 비쌀 수 있다.

OCI Always Free는 home region에서 block volume 200GB와 object storage 20GB를 제공해 학습용 VM으로 매력적이다. 다만 무료 인스턴스 용량 부족, 유휴 자원 회수, Arm 호환성까지 감수해야 한다. 집의 서브컴도 큰 디스크와 장기 작업에는 좋지만 전원, 회선, 백업, 외부 노출을 모두 책임져야 한다.

선택은 "가장 싼 곳"이 아니라 "어떤 운영을 내가 맡을 것인가"에서 갈린다. 프런트 배포는 Vercel, 상시 백엔드는 Railway, 이벤트 변환은 Lambda, 로컬 디스크와 서버 통제가 핵심이면 VPS나 서브컴이 답에 가까워진다. 토이프로젝트가 제품으로 자랄 때 가장 먼저 드러나는 비용은 CPU가 아니라 처음부터 섞어 둔 실행과 저장 구조다.

토이프로젝트 배포VercelRailwayVPSAWS LambdaOCI

참고 링크

자주 묻는 질문

Q

토이프로젝트 백엔드는 Railway와 Vercel 중 어디가 나은가?

상시 실행 서버나 worker, 영속 Volume이 필요하면 Railway가 더 직접적이다. 정적 프런트와 짧은 Function 중심이며 비상업 개인 프로젝트라면 Vercel Hobby가 간단하다.

Q

Railway Hobby는 월 5달러로 비용이 제한되는가?

아니다. 월 5달러는 첫 5달러 사용량을 포함한 최소액이다. 초과 사용량은 청구되므로 별도의 hard limit과 사용량 확인이 필요하다.

Q

이미지 변환 결과를 서버 로컬 디스크에 저장해도 되는가?

Vercel Function과 Lambda의 로컬 공간은 임시이므로 영속 저장소로 쓰면 안 된다. 결과는 object storage에 두거나 Railway Volume, VPS 디스크처럼 영속 경로를 사용해야 한다.

같은 주제 더 보기