Cloudflare Workers
개요
Cloudflare Workers를 사용하면 단일 리전이 아니라 Cloudflare의 글로벌 네트워크(300개가 넘는 도시)에서 JavaScript, TypeScript, WebAssembly를 실행할 수 있습니다. 각 요청은 1밀리초 한참 아래에서 기동되는 경량 V8 아이솔레이트에서 실행되므로 사실상 콜드 스타트가 없습니다. fetch 핸들러를 작성하고 명령 한 번으로 배포하면, 코드가 모든 사용자에게 가깝게 자동으로 실행됩니다.
강점
- 전체 컨테이너가 아닌 V8 아이솔레이트 덕분에 콜드 스타트가 거의 없음.
- 기본적으로 글로벌 — 코드가 모든 Cloudflare 위치에 한 번에 배포됨.
- 넉넉한 무료 등급. 유휴 시간이 아니라 요청 수와 CPU 시간으로 과금.
- D1, R2, KV, Queues, Durable Objects, Workers AI에 대한 일급 바인딩.
- 단일
wranglerCLI가 개발, 시크릿, 배포를 모두 처리.
트레이드오프
- 런타임이 Node.js가 아님 — 네이티브 또는 파일시스템 의존성이 있는 많은 npm 패키지가 작동하지 않음(다만 Node 호환성은 개선되는 중).
- 요청당 CPU 시간과 메모리에 상한이 있어 무거운 연산에는 부적합.
- 로컬 디스크나 장기 유지되는 프로세스 내 상태가 없음. 대신 바인딩을 사용해야 함.
- 분산 실행 때문에 여러 리전에 걸친 단계별 디버깅이 더 어려움.
언제 쓰면 좋은가
빠르고 전 세계에 분산된 API, 엣지 미들웨어, 인증 확인, 리다이렉트, 웹훅 핸들러, 또는 Cloudflare의 스토리지와 AI 바인딩에 기반한 풀스택 백엔드가 필요할 때 Workers를 선택하세요.
바이브 코딩 적합성
Workers는 AI 주도 코딩에 가장 친화적인 배포 대상 중 하나입니다. 프로젝트가 설정 파일 하나에 핸들러 하나로 구성되며, 에이전트가 스캐폴딩부터 서비스 바인딩, 배포까지 엔드투엔드로 해낼 수 있습니다. (Node가 아니라) Workers를 대상으로 한다는 것을 에이전트에게 미리 알려주어, 런타임 제한을 존중하고 가령 fs 대신 바인딩을 사용하도록 하세요. 아래 예시는 Worker를 KV 네임스페이스에 연결합니다.
# wrangler.toml
name = "my-worker"
main = "src/index.ts"
compatibility_date = "2026-06-01"
[[kv_namespaces]]
binding = "CACHE"
id = "your-kv-namespace-id"
npx wrangler dev # 로컬 엣지 런타임
npx wrangler deploy # 글로벌 네트워크로 배포