📦 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.
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".
🎼 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.
☁️ 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.
# Railway railway login && railway init && railway up # Fly.io fly launch && fly deploy
En 1 frase: PaaS = deploy con un comando, sin administrar servidores.
🔐 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.
📈 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.
📏 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
Siguiente módulo:
5.6 — Ship Your Product: MVP, lanzamiento e iteración.