🧪 Problem-Driven Systems Lab
Catalogo

Los 20 casos del laboratorio

Todos operativos en los 7 stacks. Filtra por categoria de problema o por lenguaje para ver donde vive cada solucion.

Arquitectura 3

Modernizacion incremental y sobre-ingenieria evitable.

Entrega 2

Pipelines fragiles y despliegues que no se pueden repetir.

Observabilidad 2

Logs que sirven, correlacion y metricas que se pueden mirar.

Operaciones 2

Riesgo de conocimiento unico y trabajo pesado en horario productivo.

Rendimiento 5

Latencia, N+1, coste de consulta y presion de memoria.

Resiliencia 6

Timeouts, reintentos, cuotas, idempotencia y colas muertas.

Categoria
Stack 20 casos
โšก
Caso 01 ยท Rendimiento

API lenta bajo carga

La aplicacion responde bien con pocos usuarios, pero degrada su latencia y estabilidad al aumentar la concurrencia.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ”„
Caso 02 ยท Rendimiento

N+1 queries y cuellos de botella en base de datos

La aplicacion ejecuta demasiadas consultas por solicitud o usa el acceso a datos de forma ineficiente, generando saturacion de base de datos.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ”ญ
Caso 03 ยท Observabilidad

Observabilidad deficiente y logs inutiles

Existen errores e incidentes, pero no hay trazabilidad suficiente para identificar causa raiz de forma rapida y confiable.

OPERATIVO๐Ÿ˜ PHP๐ŸŸข Node.js๐Ÿ Pythonโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
โฑ๏ธ
Caso 04 ยท Resiliencia

Cadena de timeouts y tormentas de reintentos

Una integracion lenta o inestable dispara reintentos, bloqueos y cascadas de fallas entre servicios.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿง 
Caso 05 ยท Rendimiento

Presion de memoria y fugas de recursos

El sistema consume memoria, descriptores o conexiones de forma progresiva hasta degradar o caerse.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿšš
Caso 06 ยท Entrega

Pipeline roto y entrega fragil

El software funciona en desarrollo, pero falla al desplegar, promover cambios o revertir incidentes con seguridad.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ—๏ธ
Caso 07 ยท Arquitectura

Modernizacion incremental de monolito

El sistema legacy sigue siendo critico, pero su evolucion se vuelve lenta, riesgosa y costosa.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿงฉ
Caso 08 ยท Arquitectura

Extraccion de modulo critico sin romper operacion

Se necesita desacoplar una parte clave del sistema, pero esa parte participa en flujos sensibles y no admite quiebres.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐ŸŒ
Caso 09 ยท Resiliencia

Integracion externa inestable

Una API, servicio o proveedor externo introduce latencia, errores intermitentes o reglas cambiantes que afectan el sistema propio.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ’ธ
Caso 10 ยท Arquitectura

Arquitectura cara para un problema simple

La solucion tecnica consume mas servicios, complejidad y costo del que el problema de negocio realmente necesita.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ“Š
Caso 11 ยท Operaciones

Reportes pesados que bloquean la operacion

Consultas y procesos de reporting compiten con la operacion transaccional y degradan el sistema completo.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ‘ค
Caso 12 ยท Operaciones

Punto unico de conocimiento y riesgo operacional

Una persona, modulo o procedimiento concentra tanto conocimiento que el sistema se vuelve fragil ante ausencias o rotacion.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐ŸŒง๏ธ
Caso 13 ยท Rendimiento

Cache stampede y thundering herd

Cuando la clave caliente expira, los N llamadores concurrentes recalculan el mismo valor y el origen recibe la rafaga entera.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿšฐ
Caso 14 ยท Rendimiento

Agotamiento del pool de conexiones

Un pool chico, sin timeout de adquisicion y con fugas en el camino de excepcion deja de dar conexiones para siempre.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐ŸŒŠ
Caso 15 ยท Resiliencia

Backpressure en colas de mensajes

Productores mas rapidos que consumidores: la cola sin limite crece hasta el OOM y la acotada obliga a elegir entre frenar, perder o mudar el problema.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ”
Caso 16 ยท Resiliencia

Idempotencia y efectos duplicados

Un reintento por timeout se convierte en un segundo cobro salvo que el servidor pueda distinguir 'es la primera vez que veo esto' de 'ya procese esto'.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿงฌ
Caso 17 ยท Entrega

Migracion de esquema sin downtime

Un ALTER TABLE sobre una tabla caliente bloquea la aplicacion entera; expand-contract reparte el mismo trabajo en lotes que nadie nota.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
โ„๏ธ
Caso 18 ยท Resiliencia

Arranque en frio y retraso del autoescalado

El autoescalador suma instancias y la tasa de error sube con cada una: el proceso esta vivo y el healthcheck en verde mucho antes de que la instancia pueda servir.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿ”Ž
Caso 19 ยท Observabilidad

Deriva del indice de busqueda y CDC roto

La busqueda responde 200 y lo que devuelve esta mal: el indice se desincroniza de a un documento por vez y nada dispara una alerta.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust
๐Ÿชฆ
Caso 20 ยท Resiliencia

La dead letter queue olvidada

El pipeline muestra throughput normal y cero errores mientras pierde el 14% de los mensajes: los errores se fueron a una cola que nadie mira.

OPERATIVO๐Ÿ˜ PHP๐Ÿ Python๐ŸŸข Node.jsโ˜• Java๐Ÿ”ต .NET๐Ÿน Go๐Ÿฆ€ Rust