Skip to content
Latchkey

O que é Serverless? Executando Código sem Gerenciar Servidores

Serverless significa executar código sem provisionar ou gerenciar servidores: a nuvem provisiona a computação sob demanda, a escala automaticamente e cobra apenas pelo que você realmente usa.

Ainda existem servidores no serverless; você apenas nunca os gerencia. O provedor cuida da capacidade, escala, patching e disponibilidade, e você foca apenas no seu código ou container. As características que o definem são a escala automática (frequentemente até zero) e a cobrança granular baseada no uso. Functions e containers serverless são as formas comuns.

O que torna algo serverless

  • Sem servidores para provisionar, aplicar patches ou escalar manualmente.
  • Escala automática com a demanda, frequentemente até zero.
  • Pagamento apenas pelo tempo de execução ou requisições, não por capacidade ociosa.
  • Invocação orientada a eventos ou a requisições.

Functions vs containers serverless

Plataformas de functions (Lambda, Cloud Functions, Azure Functions) executam pequenos handlers. Plataformas de containers serverless (Cloud Run, Fargate, Container Apps) executam qualquer imagem de container de forma serverless. Containers dão mais flexibilidade; functions são o mais simples para pequenos handlers de eventos.

Cold starts

Quando uma carga serverless escala a partir de zero, a primeira requisição paga um cold start enquanto o ambiente é inicializado. Esse é o principal trade-off de latência. Configurações de instância mínima ou runtimes mais leves o reduzem para paths sensíveis à latência.

Quando o serverless brilha

Serverless é adequado para cargas irregulares, imprevisíveis ou orientadas a eventos, onde pagar por servidores ociosos é um desperdício. Para tráfego constante de alto throughput, computação sempre ativa pode ser mais barata, então o modelo é uma decisão de adequação à carga em vez de sempre melhor.

Papel no CI/CD

Os deploys serverless são normalmente apenas atualizações de código ou imagem: um pipeline empacota a function ou imagem, faz o push dela e atualiza o serviço via CLI da nuvem, autenticado com OIDC ou federação. Como não há frota para gerenciar, os deploys são simples e fazem rollback apontando o tráfego para uma versão anterior.

Principais conclusões

  • Serverless executa código em computação gerenciada pelo provedor que escala e cobra por uso.
  • Vem na forma de functions ou containers serverless, tendo os cold starts como trade-off.
  • Os deploys são simples atualizações de código ou imagem, sem frota para gerenciar.

Guias relacionados