Explica cómo convertir cualidades abstractas en escenarios medibles y relacionarlas con tácticas de rendimiento, resiliencia, seguridad, cambio y testabilidad.
Última actualización
Actualizada
Nivel
Fundamentos
Un atributo de calidad solo puede orientar una arquitectura cuando se convierte en un escenario observable. Las tácticas son los mecanismos concretos que modifican la respuesta del sistema ante ese escenario.
Decir que un sistema debe ser rápido, seguro o modificable no es suficiente. Esas palabras expresan intención, pero no permiten comparar alternativas ni comprobar resultados.
Un escenario de calidad transforma una cualidad abstracta en una situación concreta:
Texto
fuente del estímulo
→ estímulo
→ entorno
→ artefacto afectado
→ respuesta del sistema
→ medida de la respuesta
Una táctica es una decisión de diseño que influye directamente en esa respuesta. Un patrón puede combinar varias tácticas; una tecnología puede implementarlas; ninguna de las dos reemplaza la necesidad de definir primero el escenario.
Fuente:
clientes de una tienda.
Estímulo:
consultan el catálogo.
Entorno:
hora pico con caché parcialmente fría.
Artefacto:
API de catálogo y persistencia asociada.
Respuesta:
entrega productos autorizados para el tenant y sucursal.
Medida:
p95 menor a 300 ms con 500 solicitudes por segundo,
menos de 1 % de errores y CPU sostenida inferior a 70 %.
Este escenario obliga a discutir carga, percentiles, autorización y saturación. Ya no basta con decir “agreguemos Redis”.
Fuente:
equipo de producto.
Estímulo:
agregar un nuevo método de pago.
Entorno:
sistema en producción con consumidores existentes.
Artefacto:
flujo de checkout y contratos de pagos.
Respuesta:
incorporar el proveedor sin cambiar reglas de pedidos ni clientes existentes.
Medida:
cambio implementado y desplegado en menos de tres días,
sin modificar más de un módulo de negocio
y con rollback independiente.
Aquí la medida no es rendimiento, sino alcance, tiempo y riesgo del cambio.
Durante operación normal,
el proveedor de pagos tarda más de cinco segundos,
el checkout debe finalizar con estado pendiente en menos de dos segundos,
sin cobrar dos veces y permitiendo reconciliación posterior.
Tácticas posibles:
Timeout menor al presupuesto total.
Idempotency key por intento de pago.
Estado pending persistido.
Procesamiento asíncrono o webhook.
Reconciliación periódica con el proveedor.
Circuit breaker si la degradación continúa.
Métricas y alertas de pagos pendientes.
Flujo:
Texto
cliente confirma
→ sistema registra intento e idempotency key
→ proveedor no responde a tiempo
→ pedido queda pendiente
→ webhook o reconciliación obtiene resultado
→ estado converge sin repetir el cobro
La táctica no elimina la incertidumbre. La transforma en un estado explícito y operable.
Decisiones arquitectónicas y ADR muestra cómo conservar el contexto, las alternativas y las consecuencias de las decisiones que surgen de estos escenarios.