AULA 59 MÓDULO 8 Docker e deploy ⏱ 50 min

Do Local para a Nuvem

PaaS vs IaaS vs Kubernetes vs Serverless. Deploy no Railway. Health check endpoint.

deployRailwayPaaSIaaSKubernetesserverlesshealth check

Do local para a nuvem

Escolher onde hospedar sua API é uma decisão de custo, complexidade e escala. Do PaaS (plataforma gerenciada) ao Kubernetes autogerenciado — cada opção tem trade-offs.

PaaS
Railway, Render, Heroku
Deploy com git push. Sem gerenciar infra. Bom para MVPs e startups.
IaaS + Docker
AWS ECS, GCP Cloud Run
Container gerenciado. Mais controle. Escala automática.
Kubernetes
EKS, GKE, AKS
Máximo controle e escala. Alta complexidade operacional.
Serverless
Vercel, AWS Lambda
Pay-per-use. Zero gerenciamento. Limite de duração de execução.

Deploy no Railway

Railway é o PaaS moderno mais simples para Node.js. Conecta ao GitHub, detecta o framework automaticamente e faz deploy a cada push na branch main.

💡
variáveis no Railway
Configure variáveis de ambiente no painel Railway — nunca no código ou Dockerfile. Railway injeta automaticamente na execução.
javascript
## Deploy no Railway — passo a passo

## 1. Instalar Railway CLI
## npm install -g @railway/cli

## 2. Login e inicializar projeto
## railway login
## railway init

## 3. Adicionar Postgres via Railway
## railway add postgres

## 4. Deploy
## railway up

## Verificar health do serviço
## curl https://minha-api.up.railway.app/health

// health check endpoint — obrigatório para qualquer deploy
app.get('/health', async (req, res) => {
  try {
    await db.query('SELECT 1')  // verifica banco
    res.json({ status: 'ok', db: 'ok', uptime: process.uptime() })
  } catch {
    res.status(503).json({ status: 'error', db: 'unreachable' })
  }
})
quiz · aula 59
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
Qual é a vantagem do PaaS (Railway, Render) sobre IaaS?
QUESTÃO 02
Por que toda API em produção deve ter um endpoint /health?
QUESTÃO 03
Serverless (Lambda, Vercel) tem qual limitação principal?
0/3