commit&push

~/blog $ git show 2026-08-27

Find the Path With a Person Waiting on It

· 3 min read · Victor Benavides

--architecture--ops

El viernes de una feria de nueve días, a las 17:33, el servicio de identidad se cayó en pleno evento. Nadie podía iniciar sesión.

Todas las puertas siguieron leyendo credenciales.

EL CAMINO CON UNA PERSONA ESPERANDOcredenciallectortoken ya en manoservicio de lecturaregistro de ingresoninguna flecha cruza esta líneaTODO LO DEMÁSinicio de sesiónservicio de identidadcaído 17:33
Viernes, 17:33: el servicio de identidad desapareció por minutos y nadie podía iniciar sesión. Todas las puertas siguieron leyendo credenciales — porque nada de lo que está arriba de la línea necesita algo de lo que está abajo. El diseño es la ausencia de flechas, no su presencia.

Esa contención fue diseño — aunque repito lo que ya dije cuando conté el evento: el momento también fue afortunado. Lo que el diseño hizo bien es algo estrecho y vale la pena decirlo aparte, porque se generaliza mucho más allá del control de acceso.

Una lectura de credencial no pregunta "¿quién es este lector?". El lector ya tiene en la mano un token firmado que recibió al empezar el turno. El camino de lectura lee una credencial, verifica una firma, escribe una fila. Nunca llama a la cosa que reparte los tokens, así que cuando esa cosa desapareció, el camino de lectura ni se enteró.

Ese es todo el truco, y la figura de arriba lo muestra como una ausencia: ninguna flecha cruza la línea.

La pregunta que vale la pena hacerse

Todo sistema tiene un camino donde hay un ser humano parado ahí, esperando. No una pestaña del navegador a la que alguien va a volver más tarde: una persona, en una fila, con cuerpo, consciente de cuánto está tardando esto.

Encuentra ese camino. Después recorre todo lo que toca y pregúntale a cada cosa: ¿esto es requerido, o solamente cómodo?

Las dos se sienten idénticas mientras todo está arriba. Son completamente distintas a las 17:33 de un viernes. Las dependencias cómodas son las que nunca vas a notar hasta el día en que son la razón por la que una fila deja de avanzar — y se agregan sin pensarlo, porque sumar una llamada a un servicio que siempre está disponible no cuesta nada medible en el momento.

Es la misma forma en todas partes una vez que la buscas. El checkout no necesita el motor de recomendaciones. Escanear un pase de abordar no necesita la consulta al programa de viajero frecuente. Abrir una puerta no necesita la base de datos de reportes. En cada caso alguien puso esa dependencia por una buena razón, y en cada caso alargó calladamente la lista de cosas que pueden impedir que una persona pase.

Qué hacer con esto

No necesitas una rearquitectura. Necesitas una lista.

Anota qué tiene que ser cierto para que ese único camino funcione: cada servicio, cada salto de red, cada credencial. Suele ser más corta de lo que la gente espera, y como un tercio resulta ser comodidad disfrazada de requisito.

Después saca eso del camino. Cachea el token. Lee la copia desactualizada. Escribe el evento y reconcilia después. Acepta una respuesta degradada en lugar de esperar una perfecta. Cada una de esas es una concesión pequeña, y cada una te compra una falla que la persona parada en la fila nunca llega a experimentar.

Nadie en esa feria supo que el servicio de identidad estaba caído. Ese es el objetivo: no que nada se rompa, sino que lo que se rompe no esté delante de nadie.

$ grep -rl --tag ~/blog