PTENES
Saltar al contenido
MÓDULO 5.5

🐳 Deploy e infraestructura

Docker, Docker Compose, deploy en la nube, gestión de entornos y monitoreo. De "funciona en mi máquina" a "funciona en cualquier lugar".

6
Temas
~50
Minutos
5.4
Requisito previo
Avanzado
Tipo
Progreso:0%0 de 6
1

📦 Conceptos básicos de Docker

Docker empaqueta tu app, dependencias y configuraciones en un contenedor. El Dockerfile define cómo construir la imagen. Claude Code genera Dockerfiles optimizados con compilaciones multietapa.

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"]

En 1 frase: Docker = "funciona en mi máquina" se convierte en "funciona en cualquier lugar".

2

🎼 Docker Compose

Las apps reales tienen más de un servicio: app + base de datos + caché. Docker Compose lo orquesta todo con un único docker-compose.yml. Un docker compose up sube todo junto.

En 1 frase: docker compose up = app + DB + caché funcionando juntas con 1 comando.

3

☁️ Deploy en la nube (Railway/Fly.io)

Plataformas como Railway y Fly.io despliegan tu app con un comando. Conecta el repo de Git, configura las variables de entorno y cada push hace un deploy automático. Sin administrar servidores.

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

# Fly.io
fly launch && fly deploy

En 1 frase: PaaS = deploy con un comando, sin administrar servidores.

4

🔐 Gestión del entorno

Secrets en .env, configuraciones por entorno (dev/staging/prod), principio 12-factor. Usa pydantic-settings para cargar y validar configuraciones. Nunca hagas commit de .env en git.

NUNCA hagas esto

Hacer commit de .env en Git. Agrega .env a .gitignore ANTES del primer commit.

En 1 frase: .env + .gitignore + pydantic-settings = secretos seguros y configuraciones validadas.

5

📈 Monitoreo y registros

Mínimo viable: endpoint /health, registro estructurado con structlog, y monitoreo externo del uptime. Sin eso, solo descubres los problemas cuando se queja el usuario.

En 1 frase: /health + structlog + uptime check = saberlo antes que el usuario.

6

📏 Conceptos básicos de escalado

Escalado horizontal (más réplicas) vs. vertical (máquina más grande). Para el 99% de los proyectos iniciales, una réplica con caché es suficiente. Regla de oro: no escales antes de que sea necesario. Cuando el monitoreo muestre un cuello de botella, entonces sí.

En 1 frase: no escales antes de que sea necesario; cuando lo sea, el monitoring te muestra dónde.

🧾 Resumen del módulo

✓
Docker empaqueta la aplicación y sus dependencias en un contenedor.
✓
Compose orquesta varios servicios.
✓
PaaS despliega sin administrar servidores.
✓
Env management mantén los secretos seguros.
✓
Monitoring revela problemas antes que el usuario.
✓
Scaling solo cuando lo pida el monitoring.

Siguiente módulo:

5.6 — Ship Your Product: MVP, lanzamiento e iteración.