"Funciona" não é "está pronto para produção"
Um app pode funcionar perfeitamente no seu notebook e ser um desastre em produção: sem HTTPS, com a senha do banco de dados no repositório, sem nenhuma forma de saber se ele caiu. Antes de abrir a porta a usuários reais, revisa-se um checklist de condições inegociáveis.
O checklist
- Testes na CI. A suíte passa de forma automática a cada mudança. Se está em vermelho, nada é implantado.
- Segredos fora do repo. Chaves, tokens e senhas vivem em variáveis de ambiente (ou um gerenciador de segredos), nunca no código nem no Git. Um segredo comitado é considerado vazado para sempre.
- HTTPS. Todo o tráfego vai criptografado. Servir credenciais por HTTP puro as expõe a qualquer um na rede.
- Logging. O app registra o que acontece (requisições, erros) para poder diagnosticar incidentes depois, sem ter que reproduzi-los às cegas.
- Health check. Um endpoint (
/health) que responde se o app está vivo. O orquestrador e o monitoramento o consultam para decidir se reiniciam ou alertam. - Backups. Cópias de segurança testadas dos dados. Um backup que nunca foi restaurado não é um backup: é uma esperança.
- Monitoramento e alertas. Métricas (latência, erros, uso) e alertas que avisam uma pessoa quando algo sai do normal, idealmente antes que o usuário sofra com isso.
Por que cada ponto importa
Sem testes na CI → você faz deploy de bugs sem perceber
Segredo no repo → qualquer um com acesso ao código entra nos seus dados
Sem HTTPS → as credenciais viajam em texto puro
Sem logging → uma falha em produção é um mistério sem pistas
Sem health check → ninguém sabe que o app caiu até que um usuário reclame
Sem backups → uma exclusão acidental é definitiva
Sem alertas → você fica sabendo do incidente pelo Twitter, não pelo seu painel
Pronto quando tudo está verde
A regra é simples: o app está production-ready quando todos os pontos
do checklist são cumpridos. Se falta um, ele fica bloqueado até resolvê-lo. No
capstone você escreverá uma função avaliarChecklist(estado) que aplica
exatamente essa regra: lista o que falta e decide se pode ser implantado.
Este é o fim da trilha: você não constrói mais uma única peça, e sim o sistema completo e a disciplina que o levam à produção e o mantêm vivo.