~/VibeHandbook
PDF grátis

Infraestrutura

aws.amazon.com

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