Lo que no controlamos · Episodio 1 de 6

El antifraude lento que lo tumba todo

Un martes a las ocho de la tarde, el antifraude comprado empieza a tardar ocho segundos en cada evaluación. Nadie lo ha apagado, y sin embargo Laura ya no puede enviar un Bizum ni mirar su saldo. Fraude no está caído: está lento, y es peor.

Concepto: fallos en cascada y timeouts~10 min

El punto de partida

El dinero no se duplica terminó con una pregunta que no se puede resolver dentro del banco: qué pasa cuando quien falla es otro sistema. New Capital Bank depende de piezas que no controla. El core bancario y el antifraude los compra; la red de tarjetas, Bizum y los otros bancos son de terceros o de la matriz. Todos pueden tardar, fallar o responder dos veces.

Lo que sí controla el banco es cómo se comporta cuando eso pasa. Y lo primero que enseña la experiencia es que un fallo no se queda donde nace: viaja por las llamadas y arrastra a quien las hace.

Un martes a las ocho

Operaciones atiende los envíos de Bizum y las transferencias. Cada una llama a Fraude, que consulta al antifraude comprado. Operaciones tiene diez plazas de atención: mientras una llamada está en curso, su plaza está ocupada, y si no hay plazas libres, la petición espera en cola. Llegan ocho peticiones por segundo.

En la simulación, cada cuadrado es una plaza. Arranca el reloj y pon el antifraude «lento». A la izquierda, Operaciones espera a Fraude lo que haga falta. A la derecha, corta la llamada pasado un tiempo máximo que eliges tú. Luego prueba con el antifraude «caído».

Qué ha pasado

Y fallar rápido tiene un coste: Laura recibe un error. No es una decisión técnica sino de negocio: cuánto tiempo se espera antes de rendirse, y qué se le dice al cliente cuando se acaba.

Un tiempo máximo por salto, o un presupuesto

Hay un segundo problema, más sutil. Un pago con tarjeta cruza cuatro piezas: la red de tarjetas, Tarjetas, Fraude y el antifraude. La red se rinde a los tres segundos. Si cada pieza espera a la siguiente con su propio tiempo máximo (el que traía la librería, cinco segundos), puede que el antifraude vaya lento y, cuando la red ya se ha ido, Tarjetas y Fraude sigan trabajando para nadie.

La alternativa es un presupuesto de tiempo que viaja con la petición: quien pide dice cuánto tiempo hay y cada pieza pasa a la siguiente lo que queda, descontando lo que le toca para responder. Lanza el pago con tarjeta con el antifraude muy lento y compara los dos paneles.

Lo que tarda ocho segundos y es normal

Laura quiere enviar 800 € a una amiga en Tokio. Las transferencias internacionales salen por un banco corresponsal que New Capital Bank no controla, y que acusa recibo en hasta diez segundos. Con el tiempo máximo de cinco segundos que valía para las tarjetas, se rechaza una transferencia que iba perfectamente: el corresponsal habría acusado recibo a los ocho segundos.

Cambia a «transferencia internacional» y lanza con el corresponsal normal. Ahí está la segunda lección del presupuesto: no es una propiedad del servicio al que se llama, sino de lo que se pide. Un pago con tarjeta tiene tres segundos porque hay alguien en un comercio esperando; una transferencia internacional tiene treinta porque Laura ya ha cerrado la app.

Para llevarse

Aquí el fallo se propagó porque todo compartía las mismas plazas. El siguiente episodio es sobre cómo impedirlo desde el diseño: que lo lento no tenga acceso a lo que es de otro.