Cloudflare Pages
무엇인가
Cloudflare Pages는 웹사이트를 위한 호스팅 플랫폼이다 — 순수 정적 파일부터 풀스택 앱까지. 저장소(코드의 변경 이력이 보관되는 온라인 폴더)를 연결하면 Pages가 빌드 명령을 실행하고, 그 결과물을 Cloudflare의 CDN(콘텐츠 전송 네트워크 — 여러분의 파일 사본을 각 방문자 가까이에 보관하는 전 세계 서버 집합)에서 서빙한다. 동적 라우트와 (애플리케이션 프로그래밍 인터페이스 — 다른 소프트웨어가 여러분의 앱과 소통하려고 호출하는 엔드포인트들)는 Pages Functions로 실행되며, 이는 내부적으로 Workers이다. 그래서 하나의 프로젝트가 정적 사이트이자 백엔드일 수 있다.
강점
- Git 기반: 모든 푸시가 빌드·배포되며, 브랜치마다 프리뷰 이 생긴다.
- 정적 자산은 글로벌 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