🧪 Problem-Driven Systems Lab

📋 ADR 0003 — Docker por caso y por stack#

CampoValor
Estado✅ Aceptada
Fecha2025

🔍 Contexto#

Un laboratorio con 12 casos y hasta 7 stacks por caso representa potencialmente hasta 84 entornos distintos. Levantar todo al mismo tiempo sería:

  • costoso en recursos (CPU, memoria, red),
  • difícil de mantener y depurar,
  • innecesario para la mayoría de los flujos de trabajo,
  • incompatible con la narrativa de portafolio que busca claridad.

✅ Decisión#

Cada stack dentro de cada caso tiene su propio compose.yml independiente.

Adicionalmente, cada caso puede tener un compose.compare.yml para cuando se quiere levantar múltiples stacks del mismo caso de forma comparativa.

cases/01-api-latency-under-load/
├── compose.compare.yml        ← opcional, para comparar stacks
├── php/
│   └── compose.yml            ← solo el stack PHP de este caso
├── node/
│   └── compose.yml            ← solo el stack Node del caso
└── ...

⚖️ Consecuencias#

ConsecuenciaDetalle
✅ Aislamiento totalUn caso no interfiere con otros
✅ ReproducibilidadCada entorno se levanta de forma independiente y predecible
✅ Mejor depuraciónMenos servicios corriendo = menos ruido al investigar un problema
✅ Crecimiento controladoAgregar un nuevo caso no afecta los anteriores
⚠️ Más archivos de composeHay múltiples compose.yml en el repositorio — los comandos de Makefile los estandarizan

Ver esta carpeta en GitHub ↗