Functions

Implante funções serverless em segundos

Runtime Deno gerenciado no seu próprio servidor. Escreva funções TypeScript, faça upload e invoque via HTTPS. Sem etapa de build, sem imagens de container, sem dependência de fornecedor.

Escreva uma função, faça o deploy e chame-a

// handler.ts
export default async function(req: Request) {
const url = new URL(req.url);
const name = url.searchParams.get('name') ?? 'world';
return new Response(
JSON.stringify({ hello: name }),
{ headers: { 'Content-Type': 'application/json' } },
);
}
# Invoke your function
curl https://my-functions.sh0.app/?name=sh0
{"hello":"sh0"}

Serverless sem compromissos

Todos os benefícios de funções serverless com o controle do self-hosting.

TypeScript e JavaScript

Escreva funções em TypeScript ou JavaScript. Runtime Deno completo com top-level await, ES modules e a Web API padrão (fetch, crypto, streams).

Deploy Instantâneo

Faça upload do seu arquivo de função e ele fica disponível imediatamente. Sem etapa de build, sem imagem de container, sem cold start. O Deno compila e faz cache na primeira requisição.

Endpoint com SSL Automático

Cada instância de função recebe seu próprio endpoint HTTPS via Caddy. Invoque a partir de qualquer frontend, webhook ou cron job por uma conexão segura.

Runtime Leve

Cada instância Deno utiliza aproximadamente 256 MB de memória. Inicialização rápida, consumo reduzido, execução eficiente.

Execução em Sandbox

O Deno roda em sandbox seguro por padrão. Sem acesso ao sistema de arquivos, sem acesso à rede, a menos que explicitamente concedido. Seguro por design.

Invocação HTTP

As funções são invocadas por requisições HTTP padrão. Retorne qualquer tipo de conteúdo -- JSON, HTML, texto simples, binário. Use-as como endpoints de API, webhooks ou microsserviços.

Como Funciona

01

Criar Instância de Função

Clique em "Criar Servidor de Funções" no painel do sh0. Escolha um nome para o seu runtime serverless.

02

Escreva Sua Função

Escreva uma função em TypeScript ou JavaScript que processe requisições HTTP. Exporte uma função padrão que receba um Request e retorne um Response.

03

Deploy

Faça upload do arquivo de função pelo painel ou API. Ele será compilado e estará pronto para servir em segundos.

04

Invocar

Chame sua função pelo endpoint HTTPS. Passe dados como parâmetros de query, headers ou corpo da requisição.

Fluxo de Execução

Requisição HTTP
Caddy (SSL)
Runtime Deno
Sua Função
Resposta

Execução direta. Sem cold starts de container, sem overhead de orquestração.

Cloud Functions (AWS/GCP/Azure)

  • x Cobrança por invocação acumula rápido
  • x Cold starts degradam a experiência do usuário
  • x APIs e ferramentas específicas do fornecedor
  • x Configuração complexa de IAM e rede
  • x Difícil de testar e depurar localmente
  • x Custos de transferência de dados entre serviços

sh0 + Deno Functions

  • Preço fixo, invocações ilimitadas
  • Sem cold starts -- Deno compila e faz cache
  • Web APIs padrão (Request/Response)
  • Endpoint HTTPS simples, sem configuração
  • Mesmo runtime Deno local e em produção
  • Acesso direto aos seus bancos de dados, sem taxas de egresso

Perguntas Frequentes

Quais linguagens são suportadas? +
TypeScript e JavaScript por meio do runtime Deno. O Deno suporta TypeScript nativamente -- sem etapa de compilação nem tsconfig necessário.
Existe cold start? +
O Deno compila e faz cache da sua função na primeira requisição. As requisições seguintes são servidas do cache com latência insignificante.
As funções podem acessar meus bancos de dados? +
Sim. Suas funções podem se conectar a qualquer banco de dados PostgreSQL, MySQL ou Redis gerenciado pelo sh0 usando strings de conexão padrão.
Qual é o formato de request/response? +
As funções recebem um objeto Request da Web API padrão e devem retornar um objeto Response. Esta é a mesma API usada no Deno Deploy, Cloudflare Workers e outros runtimes de borda.
Posso usar pacotes npm? +
Sim. O Deno suporta importação do npm via o especificador npm: (ex.: import express from "npm:express"). Você também pode importar de URLs ou deno.land/x.
Qual a diferença em relação ao AWS Lambda? +
sh0 Functions roda no seu próprio servidor -- sem dependência de fornecedor, sem cobrança por invocação, sem penalidades de cold start. Você controla a infraestrutura.

Entregue funções, não infraestrutura

Escreva TypeScript, faça o deploy no seu servidor e invoque via HTTPS. Simples assim.