Cloudflare Workers
개요
도시마다 똑같은 레시피를 쓰는 커피 체인점을 떠올려 보세요. 어디에 있든 가장 가까운 매장에서 주문을 받습니다. Cloudflare Workers도 같은 방식으로 동작합니다: 단일 리전이 아니라 Cloudflare의 글로벌 네트워크(300개가 넘는 도시)에서 JavaScript, TypeScript, WebAssembly를 실행할 수 있습니다. 각 요청은 V8 아이솔레이트(작게 분리된 미니 환경)라고 부르는 곳에서 실행됩니다. 이 환경은 1밀리초 한참 아래에서 기동되므로 사실상 콜드 스타트(첫 요청을 느리게 데우는 과정)가 없습니다. fetch 핸들러를 작성하고 명령 한 번으로 배포하면, 코드가 모든 사용자에게 가깝게 자동으로 실행됩니다.
강점
- 전체 컨테이너가 아닌 V8 아이솔레이트 덕분에 콜드 스타트가 거의 없음.
- 기본적으로 글로벌 — 코드가 모든 Cloudflare 위치에 한 번에 배포됨.
- 넉넉한 무료 등급. 유휴 시간이 아니라 요청 수와 CPU 시간으로 과금.
- D1( 데이터베이스), R2(파일 스토리지), KV(키-값 저장소, 라벨과 값을 짝지어 둔 거대한 사전 같은 것), Queues, Durable Objects, Workers AI에 대한 일급 바인딩(미리 준비된 연결 통로).
- 단일
wrangler(명령어를 입력해 쓰는 명령줄 도구)가 개발, 시크릿, 배포를 모두 처리.
트레이드오프
- 런타임이 Node.js가 아님 — 네이티브 또는 파일시스템 의존성이 있는 많은 npm 패키지가 작동하지 않음(다만 Node 호환성은 개선되는 중).
- 요청당 CPU 시간과 메모리에 상한이 있어 무거운 연산에는 부적합.
- 로컬 디스크나 장기 유지되는 프로세스 내 상태가 없음. 대신 바인딩을 사용해야 함.
- 분산 실행 때문에 여러 리전에 걸친 단계별 디버깅이 더 어려움.
언제 쓰면 좋은가
빠르고 전 세계에 분산된 (애플리케이션 프로그래밍 인터페이스 — 다른 소프트웨어가 여러분의 앱과 소통하려고 호출하는 엔드포인트들의 모음), 엣지 미들웨어, 인증 확인, 리다이렉트, 웹훅 핸들러, 또는 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 # 글로벌 네트워크로 배포