왜 전환을 결심했나
9개 프로젝트를 Vercel + Supabase로 운영하다 보니 두 가지 문제가 생겼습니다.
1. 비용이 가파르게 증가
| 항목 | 월 비용 |
|---|---|
| Vercel Pro | $20 |
| Supabase Pro × 3 | $75 |
| 대역폭 초과 | $10~30 |
| 합계 | $105~125 |
특히 Vercel의 대역폭 초과 요금($0.15/GB)과 Supabase의 프로젝트당 $25 과금이 부담이 됐습니다.
2. 관리가 분산되어 피로감 증가
Vercel 대시보드, Supabase 대시보드, GitHub, 도메인 관리… 하나 고치려면 네 개의 탭을 오가야 했습니다. 환경변수 하나 바꾸는 것도 여러 곳을 동기화해야 하고, 에러 추적도 분산되어 있어 원인 파악이 오래 걸렸습니다.
Cloudflare를 선택한 이유
| 비교 항목 | Vercel + Supabase | Cloudflare |
|---|---|---|
| 기본 요금 | $95+/월 | $5/월 |
| 대역폭 | 초과 시 $0.15/GB | 무제한 무료 |
| 스토리지 Egress | 유료 | 무료 (R2) |
| 관리 포인트 | 4개 이상 | 1개 |
| Cold Start | ~30ms | ~2ms |
예상 연간 절감액: $1,000+ (약 130만원)
전환 작업 현황
진행률: 50%
✅ 완료
- Cloudflare 계정 및 도메인 설정
- R2 스토리지 구성
- 정적 사이트 Pages 이전
- D1 데이터베이스 스키마 설계
🔄 진행 중
- Workers API 재작성
- Auth 시스템 구현
- 데이터 마이그레이션
⏳ 남은 작업
- 트래픽 전환 및 테스트
현재 1~2일 진행했고, 1~2일 정도 더 걸릴 예정입니다. 테스트까지 포함하면 더 늘어날 수 있습니다.
다행히 Claude Code 이벤트 기간이라 사용량 걱정 없이 작업에 집중할 수 있어서 진행 속도가 빠른 편입니다.
전환하면서 겪은 어려움
기술적 차이점들:
- Next.js 제한 – ISR, Image Optimization 등 일부 기능 미지원
- Node.js → V8 –
fs,path등 일부 모듈 사용 불가 - PostgreSQL → SQLite – 쿼리 문법 재작성 필요
- Auth 직접 구현 – Supabase Auth 대체 로직 필요
생각보다 손이 많이 갑니다.
배운 것
“나중에 바꾸면 되지”는 비싼 말입니다.
처음 선택에 1시간 더 투자하면 나중에 수십 시간을 아낄 수 있습니다. 새 프로젝트를 시작한다면:
- 비용 시뮬레이션 – 트래픽 10배 증가 시 비용도 계산
- 벤더 락인 최소화 – 플랫폼 고유 기능 의존도 낮추기
- 단일 플랫폼 고려 – 관리 포인트가 늘수록 복잡성은 기하급수 증가
지금 새로 시작하는 프로젝트는 처음부터 Cloudflare 스택으로 구성하고 있습니다.
정리
| 상황 | 추천 |
|---|---|
| 빠른 MVP, Next.js 풀기능 필요 | Vercel + Supabase |
| 비용 최적화, 다수 프로젝트 운영 | Cloudflare |
| 점진적 전환 원할 때 | 프론트만 CF Pages, 백엔드는 유지 |
전환 완료 후 기술적인 세부 내용도 별도 포스트로 정리할 예정입니다.
비슷한 고민 중이시라면, 처음 선택에 시간을 투자하세요. 🙏
댓글 남기기