Aprenda sobre deploy
Deploy é levar o código da sua máquina para um servidor que fica no ar. Veja como funciona, como dimensionar recursos e como resolver falhas.
Em destaque
- ConceitosO que são variáveis de ambiente (e por que usar)Variáveis de ambiente são pares chave-valor que o sistema entrega ao processo. Veja como ler no Node.js e Python e por que tokens não ficam no código.
- ConceitosO que é deploy (e o que acontece quando você faz um)Deploy é o processo de levar o código de uma aplicação para um servidor, prepará-lo e colocá-lo no ar. Veja as etapas, os métodos e como voltar atrás.
- CustosQuanta RAM e CPU minha aplicação precisa?Dimensione RAM e CPU medindo o pico real da aplicação e somando uma folga de 30%. Veja como medir em Node.js, Python e Java e o que fazer quando faltar.
Conceitos8
- O que são variáveis de ambiente (e por que usar)Variáveis de ambiente são pares chave-valor que o sistema entrega ao processo. Veja como ler no Node.js e Python e por que tokens não ficam no código.
- O que é deploy (e o que acontece quando você faz um)Deploy é o processo de levar o código de uma aplicação para um servidor, prepará-lo e colocá-lo no ar. Veja as etapas, os métodos e como voltar atrás.
- Uptime e SLA de 99,9%: o que significam na práticaUptime de 99,9% permite cerca de 43 minutos fora do ar por mês. Veja a conta, a diferença entre uptime, SLO e SLA e o que o SLA de fato garante.
- O que é Docker e para que serveDocker é uma plataforma que empacota uma aplicação e suas dependências em uma imagem e a roda como container. Veja como funciona, um exemplo e os limites.
- O que é CI/CDCI/CD é a prática de testar cada mudança de código automaticamente (CI) e levá-la para produção sem passos manuais (CD). Veja como funciona um pipeline.
- O que é hospedagem em nuvem (cloud)Hospedagem em nuvem é rodar sua aplicação em recursos de computação sob demanda, em vez de um servidor fixo. Veja como funciona, modelos e quando usar.
- O que é VPS e quando você precisa de umaVPS é um servidor virtual privado: uma máquina virtual com sistema próprio e acesso root, alugada de um provedor. Veja como funciona e quando vale a pena.
- O que é Docker ComposeDocker Compose descreve uma aplicação com vários containers em um arquivo YAML e sobe tudo com um comando. Veja como funciona, um exemplo e os limites.
Passo a passo10
- Deploy automático com GitHub ActionsDeploy automático com GitHub Actions envia seu código para o servidor a cada push. Veja o workflow passo a passo, secrets, testes antes do deploy e erros comuns.
- Arquivo .env: para que serve e como criarO arquivo .env guarda variáveis de ambiente em texto simples, uma por linha. Veja a sintaxe, como carregar no Node.js e no Python e como não vazar segredos.
- Estratégia de backup 3-2-1 e snapshots: o básicoA regra 3-2-1 manda manter 3 cópias, em 2 tipos de mídia, com 1 fora do local. Veja como aplicar em app e banco, a diferença para snapshots e o script.
- Como ler os logs da sua aplicação (e achar o erro)Para achar o erro nos logs, comece pelo fim, procure a primeira linha de erro e leia o stack trace. Veja passo a passo em Node.js e Python.
- Variáveis de ambiente: tempo de build vs tempo de execuçãoVariáveis de build ficam gravadas no bundle; as de runtime são lidas quando o app inicia. Veja qual é qual e onde um segredo pode ficar com segurança.
- Como fazer deploy de um monorepoFazer deploy de um monorepo é publicar um app de um repositório com vários. Veja como podar dependências e empacotar um pacote com pnpm e Turborepo.
- PM2 e reinício automático: mantendo o processo vivoUse o PM2 para reiniciar seu processo Node.js quando ele cair, estourar a memória ou o servidor reiniciar. Veja ecosystem file, limites e uso em Docker.
- Ambientes de desenvolvimento, staging e produçãoDesenvolvimento, staging e produção são três cópias do seu app com config e dados separados. Veja como montar cada uma, promover código e não misturar nada.
- Como dockerizar uma aplicação (Dockerfile passo a passo)Dockerizar é empacotar sua aplicação e suas dependências numa imagem. Veja como escrever um Dockerfile para Node.js, buildar, rodar e corrigir erros comuns.
- Rollback e deploy sem downtimeRollback devolve a última versão que funcionava; deploy sem downtime troca de versão sem perder requisições. Entenda rolling, blue-green e canary.
Problemas e erros5
- Deploy falhou: como ler erros de buildUm build com falha imprime dezenas de linhas, mas só uma importa. Aprenda a achar o primeiro erro real, ligar à causa e corrigir falhas de npm, pip e TypeScript.
- 'Cannot find module' e 'ModuleNotFoundError' no deploy'Cannot find module' (Node.js) e 'ModuleNotFoundError' (Python) significam que o runtime não achou um import. Veja as causas comuns e como corrigir cada uma.
- Aplicação lenta no servidor: CPU steal, overselling e gargalosAplicação lenta quase sempre tem um gargalo mensurável: CPU steal, throttling, memória, disco, rede ou o próprio código. Veja como medir cada um e corrigir.
- Aplicação reiniciando sozinha: erros de falta de memória (OOM) explicadosUma aplicação que reinicia sem motivo claro costuma estar no limite de memória. Aprenda a reconhecer o OOM em Node.js, Python e Java, achar a causa e corrigir.
- Funciona localmente mas não depois do deploy: causas comunsUma aplicação que roda localmente mas falha no deploy costuma diferir em variáveis de ambiente, versões, caminhos, porta ou arquivos faltando. Veja como achar qual.
Custos3
- Quanta RAM e CPU minha aplicação precisa?Dimensione RAM e CPU medindo o pico real da aplicação e somando uma folga de 30%. Veja como medir em Node.js, Python e Java e o que fazer quando faltar.
- Quanto custa hospedar uma aplicação Node.jsHospedar Node.js custa de zero, com limites, a poucas dezenas de reais por mês. Veja o que define o preço, quanta RAM o app usa e como cada opção cobra.
- Quanto custa uma VPS no Brasil (e o que olhar além do preço)Uma VPS de entrada parece barata na vitrine, mas o preço de renovação, as cópias de segurança e o seu tempo mudam a conta. Veja como calcular o custo real.
Comparações4
- VPS, cloud ou plataforma de hospedagem: qual combina com seu projetoVPS dá controle total do servidor e exige que você o administre. Uma plataforma de hospedagem automatiza o servidor. Veja as diferenças e quando escolher cada uma.
- Container vs máquina virtual: diferençasContainer e máquina virtual isolam apps de formas diferentes: o container compartilha o kernel do host, a VM traz o seu. Veja as diferenças e quando usar cada um.
- Serverless ou container: qual usar para bots e APIsServerless executa funções por requisição e escala a zero; container mantém um processo sempre ligado. Veja limites, cold start e qual serve para bots e APIs.
- VPS ou hospedagem compartilhada: qual escolherHospedagem compartilhada divide um servidor entre muitos sites e é simples. A VPS dá root e isolamento de recursos, mas exige administração. Veja qual escolher.
Qual escolher3
- Melhor forma de hospedar uma aplicação Node.jsA melhor forma de hospedar Node.js depende do tipo de processo: sempre ligado ou por requisição. Compare VPS, plataforma de containers e serverless por cenário.
- Melhor forma de hospedar uma aplicação PythonA melhor forma de hospedar Python depende do tipo de aplicação: bot, API web, tarefa agendada ou IA. Compare VPS, containers e serverless e veja quando usar cada um.
- VPS para bot do Discord: vale a pena?Um bot do Discord não precisa de VPS: é um processo leve que mantém uma conexão aberta. Veja quando a VPS compensa, o que ela exige e as alternativas.