IA & InovaçãoNews
Tendência

Criador do Node.js lança celld para levar modelo dos Durable Objects além da Cloudflare

Projeto open source de Ryan Dahl permite executar aplicações compatíveis com Workers e Durable Objects em infraestrutura própria, apostando em portabilidade e redução de custos.

Desenvolvedores interessados no modelo de aplicações distribuídas e com estado dos Durable Objects ganharam uma alternativa para executá-lo fora da infraestrutura da Cloudflare. Ryan Dahl, criador do Node.js e do Deno, apresentou o celld, projeto open source desenvolvido para oferecer uma implementação distribuída e autogerenciada compatível com APIs de Cloudflare Workers e Durable Objects.

A iniciativa tenta resolver uma questão recorrente no desenvolvimento em nuvem: como aproveitar uma abstração considerada eficiente para aplicações stateful sem ficar necessariamente vinculado à infraestrutura de um único provedor.

Com o celld, aplicações podem ser executadas em servidores administrados pelo próprio usuário, enquanto armazenamento compatível com S3 participa da arquitetura distribuída. O projeto utiliza ainda SQLite para armazenamento individual dos objetos e tecnologias como V8 e Rust em sua implementação.

A proposta pode interessar especialmente a aplicações colaborativas, jogos multiplayer, serviços em tempo real e agentes de inteligência artificial, cenários nos quais manter estado próximo da execução é importante.

O que são os Durable Objects?

Para entender a importância do celld é necessário compreender primeiro o problema que os Durable Objects tentam resolver.

Em arquiteturas serverless tradicionais, aplicações são frequentemente projetadas em torno de funções independentes e sem estado persistente local. Dados precisam ser mantidos em bancos, caches ou outros serviços externos.

Os Durable Objects adotam uma abordagem diferente.

Na arquitetura da Cloudflare, cada Durable Object representa uma instância globalmente única que combina capacidade computacional com armazenamento persistente. A execução ocorre de maneira single-threaded, simplificando determinados problemas relacionados à concorrência de dados.

A arquitetura também mantém armazenamento e computação próximos um do outro.

Esse modelo é particularmente útil quando diferentes usuários precisam compartilhar ou modificar um mesmo estado em tempo real.

Uma sala de chat, por exemplo, pode ser representada por um objeto. O mesmo vale para uma partida multiplayer, documento colaborativo ou sessão persistente de um agente de IA.

Em vez de diferentes componentes disputarem acesso a um banco de dados compartilhado, as operações relacionadas àquele objeto são coordenadas dentro da mesma unidade lógica.

celld leva essa arquitetura para infraestrutura própria

O principal diferencial do celld é tentar transportar esse conceito para fora da infraestrutura gerenciada pela Cloudflare.

Segundo a documentação e informações divulgadas sobre o projeto, cada unidade — chamada de cell — possui seu próprio ambiente de execução V8 e um banco SQLite dedicado.

Uma cell pode representar entidades como usuários, documentos, salas, partidas ou agentes de inteligência artificial.

Em determinado momento, apenas um nó do cluster possui a responsabilidade de executar aquela cell.

Isso simplifica um dos problemas mais difíceis dos sistemas distribuídos: garantir que diferentes servidores não estejam simultaneamente modificando o mesmo estado de maneira inconsistente.

Quando necessário, a responsabilidade pela cell pode ser transferida entre os nós da infraestrutura.

S3 tem papel importante na arquitetura

Outro componente relevante é o uso de armazenamento de objetos compatível com Amazon S3.

Em vez de depender de um serviço proprietário específico para coordenar o estado distribuído, o celld utiliza esse tipo de armazenamento como parte da arquitetura.

Isso significa que o sistema pode trabalhar com serviços compatíveis com a API S3 oferecidos por diferentes provedores.

O objetivo é permitir que desenvolvedores escolham onde executar sua infraestrutura e onde armazenar os dados.

Essa flexibilidade está diretamente relacionada à principal proposta do projeto: reduzir o vendor lock-in, situação na qual migrar uma aplicação para outro fornecedor se torna tecnicamente complexo ou financeiramente caro.

Cloudflare já possui componentes open source

É importante destacar que a Cloudflare já disponibiliza como código aberto o workerd, runtime utilizado pela plataforma Workers.

Com ele, desenvolvedores conseguem executar localmente aplicações criadas para Workers e experimentar alguns recursos associados aos Durable Objects.

Existe, entretanto, uma diferença importante.

O workerd não fornece sozinho toda a camada necessária para distribuir Durable Objects entre uma frota de servidores e determinar qual máquina deve assumir determinado objeto.

É justamente nesse espaço que o celld tenta atuar.

O projeto implementa mecanismos para distribuir essas unidades entre diferentes nós, aproximando a experiência de uma infraestrutura realmente distribuída.

Arquitetura aposta em V8, SQLite e Rust

O celld reúne tecnologias bastante conhecidas no ecossistema de desenvolvimento moderno.

O código JavaScript é executado utilizando o V8, motor também utilizado pelo Chrome e que está diretamente ligado à própria história do Node.js.

Cada cell recebe seu próprio banco de dados SQLite.

Já partes importantes da infraestrutura são escritas em Rust, utilizando o runtime assíncrono Tokio.

O projeto também aceita JavaScript e TypeScript e, segundo seus responsáveis, a arquitetura pode permitir execução de outras linguagens por meio de WebAssembly.

O resultado é uma tentativa de criar uma plataforma relativamente portátil para workloads distribuídos e stateful.

Aplicações de IA podem ser um dos principais casos de uso

