피드로 돌아가기
Dev.toInfrastructure
원문 읽기
비용 0원으로 구현하는 SvelteKit Edge Full-stack 인프라
Deploying SvelteKit to Cloudflare Workers for Free
AI 요약
Context
전통적인 풀스택 앱 배포는 VPS 비용 지출이나 복잡한 컨테이너 오케스트레이션 설정이 필수적인 구조. Vercel이나 Netlify의 취미용 플랜은 서버리스 함수 실행 시간 및 빌드 시간 제한이라는 제약 존재.
Technical Solution
- V8 isolate 모델 기반의 Cloudflare Workers를 활용하여 Cold Start 지연 시간 단축 및 예측 가능한 비용 구조 설계
- @sveltejs/adapter-cloudflare 도입을 통해 Node.js 환경이 아닌 Edge Runtime에서도 SvelteKit 앱이 동작하도록 브릿지 구성
- wrangler.jsonc 설정을 통해 nodejs_compat 및 nodejs_als 플래그를 활성화하여 Node.js API 의존성 패키지 호환성 확보
- routes.exclude 설정을 통해 정적 자산 요청을 Worker 호출 없이 직접 서비스하여 불필요한 인보케이션 비용 절감
- SvelteKit 내장 $env 모듈과 platform 객체를 활용하여 Edge 환경에 최적화된 환경 변수 및 KV 스토리지 바인딩 접근 방식 적용
- GitHub Actions와 Wrangler CLI를 연동하여 빌드부터 배포까지 자동화하는 CI/CD 파이프라인 구축
Impact
- 일일 100,000건의 무료 요청 처리 가능
- 요청당 10ms의 CPU 시간 제공
- 1GB 용량의 KV 스토리지 무료 지원
Key Takeaway
단일 진입점(_worker.js) 중심의 Edge Runtime 설계는 인프라 복잡도를 최소화하면서도 전 세계 사용자에게 낮은 지연 시간을 제공하는 효율적인 아키텍처 전략.
실천 포인트
fs 등 Node.js 네이티브 API 의존 패키지 사용 시 런타임 오류 가능성이 높으므로 nodejs_compat 플래그 적용 및 런타임 API 문서 사전 검토 필요