Cuando te das cuenta que eres parte de un récord histórico

Por Alejandro Yung

tecnología 2 MIN DE LECTURA

30 junio 2020

100 mil personas simultáneamente utilizaron la plataforma que desarrollamos para pedir el Ingreso Familiar de Emergencia y marcamos nuestro guinness.

¿Te ha pasado que quieres comprar online y la página se cae? ¿Eres de ésos que batalla en cada CyberMonday? Pues bien, nosotros hemos estado ahí. Lo vivimos, lo sufrimos y hoy quisimos contarlo...difícil es olvidar lo que nos pasó al atender a más de 100 mil usuarios simultáneamente. ¡Ah, y se me olvidaba! Fue de manera remota desde Chile.

¿Te acuerdas de haber leído en las noticias sobre el Ingreso Familiar de Emergencia?  ¿Viste que las personas debían postular por internet? Bueno... con orgullo te contamos que los que estuvimos detrás de ese proceso fuimos nosotros.

El desafío

Era un 20 de mayo, todavía no aparecía nada en la TV, pero ya miles de personas estaban en el sitio web del Ingreso Familiar de Emergencia (IFE). El encargo por parte del Subsecretario de Servicios Sociales, Sebastián Villarreal, fue claro: esta plataforma tendría más visitas en su lanzamiento que cualquier otra en la historia del Estado de Chile. No podía haber ningún tipo de problemas, porque se estaba ayudando a cientos de miles de familias en plena pandemia. No se podía escatimar esfuerzos en ello. 

Este sí que era desafío. El escalamiento de servidores no es automático, toma cerca de 3 minutos que se levanten y estén listos para recibir nuevos usuarios, y cerca de 15 si es necesario hacer algún cambio. Esto sucede cuando alguno de los parámetros establecidos (%CPU , %RAM u otro) alcanzas ciertos límites que indican que, si no se levanta un nuevo servidor, éste colapsará arruinando la experiencia de nuestros usuarios. En palabras simples, se cae la página...lo típico que ocurre durante los CyberMondays. 

El Día-D

Mientras en nuestras casas veíamos como los canales de televisión transmitían en vivo el lanzamiento por parte del gobierno, ya habían 36 mil personas conectadas de forma simultánea y nosotros lo único que hacíamos era preguntarle, preguntarle y preguntarle a nuestro Jhon Fuenzalida - Socio y Gerente de Células Ágiles de Keirón- qué iba a pasar si es que la velocidad de entrada de los usuarios era mayor - osea ocurría de manera más acelerada- que el tiempo que se demorarían los servidores en ser levantados. Recuerdo en ese momento haber mirado la pantalla...ya superamos las 50 mil visitas simultáneas...Sin duda esta plataforma rompería el récord de concurrencia.

Google Analitycs mostraba escaleras, no habíamos tenido tiempo para que Jhon nos contara cómo había resuelto la aceleración de entrada y así realizar los despliegues de los servidores sin presentar inconvenientes. Ya superamos las 62 mil personas. Solo para que tengan una idea, cuando la página de LATAM Airlines alcanza 60 mil clientes al mismo tiempo, todo el servicio colapsa. ¡Chan! Pero, nosotros seguíamos ahí...funcionando.

record

Cuando le pregunto sobre estas escaleras -que significaba que se había escalado a un siguiente servidor para tener a más personas conectadas al mismo tiempo- me cuenta dónde estaba el secreto: ¡Se le sumaba al escalamiento otro elemento esencial, un encolamiento!

¿Encolamiento?

Cuando la cantidad de personas conectadas simultáneamente superaba cierto número, se les derivaba, literalmente, en una fila virtual. De esta manera los usuarios entraban a una interfaz donde se les entregaba una posición y tiempo estimado de espera mientras se realizaba de forma correcta el escalamiento. Luego de eso se les permitía entrar.  

¿El récord?

Con esta fórmula logramos atender a un peak de 105 mil personas navegando y postulando al subsidio al mismo tiempo. Éramos testigos del récord histórico en una plataforma del Estado. Sin reportar problemas y con una excelente experiencia. El diseño de infraestructura era el correcto. 

¿La solución?

diseño infra (1)

Nuestra solución fue el diseño para resistir aquel peak. Primero, llegaban los usuarios y entraban por un global accelerator, algo así como un CDN pero de IPs, con lo cual entraban luego al balanceador de carga, para finalmente caer en un servidor que, mediante una librería de JS, determinaba si el usuario entraba al sitio final o si debía irse al sistema de encolamiento para luego volver a entrar. Al momento de llegar nuevamente a servidor, era admitido. 

Suena sencillo; créanme, no lo fue. Se realizaron muchos test de carga, y simulaciones de escenarios para asegurarnos que el resultado que obtuvimos haya sido de éste...y este fue nuestro récord guinness y no podíamos no compartirlo con ustedes.

 

Alejandro Yung 

CTO y Socio Keirón