Cloudflare Pages
무엇인가
Cloudflare Pages는 웹사이트를 위한 호스팅 플랫폼이다 — 순수 정적 파일부터 풀스택 앱까지. Git 저장소를 연결하면 Pages가 빌드 명령을 실행하고, 그 결과물을 Cloudflare의 CDN에서 서빙한다. 동적 라우트와 API는 Pages Functions로 실행되며, 이는 내부적으로 Workers이므로 하나의 프로젝트가 정적 사이트이자 백엔드일 수 있다.
강점
- Git 기반: 모든 푸시가 빌드·배포되며, 브랜치마다 프리뷰 URL이 생긴다.
- 정적 자산은 글로벌 CDN에서 빠르고 무료로 서빙된다.
- Pages Functions는 Workers와 동일한 바인딩(D1, R2, KV)으로 서버 측 로직을 더한다.
- 넉넉한 무료 티어와 무제한 대역폭.
- 롤백은 클릭 한 번 — 모든 배포가 보존된다.
트레이드오프
- 빌드 환경에 시간 및 리소스 한도가 있어 매우 큰 빌드는 느릴 수 있다.
- Functions는 Workers 런타임을 물려받으므로 동일한 비(非)Node 제약이 적용된다.
- 순수하게 동적이고 항상 켜져 있는 백엔드에는 일반 Workers가 더 깔끔할 수 있다.
- 덜 흔한 프레임워크의 빌드 설정은 때때로 수동 튜닝이 필요하다.
언제 쓰나
마케팅 사이트, 문서, 블로그, SPA, 그리고 풀스택 프레임워크(Next.js, Astro, SvelteKit)에 Pages를 써라. Git 기반 배포, 무료 정적 호스팅, 그리고 선택적 서버 함수를 한곳에서 원할 때 적합하다.
바이브 코딩 적합성
Pages는 전체 배포가 "저장소를 연결하고 푸시한다"이기에 바이브 코딩에 잘 맞는다. 에이전트가 빌드 명령, 출력 디렉터리, 환경 변수를 설정한 다음 Wrangler로 배포하거나 Git 빌드를 트리거할 수 있다. 팁: 사용하는 프레임워크와 Functions가 필요한지를 에이전트에게 알려, 올바른 어댑터와 출력 디렉터리를 고르게 하라. 미리 빌드된 디렉터리를 직접 배포할 수도 있다.
# wrangler.toml — Pages project config
name = "my-site"
pages_build_output_dir = "dist"
[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "your-d1-id"
# Deploy a prebuilt output directory
npx wrangler pages deploy dist --project-name my-site