Embora Durable Objects tenham aplicações em diferentes segmentos, o crescimento dos agentes de inteligência artificial torna esse tipo de arquitetura particularmente interessante.

Agentes frequentemente precisam manter contexto e estado ao longo do tempo.

Um agente pode precisar armazenar histórico, acompanhar tarefas, controlar sessões ou coordenar diferentes ações realizadas para um usuário.

Uma arquitetura baseada em objetos persistentes permite associar cada agente a uma unidade isolada contendo processamento e armazenamento próprios.

Em vez de construir diversas camadas externas para controlar sessões e sincronização, parte dessa complexidade pode ser encapsulada dentro do próprio objeto.

A Cloudflare também vem explorando Durable Objects em sua infraestrutura destinada à construção de agentes de IA.

O surgimento de uma implementação aberta desse modelo pode permitir que desenvolvedores experimentem arquiteturas semelhantes em servidores próprios ou em diferentes provedores de nuvem.

Ryan Dahl também promete custos menores

Outro argumento apresentado pelos responsáveis pelo celld é financeiro.

Dahl afirma que a implementação pode ser significativamente mais barata em determinadas cargas de trabalho.

Em uma comparação divulgada durante o lançamento, ele estimou que 100 cells residentes poderiam custar aproximadamente US$ 49 mensais utilizando um servidor de 8 GB e armazenamento compatível com S3 da DigitalOcean.

Na comparação apresentada por Dahl, uma configuração equivalente utilizando Durable Objects chegaria a aproximadamente US$ 415 por mês.

Mas essa comparação precisa ser observada com cautela.

A Cloudflare contestou os números. Em declaração ao The Register, a empresa explicou que o valor de US$ 415 pressupõe que todos os objetos permaneçam continuamente ativos.

Segundo a Cloudflare, se esses objetos puderem entrar em estado de inatividade, o custo poderia ficar em aproximadamente US$ 20,65.

Portanto, não é possível afirmar genericamente que o celld será mais barato em todos os cenários.

O custo dependerá do comportamento da aplicação, tempo de execução, quantidade de objetos ativos, armazenamento, tráfego e infraestrutura utilizada.

Self-hosting também transfere responsabilidades

Executar uma tecnologia em infraestrutura própria oferece maior controle, mas também transfere responsabilidades para quem administra o ambiente.

Em uma plataforma totalmente gerenciada, tarefas relacionadas à infraestrutura distribuída ficam sob responsabilidade do provedor.

Ao adotar uma alternativa self-hosted, equipes precisam considerar disponibilidade, observabilidade, atualizações, segurança, backups, recuperação de falhas e capacidade operacional.

Isso significa que comparar apenas o preço da infraestrutura pode não revelar o custo total da operação.

Para equipes menores, pagar mais por uma solução gerenciada pode compensar pela redução da complexidade operacional.

Já organizações com infraestrutura própria ou requisitos específicos de soberania de dados podem encontrar vantagens maiores em uma alternativa aberta.

Projeto ainda está em estágio inicial

Outro ponto importante é a maturidade.

A versão v0.1.0 do celld foi publicada em 5 de agosto de 2026, indicando que a tecnologia ainda está em uma fase bastante inicial de desenvolvimento.

O projeto foi disponibilizado sob a licença Apache 2.0, permitindo uso, modificação e distribuição dentro das condições da licença.

O código utiliza principalmente Rust e JavaScript.

Como ocorre com qualquer infraestrutura nova, especialmente aquela destinada a aplicações distribuídas, adoção em ambientes críticos exige avaliação cuidadosa de estabilidade, segurança e comportamento em situações de falha.

O próprio lançamento deve ser entendido mais como o surgimento de uma alternativa tecnológica promissora do que como um substituto maduro e imediato para a infraestrutura da Cloudflare.

Uma discussão maior sobre dependência da nuvem

O celld também faz parte de uma discussão mais ampla no mercado de cloud computing.

Nos últimos anos, desenvolvedores passaram a utilizar abstrações cada vez mais sofisticadas oferecidas diretamente pelos provedores.

Essas tecnologias aceleram o desenvolvimento, mas podem aumentar a dependência de arquiteturas específicas.

Migrar de uma máquina virtual entre provedores costuma ser relativamente simples.

Migrar uma aplicação construída profundamente sobre serviços proprietários de bancos serverless, filas, funções, edge computing e armazenamento distribuído pode ser muito mais difícil.

O celld propõe separar uma dessas abstrações — o modelo representado pelos Durable Objects — do provedor que originalmente popularizou a tecnologia.

A própria equipe descreve o projeto não como uma crítica ao conceito criado pela Cloudflare, mas como reconhecimento de sua qualidade: a ideia é que uma abstração considerada tão útil possa ser executada em diferentes infraestruturas.

Open source pode ampliar experimentação

Ainda é cedo para determinar qual será a adoção do celld.

Mas disponibilizar uma implementação distribuída sob licença aberta permite que desenvolvedores estudem, modifiquem e experimentem o modelo em ambientes diferentes.

Isso pode gerar novas ferramentas, provedores compatíveis e abordagens arquitetônicas inspiradas nos Durable Objects.

Para o mercado de desenvolvimento, talvez essa seja a contribuição mais interessante do projeto.

O celld não precisa substituir a Cloudflare para ter impacto.

Se conseguir transformar o conceito de objetos stateful distribuídos em uma abstração mais independente de fornecedor, poderá ajudar a consolidar esse modelo como uma arquitetura utilizada além dos limites de uma única plataforma de nuvem.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo