Serverless
O que é
Pense numa lâmpada com sensor de movimento: ela fica desligada até alguém passar perto, acende só para essa pessoa, e depois se apaga sozinha — você nunca precisa apertar um interruptor nem paga para ela ficar acesa a noite toda. O (sem servidor) funciona assim. Você escreve funções individuais e o provedor de nuvem só as executa quando algo as aciona — uma requisição (uma requisição web, do tipo que seu navegador faz), o upload de um arquivo, um temporizador agendado. Ainda existem servidores por baixo dos panos, mas você nunca os vê nem precisa administrá-los. Você paga só pelo tempo em que seu código realmente roda, muitas vezes medido em milissegundos.
Pontos fortes
- Nenhum servidor para provisionar, atualizar ou manter rodando.
- Escala de zero a milhares de execuções simultâneas automaticamente.
- Preço por uso; código ocioso não custa nada.
- Integra-se de forma limpa com eventos da nuvem (filas, armazenamento, bancos de dados).
- Boa opção para tráfego irregular ou imprevisível.
Contrapartidas
- Cold starts (partidas frias): uma função que não roda há um tempo pode levar um instante extra para "acordar".
- Limites de tempo de execução (muitas vezes poucos minutos) descartam tarefas longas.
- Os custos podem surpreender em volumes muito altos e constantes, comparado a um servidor comum.
- Testar e depurar localmente é mais complicado do que numa aplicação normal.
- Dependência de fornecedor (vendor lock-in) — o modelo de eventos e as APIs mudam de provedor para provedor.
Quando usar
Escolha serverless para APIs (Application Programming Interfaces — interfaces de programação de aplicações, os pontos de acesso que outros programas chamam para conversar com o seu app), webhooks, tarefas agendadas e trabalhos orientados a eventos, quando o tráfego é desigual e você prefere não ficar cuidando de infraestrutura. Ele brilha como "cola" entre serviços de nuvem.
Encaixe com vibe coding
Serverless combina bem com desenvolvimento guiado por IA porque a unidade de trabalho é uma única função autocontida — fácil para um agente gerar, testar e implantar. Frameworks como AWS SAM, o Serverless e a Vercel deixam a IA definir a função, seu gatilho e suas permissões em um único arquivo de configuração. Dica: peça ao agente para definir explicitamente um tempo limite (timeout) e um tamanho de memória sensatos, e para manter as dependências ao mínimo — menos pacotes significam pacotes finais (bundles) menores e cold starts mais rápidos.
# serverless.yml — AWS Lambda function
service: my-api
provider:
name: aws
runtime: nodejs20.x
timeout: 10
functions:
hello:
handler: handler.hello
events:
- httpApi:
path: /hello
method: get
# Deploy the stack
npx serverless deploy