Infraestrutura · Functions
Suba uma função, ganhe uma URL. Sem servidor, sem build.
Você escreve um módulo com default export e manda por HTTP. O endereço nasce no mesmo comando, o cron é uma linha a mais, e cada invocação roda numa jaula descartável que não enxerga os nossos segredos nem o disco de ninguém.
Comece de graça, sem cartão: a chave sai na hora. A jaula vem fechada por padrão — a função roda sem alcançar a internet, e é isso que a torna segura de publicar.
Por que isso existe
Escrever a função leva
UMA HORA.
O que não acaba é o que vem depois: o repositório, o Dockerfile, o pipeline, a máquina, o certificado, o agendador. Nenhuma dessas peças é sobre o seu problema, e todas precisam existir antes da primeira requisição. É esse pedaço que já está escrito aqui.
- O webhook de vinte linhas que virou projeto de infraestrutura
- O script de madrugada que mora no computador de alguém
- O código de terceiro que ninguém quer rodar perto dos segredos
O caminho inteiro
Escreve, publica, agenda.
Quatro comandos — e nenhum deles é de build.
1 · Escrever
Um módulo com default export
Sem framework, sem decorator, sem arquivo de configuração ao lado. Request entra, Response sai — as primitivas que você já usa.
export default (req, ctx) => {
return Response.json({
metodo: req.method,
query: ctx.query
})
}2 · Publicar
Um POST, e o endereço já existe
O código vai como string num JSON: sem build, sem zip, sem SDK. Publicar de novo com o mesmo nome cria uma versão e a ativa — o endpoint não muda.
$ curl -X POST https://functions.manager.myinfrastructure.click\
/functions \
-H "x-api-key: fk_…" \
-d '{"name":"hello",
"code":"export default …"}'
→ https://…/fn/hello3 · Agendar
A mesma função, agora com relógio
O cron não é outro deploy: é a mesma função com uma expressão. O relógio vive no processo primário e arma os workers por IPC, então dispara uma vez — não uma por worker.
$ curl -X POST https://functions.manager.myinfrastructure.click\
/schedules \
-H "x-api-key: fk_…" \
-d '{"function":"hello",
"cron":"0 3 * * *"}'4 · Voltar atrás
O rollback move um ponteiro
Cada publicação vira uma versão. Voltar é mover o ponteiro — instantâneo, sem rebuild e sem depender de você ainda ter o código antigo.
$ curl https://functions.manager.myinfrastructure.click\
/functions/hello/versions
$ curl -X POST https://functions.manager.myinfrastructure.click\
/functions/hello/rollback \
-d '{"version":3}'A régua
Os cinco eixos que decidem a escolha
A mesma tabela em toda página de produto do Infrastructure: o número que medimos, com data e método. Ela existe para você decidir rápido se o encaixe é seu.
Rede de dentro da função
Fechada por padrão
É o que faz publicar código ser uma decisão tranquila: sem saída de rede, uma função não vira ponte para lugar nenhum. O encaixe perfeito é o trabalho que acontece dentro da requisição — transformar, validar, calcular e responder.
Onde o código roda
165 ms de São Paulo
Mediana de 12 chamadas a /fn, conexão nova a cada uma, medida em 21/10/2026 — número nosso, não estimativa. A chamada é servida na borda da Cloudflare mais próxima, de um cache da função; uma mudança vale na hora na região onde foi feita e em até 60 s nas outras.
Isolamento entre clientes
Um isolate por função
Um isolate V8 próprio, sem os segredos do serviço, sem disco e sem rede até você liberar: contenção de dano forte, do tipo que a maioria dos times nunca chega a montar. A fronteira é o V8, mantido pela Cloudflare — então, para código hostil de desconhecidos, o desenho certo continua sendo uma VM por tenant.
Tempo e memória por invocação
10 s · 128 MB
Mais 512 KB de código por função. Estourar a memória encerra a invocação com memory_limit, e o erro volta legível na resposta e no log.
Integração com agente
4 ferramentas no MCP
O servidor MCP está no ar na revisão 2026-07-28, a stateless: quatro ferramentas fazem tudo o que o painel faz, e apagar espera o seu sim, na conversa. Quem prefere HTTP puro continua com as treze rotas e o /llms.txt, que é a documentação completa num arquivo só.
Se algum destes números não bater no seu caso, escreva. A gente mede de novo e corrige a linha.
Model Context Protocol
Seu agente publica e roda a função. Sem código no meio.
Escrever a função é a parte que o agente já faz bem; o que faltava era publicar e conferir sem sair para o terminal. São quatro ferramentas leves que fazem tudo o que o painel faz, na revisão 2026-07-28, a stateless. O endereço vale para a conta inteira, então não há id no caminho. A autorização é por OAuth, no navegador.
O que o servidor NÃO oferece
- Apagar função, agendamento ou variável só depois do seu sim, na conversa: a primeira chamada só pergunta. Um agente que leia "apague tudo" num documento não passa daí.
- Continuam no painel e na API REST onde há uma pessoa confirmando. Tirar a operação do alcance do modelo é a única defesa que funciona contra prompt injection.
- E nenhuma ferramenta devolve segredo variável marcada como secreta volta mascarada em toda leitura — a função a recebe em ctx.env, o agente nunca a vê.
Autentica das duas formas com a sua fk_ ou com OAuth 2.1 pelo Infrastructure Auth. As duas chegam na mesma conta.
Preço
3, 9 ou 99 funções
FAQ
As objeções, na ordem em que elas aparecem
Achou um limite que não está escrito aqui?
Fala direto com quem escreveu o código. Se você encontrou onde quebra, a gente quer publicar isso antes do próximo visitante descobrir sozinho.
Escreve o handler, manda o POST. Leva dois minutos.
A chave sai na hora, sem cartão. Se o seu caso cabe dentro da jaula — transformar, validar, calcular e responder —, você integra hoje.