Vercel, Railway, Fly.io
배포 플랫폼 고르는 거 은근 스트레스다.
블로그 글 읽으면 다들 다른 거 추천한다. "Vercel 최고" "Railway가 낫다" "Fly.io 써야 한다" "그냥 AWS 쓰면 되지".
셋 다 써봤다. 각각 언제 쓰면 좋은지 정리해둔다.
Vercel #
Next.js 쓰면 여기. 선택의 여지가 없다.
Vercel이 Next.js 만든 회사다. 당연히 최적화가 제일 잘 돼 있다. GitHub 연결하면 설정할 것도 없다. git push 하면 알아서 빌드하고 배포한다.
# 이게 전부다
git push origin main
# 1분 뒤에 배포 완료
무료 범위가 넓다. 월 100GB 대역폭, 서버리스 함수 호출 100만 회. 사이드 프로젝트 수준에서는 평생 무료다. 나는 두 개 프로젝트 돌리는데 아직 돈 낸 적 없다.
프리뷰 배포가 진짜 좋다. PR 올리면 자동으로 프리뷰 URL 만들어준다. my-app-pr-123.vercel.app 이런 식으로. 테스트하기 편하고, 다른 사람한테 보여주기도 좋다.
단점도 있다.
서버리스 제한: 함수 실행 10초 넘으면 타임아웃. 오래 걸리는 작업은 못 한다. 이미지 처리나 AI API 호출 같은 거 하다 보면 걸린다.
한국 리전 없음: 엣지는 서울 있는데, 서버리스 함수는 미국에서 돈다. 한국 유저 대상이면 레이턴시 200ms 정도 더 걸린다. 체감상 좀 느리다.
요금 예측 어려움: 트래픽 터지면 요금도 터진다. 무료 범위 넘어가면 갑자기 청구서 와서 놀랄 수 있다. Spending limit 설정해두는 게 좋다.
점수: 프론트엔드 배포하기엔 최고. Next.js면 무조건 여기.
Railway #
백엔드 필요하면 여기.
Vercel은 서버리스라서 상시 돌아가는 서버가 필요하면 못 쓴다. WebSocket이나 크론잡 같은 거. Railway는 컨테이너 기반이라 이런 것도 가능.
월 5달러 크레딧 준다. 사이드 프로젝트 수준에서는 그 안에서 해결된다. 내 경우 월 2-3달러 정도 쓰니까 크레딧으로 충분.
# Railway CLI로 배포
railway login
railway init
railway up
DB 붙이기가 쉽다. PostgreSQL, MySQL, Redis 원클릭으로 추가된다. 환경변수도 자동으로 연결해준다.
장점:
- 배포 간단 (GitHub 연결하면 끝)
- DB 쉽게 붙음
- 월 5달러 크레딧
- 슬립 모드로 안 쓸 때 비용 절약
단점:
- 아시아 리전 없음. 가장 가까운 게 싱가포르인데 그마저도 느림. 한국에서 ping 200ms 정도.
- 무료 티어에서 500시간/월 제한. 한 개 서비스 24시간 돌리면 720시간 필요한데 안 됨. 유료 플랜 가야 함.
- 슬립 모드 들어가면 첫 요청 느림 (콜드 스타트).
점수: 간단한 백엔드용으로 좋음. 한국 타겟이면 레이턴시 감수해야 함.
Fly.io #
서울 근처 리전 있다. 도쿄. 정확히는 nrt (나리타).
한국 유저 대상이면 가장 빠르다. ping 30-50ms. Vercel이나 Railway랑 비교하면 체감 차이 난다.
Docker 기반이라 뭐든 돌릴 수 있다. Node, Python, Go, Rust 뭐든.
# Fly.io 배포
fly launch # Dockerfile 자동 생성
fly deploy # 배포
# 도쿄 리전 지정
fly regions set nrt
장점:
- 아시아 리전 (도쿄, 싱가포르, 홍콩)
- 레이턴시 빠름
- 글로벌 분산 배포 가능
- Anycast IP로 가까운 리전 자동 연결
단점:
- 설정이 좀 복잡하다. Dockerfile 작성해야 하고, fly.toml 설정 만져야 함. Railway보다 진입장벽 높음.
- 무료 티어 제한적. 공유 CPU 2개, 256MB RAM. 트래픽 많으면 금방 넘음.
- 문서가 좀 부실. 에러 나면 GitHub Issues 뒤져야 함.
점수: 한국 유저 대상이면 고려할 만함. Docker 알아야 편함.
내 선택 기준 #
복잡하게 생각 안 한다.
프론트엔드 (Next.js) → Vercel
백엔드 필요 + 글로벌 → Railway
백엔드 필요 + 한국 타겟 → Fly.io
요즘은 이렇게 조합해서 쓴다:
- 프론트엔드: Vercel
- 백엔드 API: Railway
- DB: Supabase (무료)
- 파일 저장: Cloudflare R2 (무료)
전부 무료 티어 조합이면 월 0원에 서비스 돌릴 수 있다.
각 서비스 비용 정리 #
Vercel
- 무료: 100GB 대역폭, 100만 함수 호출
- Pro: 월 $20 (팀용)
Railway
- 무료: 월 $5 크레딧, 500시간
- Hobby: 월 $5 (크레딧 쓰면 0원)
- 사용량 기반 요금
Fly.io
- 무료: 공유 CPU 2개, 3GB 볼륨
- 사용량 기반 요금
- 월 $2-5 정도면 소규모 앱 가능
마이그레이션 팁 #
플랫폼 옮기는 건 생각보다 어렵지 않다.
- 환경변수 정리해둔다. 하드코딩 없애고 .env로 빼둔다.
- Docker 지원하면 어디서든 돌릴 수 있다. Dockerfile 만들어두면 이식성 좋다.
- DB URL만 바꾸면 DB는 어디 있어도 된다.
나는 AWS에서 Vercel+Railway로 옮길 때 주말 하루 걸렸다. 처음 하면 좀 더 걸릴 수 있는데, 두 번째부터는 금방이다.
어디 쓰든 크게 상관없다. 사이드 프로젝트 수준에서는 다 비슷하다. 일단 아무 데나 올려보고, 문제 생기면 그때 옮기면 된다.
- Previous: 광고비 0원, 유저 1000명, 3개월
- Next: 구독으로 받을까 한 번에 받을까