Pular para o conteudo
MODULO 5.5

🐳 Deploy e Infraestrutura

Docker, Docker Compose, cloud deploy, environment management e monitoring. Do "funciona na minha maquina" para "funciona em qualquer lugar".

6
Topicos
~50
Minutos
5.4
Pre-requisito
Avancado
Tipo
Progresso:0%0 de 6
1

📦 Docker basics

Docker empacota sua app, dependencias e configuracoes num container. O Dockerfile define como construir a imagem. Claude Code gera Dockerfiles otimizados com multi-stage builds.

Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Em 1 frase: Docker = "funciona na minha maquina" vira "funciona em qualquer lugar".

2

🎼 Docker Compose

Apps reais tem mais de um servico: app + database + cache. Docker Compose orquestra tudo com um unico docker-compose.yml. Um docker compose up sobe tudo junto.

Em 1 frase: docker compose up = app + DB + cache rodando juntos em 1 comando.

3

☁️ Cloud deploy (Railway/Fly.io)

Plataformas como Railway e Fly.io deployam sua app com um comando. Conecte o repo Git, configure variaveis de ambiente, e cada push faz deploy automatico. Sem gerenciar servidores.

terminal
# Railway
railway login && railway init && railway up

# Fly.io
fly launch && fly deploy

Em 1 frase: PaaS = deploy com um comando, sem gerenciar servidores.

4

🔐 Environment management

Secrets no .env, configs por ambiente (dev/staging/prod), principio 12-factor. Use pydantic-settings para carregar e validar configuracoes. Nunca commitar .env no git.

NUNCA faca isto

Commitar .env no git. Adicione .env ao .gitignore ANTES do primeiro commit.

Em 1 frase: .env + .gitignore + pydantic-settings = secrets seguros e configs validadas.

5

📈 Monitoring e logs

Minimo viavel: endpoint /health, structured logging com structlog, e uptime monitoring externo. Sem isso, voce so descobre problemas quando o usuario reclama.

Em 1 frase: /health + structlog + uptime check = saber antes do usuario.

6

📏 Scaling basics

Horizontal (mais replicas) vs vertical (maquina maior). Para 99% dos projetos iniciais, uma replica com cache resolve. Regra de ouro: nao escale antes de precisar. Quando o monitoring mostrar gargalo, ai sim.

Em 1 frase: nao escale antes de precisar; quando precisar, o monitoring mostra onde.

🧾 Resumo do Modulo

Docker empacota app + deps num container.
Compose orquestra multiplos servicos.
PaaS deploya sem gerenciar servidores.
Env management mantem secrets seguros.
Monitoring revela problemas antes do usuario.
Scaling so quando o monitoring pedir.

Proximo modulo:

5.6 — Ship Your Product: MVP, launch e iteracao.