~/VibeHandbook
PDF grátis

Cloudflare

developers.cloudflare.com

Cloudflare Containers

O que é

Pense em um contêiner de navio: seu aplicativo inteiro e tudo o que ele precisa são embalados em uma caixa lacrada que roda do mesmo jeito em qualquer lugar. O Cloudflare Containers permite rodar um contêiner Linux completo — essa caixa lacrada — direto dentro da rede da Cloudflare, ao lado dos seus Workers. Quando um Worker precisa de algo que não consegue fazer sozinho — um runtime (ambiente de execução) mais pesado, um arquivo de programa específico, uma linguagem ou biblioteca que não cabe no sandbox (ambiente isolado) dos Workers — ele pode repassar o trabalho para um contêiner que inicia perto dos seus usuários. Você define o contêiner, e um Worker controla quando as cópias iniciam, param e escalam.

Pontos fortes

  • Roda imagens de contêiner reais, então você pode usar ferramentas e runtimes que não funcionam no sandbox dos Workers.
  • Fica ao lado dos Workers na rede global da Cloudflare, então o salto entre os dois é curto.
  • Um Worker orquestra os contêineres, então você mantém o roteamento, a autenticação e a lógica de borda que já tem.
  • Boa opção para jobs em lote, processamento de mídia, navegadores headless (sem interface gráfica) e portabilidade de código existente baseado em Docker.
  • Escala sob demanda e reduz de volta, então você não paga por servidores ociosos o tempo todo.

Contrapartidas

  • Mais pesado e mais lento para iniciar do que um Worker comum — cold starts (o atraso de aquecimento quando uma requisição chega e nada ainda está rodando) são reais, então não é para toda requisição.
  • Mais peças móveis: agora você gerencia uma imagem, sua build (processo de compilação) e seu ciclo de vida, não só um script.
  • Custa mais do que um Worker puro para a mesma tarefa simples; recorra a ele só quando realmente precisar de um contêiner.
  • Ainda mais novo do que os Workers, então espere que as ferramentas e limites continuem evoluindo.

Quando usar

Use um contêiner quando um job realmente precisa de um SO (sistema operacional) completo ou de um runtime que a borda () não consegue oferecer — rodar uma ferramenta de linha de comando () existente (um programa que você controla digitando comandos), uma linguagem que os Workers não suportam, ou uma etapa pesada em computação — mantendo sua porta de entrada nativa de borda em um Worker.

Encaixe com vibe coding

Este é um alvo limpo para ajuda de IA porque o formato é familiar: um Dockerfile (a receita que constrói o contêiner) mais um pequeno Worker que o inicia. Diga ao agente que você está no Cloudflare Containers para que ele monte a ligação (binding) entre Worker e contêiner corretamente, em vez de presumir uma (virtual machine — um computador alugado na nuvem) de nuvem genérica.

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