~/VibeHandbook
$39

Cloudflare

developers.cloudflare.com

Cloudflare Containers

무엇인가

Cloudflare Containers를 사용하면 완전한 Linux 컨테이너 이미지를 Workers와 나란히 Cloudflare 네트워크 안에서 바로 실행할 수 있다. Worker가 스스로 할 수 없는 것 — 더 무거운 런타임, 특정 바이너리, Workers 샌드박스에 맞지 않는 언어나 라이브러리 — 이 필요할 때, 사용자 가까이에서 띄워지는 컨테이너에 그 작업을 넘길 수 있다. 컨테이너는 당신이 정의하고, 인스턴스가 언제 시작·정지·확장될지는 Worker가 제어한다.

강점

  • 실제 컨테이너 이미지를 실행하므로 Workers 샌드박스에서 동작하지 않는 도구와 런타임을 쓸 수 있다.
  • Cloudflare의 글로벌 네트워크에서 Workers 옆에 자리하므로 둘 사이의 왕복이 짧다.
  • Worker가 컨테이너를 오케스트레이션하므로 이미 갖고 있는 라우팅·인증·엣지 로직을 유지한다.
  • 배치 작업, 미디어 처리, 헤드리스 브라우저, 기존 Docker 기반 코드 이식에 잘 맞는다.
  • 수요에 따라 확장되고 다시 줄어드므로 유휴 서버에 하루 종일 비용을 내지 않는다.

트레이드오프

  • 일반 Worker보다 무겁고 시작이 느리다 — 콜드 스타트가 실재하므로 모든 요청에 쓸 것은 아니다.
  • 움직이는 부품이 더 많다: 이제 스크립트만이 아니라 이미지, 그 빌드, 그리고 생애주기까지 관리한다.
  • 같은 단순 작업이라면 순수 Worker보다 비용이 더 든다. 정말로 컨테이너가 필요할 때만 손을 뻗어라.
  • 여전히 Workers보다 새로워서 툴링과 한도가 계속 진화할 것으로 예상하라.

언제 쓰나

작업이 진정으로 완전한 OS나 엣지가 제공할 수 없는 런타임을 필요로 할 때 — 기존 CLI 도구 실행, Workers가 지원하지 않는 언어, 또는 연산이 무거운 단계 — 그러면서도 엣지 네이티브한 정문은 Worker에 유지하고 싶을 때 컨테이너를 써라.

바이브 코딩 적합성

이는 AI 도움을 받기에 깔끔한 대상이다. 형태가 익숙하기 때문이다: Dockerfile 하나에 그것을 띄우는 작은 Worker. 에이전트에게 Cloudflare Containers를 쓰고 있다고 알려, 일반적인 클라우드 VM을 가정하는 대신 Worker-컨테이너 바인딩을 올바르게 연결하도록 하라.

// wrangler.jsonc — bind a container to a Worker
{
  "name": "my-app",
  "main": "src/index.ts",
  "containers": [
    { "class_name": "MyContainer", "image": "./Dockerfile" }
  ]
}