Objetivos de aprendizado
Depois de ler este artigo, você vai conseguir:
- Entender o que compõe o custo mensal de uma aplicação Node.js
- Medir quanta memória o seu app usa para escolher o plano certo
- Comparar como cobram as opções gratuitas, as plataformas e as VPS
O Node.js é gratuito, mas o servidor onde ele roda não é. Quem procura "quanto custa hospedar Node.js" encontra de tudo: instâncias gratuitas, planos de poucos dólares, VPS em promoção e plataformas cobradas por segundo. Os números parecem incomparáveis porque cada um mede uma coisa diferente.
Separar o custo em partes resolve a confusão. Os preços de terceiros mudam com frequência, então este guia compara como cada opção cobra. Os números deste artigo são hipotéticos, escolhidos para facilitar a conta. Não são preços de nenhum provedor; os valores reais ficam nas páginas oficiais de preços, listadas nas fontes.
O que compõe o custo de hospedar Node.js?#
Uma aplicação Node.js é um processo que fica rodando e atende requisições, eventos ou mensagens. O custo mensal vem de cinco itens:
- Computação: RAM e CPU reservadas para o processo. É o item principal e o que mais varia entre provedores.
- Tempo ligado: um processo que precisa estar de pé 24 horas por dia (API, bot, WebSocket) custa mais do que um que dorme quando não há tráfego.
- Banco de dados: quase toda aplicação real guarda dados. Rodar o banco na mesma máquina não tem mensalidade extra, mas consome RAM; um banco separado é outra linha na conta.
- Domínio e tráfego: o domínio é pago à parte em qualquer modelo, e alguns provedores cobram o tráfego que passar da franquia.
- Manutenção: as horas que você gasta atualizando sistema, aplicando correções e resolvendo quedas.
O Node.js em si não entra na conta: ele é distribuído sob a licença MIT, sem custo.
Quanta RAM uma aplicação Node.js usa?#
RAM é o que define o plano, então meça antes de contratar. O campo rss de process.memoryUsage() é a memória total do processo, que é o que conta para o limite de um container ou de uma VPS. Este servidor Express 5 expõe o número numa rota:
// mem.mjs (npm install express)
import express from "express";
const app = express();
app.get("/", (req, res) => res.send("ok"));
app.get("/mem", (req, res) => {
const mb = (n) => Math.round(n / 1024 / 1024);
const m = process.memoryUsage();
res.json({ rssMB: mb(m.rss), heapUsedMB: mb(m.heapUsed), heapTotalMB: mb(m.heapTotal) });
});
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`ouvindo na porta ${port}`));Em testes com um Node.js recente e o Express 5, esse servidor ocupava de 50 a 70 MB de RSS depois de algumas centenas a 2.000 requisições, com só 9 a 12 MB de heap em uso. O resto é o próprio runtime: o motor V8, o código carregado e os buffers.
Uma aplicação real carrega mais coisas: ORM, cliente de banco, validação, SDKs. Cada dependência soma memória, e frameworks com renderização no servidor pesam mais, então só a medição dá o número certo. Meça o pico com tráfego real, some 30% de folga e arredonde para o plano acima. O método completo está em quanta RAM e CPU minha aplicação precisa.
CPU pesa menos na conta. O Node.js executa o seu JavaScript em uma thread, então um processo só aproveita mais de um núcleo com workers ou vários processos.
Como cobra cada forma de hospedar?#
| Opção | Exemplo | Como cobra | O que observar |
|---|---|---|---|
| PC ou notebook em casa | o seu equipamento | energia e internet | o app cai quando a máquina desliga |
| Instância gratuita | Render Free | sem mensalidade, com cota de horas | dorme após um período sem tráfego |
| Plataforma com horas compartilhadas | Heroku Eco | mensalidade fixa por uma cota de horas | dorme sem tráfego |
| Plataforma sempre ligada | Heroku Basic, planos pagos do Render | mensalidade por instância, conforme RAM e CPU | o preço sobe a cada degrau de RAM |
| VPS internacional | DigitalOcean Basic | por segundo, com teto mensal, em dólar | manutenção por sua conta |
| VPS cobrada em reais | provedores com preço em reais | mensalidade fixa, muitas vezes com preço promocional | a renovação pode sair mais cara |
Alguns detalhes mudam a leitura da tabela:
- Render: o plano de workspace de entrada não tem mensalidade, e você paga só a computação. As instâncias gratuitas dividem uma cota de horas por mês por workspace, e o serviço gratuito desliga após um período sem tráfego.
- Heroku: as horas do Eco são compartilhadas entre todos os dynos Eco da conta. O dyno web dorme sem tráfego e não gasta horas dormindo. O Heroku deixou de oferecer dynos gratuitos em novembro de 2022.
- DigitalOcean: a cobrança é por segundo, com teto no preço mensal do plano, e cada plano inclui uma franquia de transferência.
- Preço promocional: em muitos provedores, o desconto vale só para o primeiro período contratado. Compare o preço de renovação, não o da vitrine.
Se a ideia é rodar o app numa máquina em casa, faça a conta da energia: um notebook que consome 30 W em média gasta 30 × 24 × 30 = 21,6 kWh por mês. Multiplique pela tarifa da sua conta de luz. Com uma tarifa hipotética de 1 real por kWh, seriam 21,60 reais. Some a internet, as quedas de energia e o fato de o app cair quando a máquina desliga.
Quais custos não aparecem na vitrine?#
- Dormir tem preço. Um serviço gratuito que desliga após minutos sem tráfego leva segundos para voltar na primeira requisição. Para um site pessoal isso é aceitável; para um bot ou um webhook, significa mensagens perdidas ou timeouts. Os detalhes estão em limites da hospedagem gratuita para bots.
- Câmbio e IOF. Provedores internacionais cobram em dólar. O valor em reais varia com o câmbio e com o IOF da compra no cartão.
- Renovação. Preços promocionais de VPS podem até dobrar na renovação. Leia o preço de renovação antes de pagar, como mostra quanto custa uma VPS.
- Banco de dados. Um banco separado é mais uma mensalidade, às vezes maior que a da aplicação. Compare as opções em quanto custa hospedar um banco de dados.
- Manutenção. Numa VPS, atualização do sistema, firewall, proxy reverso, TLS e reinício automático do processo ficam por sua conta. Se você gasta 2 horas por mês com isso e vale 50 reais a hora (números hipotéticos), são 100 reais por mês de trabalho.
Como estimar o custo mensal da sua aplicação?#
Monte a conta em quatro passos:
- Meça a RAM com
process.memoryUsage()sob carga real e some 30%. - Escolha o modelo pelo tipo de processo. Se ele precisa responder a qualquer hora, descarte as opções que dormem. Se o tráfego é irregular e cada execução é curta, compare com serverless ou containers.
- Some os extras: banco, domínio, cópias de segurança e tráfego acima da franquia.
- Converta para reais os planos em dólar e use o preço de renovação, não o promocional.
Exemplo hipotético: uma API que usa 250 MB no pico precisa de cerca de 325 MB, então cabe em 512 MB. Supondo uma plataforma sempre ligada que cobre US$ 10 por mês por 512 MB (valor hipotético), isso fecha a computação; uma VPS de entrada costuma ter mensalidade menor, mas você soma a manutenção. Com banco e domínio, a conta de um projeto pequeno costuma ficar na faixa de algumas dezenas de reais por mês. Para decidir entre os modelos além do preço, veja a melhor forma de hospedar uma aplicação Node.js.
Como gastar menos sem perder estabilidade?#
- Corte dependências pesadas que você não usa. Cada biblioteca carregada ocupa memória o tempo todo.
- Não guarde tudo em memória. Caches sem limite fazem o RSS crescer até estourar o plano. Use um limite de itens ou um cache externo.
- Rode um processo por aplicação em planos pequenos. Vários processos com
clustermultiplicam a RAM e só compensam quando a CPU é o gargalo. - Ajuste o heap com
--max-old-space-size(em MiB) para ficar abaixo da memória do plano, assim o processo falha de forma clara em vez de ser encerrado pelo sistema. - Faça o build antes do deploy. Compilar TypeScript ou o front-end no servidor de produção exige mais memória que rodar o resultado.
Como fazer isso na Square Cloud#
Na Square Cloud, quase todos os itens dessa conta entram numa mensalidade em reais, paga por Pix ou cartão, com 20% de desconto no anual. A computação é a RAM do plano, um pool compartilhado entre as suas aplicações: o Hobby custa R$ 12,49 por mês com 1 GB e 1 vCPU, ou R$ 24,99 com 2 GB e 2 vCPU. A API do exemplo, com pico de 250 MB, cabe no mínimo de 512 MB de uma aplicação web e ainda deixa espaço para um bot de 256 MB no plano de 1 GB.
O tempo ligado não custa à parte: o container fica sempre de pé, sem cold start nem modo de suspensão. O tráfego é ilimitado, sem cobrança por banda ou por requisição (política de uso justo), e toda aplicação web ganha um subdomínio *.squareweb.app com HTTPS. Hospedagem de banco de dados e domínio personalizado começam no Standard, a partir de R$ 44,99 por mês. Na manutenção, TLS automático, proteção DDoS e WAF já vêm em todo plano, e o reinício automático, ligado por padrão no deploy pelo painel, religa o processo que encerra com erro.
Não há etapa de build no servidor: no start, a plataforma roda npm install quando não existe node_modules, então compile o front-end antes e envie o resultado. A aplicação web escuta em 0.0.0.0, na porta da variável PORT. Entre diversos runtimes, como Node.js, TypeScript (sem etapa de build) e Python, veja os disponíveis hoje em Runtimes e compare os planos em preços.
Deploy
Envie pelo GitHub, pela CLI ou em ZIP e publique em segundos
Perguntas frequentes
Dá para hospedar Node.js sem pagar nada?
Dá, com limites. Instâncias gratuitas, como as do Render, desligam o serviço após um período sem tráfego e limitam as horas por mês. Servem para testes e projetos pessoais, não para um bot ou API que precisa responder a qualquer hora.
Quanta RAM uma API Node.js precisa?
Um servidor Express mínimo ocupa de 50 a 70 MB de memória residente. Uma API real, com ORM e dependências, usa mais. Meça com process.memoryUsage() sob carga e some uma folga de 30%.
VPS ou plataforma para Node.js: qual sai mais barato?
Na mensalidade, uma VPS de entrada costuma ser mais barata por GB de RAM. Na conta completa, entram as horas de manutenção do servidor, que a VPS cobra de você e uma plataforma reduz.
O Node.js em si é pago?
Não. O Node.js é software livre, distribuído sob a licença MIT. Você paga só pela máquina ou plataforma onde ele roda.
Mais em Deploy
Ver todos os 33 artigos- 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.
- 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.
- 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.