stamatios
← Voltar ao feed
Cloudflare Durable Objects ganham destaque como primitivo ideal para agentes
Dev & Engenharia · Agentes

Cloudflare Durable Objects ganham destaque como primitivo ideal para agentes

resumo de ~3 min

O que são Durable Objects

Durable Objects (DOs) da Cloudflare combinam três conceitos: um isolate serverless V8 que sobe e desce sob demanda, uma instância SQLite pareada por objeto para armazenamento durável, e roteamento de requisições para um isolate específico por ID. Em vez de pensar em serviços que conversam com um banco, você modela o sistema como um conjunto de "objetos" orientados a eventos, cada um com seu próprio ID e estado.

Por que são ideais para agentes

Calvin French-Owen, que passou meses construindo quase exclusivamente com DOs, argumenta que eles são um primitivo quase perfeito para agentes por vários motivos:

  • Custo extremamente baixo: cobram apenas por storage quando pausados. Uma infra multi-agente de tamanho razoável custou ~US$ 10/mês, contra 10-50x mais na AWS.
  • Single-threaded: elimina preocupações com locks e concorrência - apenas uma invocação roda contra o storage por vez.
  • WebSockets nativos: ideal para fan-out de notificações e experiências em tempo real sem sistemas multi-tiered.
  • Bindings simples: conectar a outros DOs, serviços ou buckets R2 é direto via wrangler.jsonc, sem VPCs, Security Groups ou NAT.
  • Dev local eficiente: o wrangler funciona como ambiente local + toolkit, sem Docker ou Postgres. O drift entre local e produção é mínimo (SQLite nos dois).
  • Token-efficient para coding agents: implementações requerem poucas linhas de código, o que acelera agentes de codificação que exploram codebases.
  • Preview environments quase gratuitos: como DOs idle não custam nada, é viável deployar por branch no CI.

Limitações

  • Gates de concorrência: funções marcadas com readable/writable gates podem bloquear subscribers se um LLM for chamado antes de escrever no storage. O autor relata bloqueios de dezenas de segundos em código gerado por agentes.
  • Observabilidade limitada: menos controle e visibilidade comparado a AWS/GCP/Azure em casos de falhas de gateway ou deploy.
  • Suporte primário em TypeScript: Rust, Go e Python têm menos opções e exemplos.
  • APIs Node incompletas: HTTP/2 não é suportado (afeta gRPC, por exemplo), exigindo cuidado com dependências nativas.
  • Migrations complicadas: mudanças de schema exigem código de migração ao acordar o DO, e caminhos antigos nunca podem ser removidos sem acordar todos os DOs.
  • Sem BYO-Cloud: clientes que precisam de cloud própria não conseguem usar.

Alternativas emergentes

  • Restate: runtime de execução durável com "Virtual Objects" (single writer, storage acoplado), self-hostable, com bindings em Rust e Go.
  • Rivet (YC): infraestrutura de "actors" baseada em V8 isolates, espiritualmente similar à Cloudflare.
  • Vercel: Workflows, Sandboxes, AI Gateway, Connect e Functions compõem primitivos para agentes long-lived. O EVE é apresentado como a culminação dessas ferramentas.