Boas práticas

O que separa uma aplicação que dá trabalho de uma que roda sozinha.

Avançado·5 min de leitura

Encerre com elegância

Quando a plataforma reinicia a aplicação, ela pede ao processo que termine. Tratar esse pedido evita perder trabalho em andamento.

javascript
process.on("SIGTERM", async () => {
  console.log("Encerrando com cuidado…");
  await servidor.close();
  await banco.disconnect();
  process.exit(0);
});

Não guarde estado só na memória

Um reinício apaga tudo que estava em memória. Fila, sessão e cache importantes devem viver num banco ou no disco da aplicação.

Fixe a versão da linguagem quando tiver dependência compilada

Bibliotecas com código compilado dependem da versão exata do runtime. Deixando a versão em “mais recente”, o dia em que a plataforma promover uma versão nova é o dia em que a sua aplicação para de subir — sem você ter tocado em nada. Escolha uma versão fixa na aba Ambiente.

Log que serve para alguma coisa

  • Uma linha quando a aplicação terminou de subir.
  • Erros com contexto: o que estava sendo feito.
  • Nada de imprimir objeto gigante a cada requisição.
  • Nunca imprimir credencial.

Antes de publicar em produção

  • Teste o pacote localmente com as mesmas variáveis de ambiente.
  • Crie um snapshot antes de uma mudança grande.
  • Publique fora do horário de pico do seu público.
  • Acompanhe o console pelos primeiros minutos depois de publicar.

Continue lendo