Una actualización con respecto a nuestros servidores
Estimada comunidad de Chess.com:
El 23 de enero publicamos un artículo respecto a cuánto y cuán rápido ha crecido el ajedrez, así como también el desafío que esto representa para nuestra compañía, especialmente para nuestro "servidor en vivo", que es en donde se juegan las partidas. Desde entonces, la línea de crecimiento ha ido en aumento.
El viernes 3 de febrero tuvimos un récord de 403.000 nuevos usuarios registrados en Chess.com. Eso es alucinante y emocionante. Pero también es complicado. Queremos celebrar por completo este auge del ajedrez. Pero siendo honestos, hemos sufrido más de lo que hemos disfrutado, ya que nuestros servidores han tenido problemas para lidiar con el tráfico durante las horas pico. Lamentamos enormemente los problemas que muchos de ustedes han experimentado durante las últimas semanas.
Afortunadamente, creemos que estamos viendo la luz al final de este túnel. Y por lo tanto, queremos brindar una nueva actualización sobre lo que hemos hecho y conseguido en las últimas dos semanas. Dicho eso, todavía no llegamos al nivel de estabilidad al que aspiramos. Continúa siendo un trabajo en progreso.
¿Qué ha sucedido?
- El tráfico en Chess.com se ha más que duplicado en los últimos varios meses. Solo en el mes de enero, el tráfico pasó de 7 millones de usuarios diarios a más de 11 millones de usuarios diarios.
- Esto se debe a varias razones. Entre ellas, el encontrarse muy bien posicionados (incluso Nº1) en la tienda de aplicaciones, contar con muchos eventos maravillosos, tener una increíble comunidad ajedrecística que comparte su entusiasmo en las redes sociales, excepcionales creadores de contenido de ajedrez, y Mittens.
- Este tráfico ha hecho que nuestros servidores y nuestra infraestructura sufrieran problemas significativos. Dos de los principales problemas han sido errores 502, que ocurren cuando nuestra base de datos está sobrecargada, y desconexiones del servidor en vivo, que sucede cuando nuestro servidor está sobrecargado.
¿Qué hemos estado haciendo?
No es una tarea sencilla abordar semejante aumento en el tráfico. No se resuelve identificando un problema y solucionándolo. Hay muchos componentes de hardware y de la infraestructura en la nube que tienen que mejorarse, así como también deben realizarse varias optimizaciones. A continuación, algunas de las cosas que hemos hecho en las últimas dos semanas.
- Gastamos alrededor de dos millones de dólares en hardware (servidores web, servidores de bases de datos, nuevo servidor de ajedrez en vivo, balanceadores de carga, y máquinas de servicios adicionales). El principal hardware ya ha sido instalado, pero continuaremos con la instalación durante la semana próxima. Aunque dos millones parece mucho dinero, sería mucho más si Chess.com estuviera en su totalidad en la nube.
- Hemos estado fragmentando y desvinculando nuestra infraestructura de base de datos lo más rápido posible. Hubo mucho progreso en este ámbito, ya que se han dividido muchas tablas de MySQL y nuestro código se ha refactorizado para apuntar hacia esas nuevas tablas.
- Hemos identificado y resuelto muchos problemas de software que no eran aparentes anteriormente.
- Descubrimos que uno de nuestros enlaces entre nuestro centro de datos y uno de nuestros proveedores de la nube (¡utilizamos la nube en casos apropiados!) había alcanzado su capacidad máxima y parecía estar teniendo problemas cuando experimentábamos picos de tráfico.
- Aplicamos un límite a la cantidad de usuarios no-premium que pueden acceder a nuestro servidor en vivo durante las horas pico. Hemos estado reduciendo este límite a medida que mejoran las métricas, y esperamos muy pronto poder eliminarlo por completo.
- A lo largo de este proceso, todos y cada uno de los ingenieros de Chess.com que pueden contribuir, están trabajando en ello.
¿Qué hemos conseguido?
Esta no es una actualización de "Misión Cumplida". Seguimos trabajando para llegar al nivel de rendimiento al que aspiramos. Dicho eso, hemos realizado mejoras que son tangibles y que queremos compartir.
- Hemos reducido nuestros errores 502 “sobrecarga de la base de datos” en más del 90%.
- También hemos reducido la frecuencia de desconexiones del Servidor en vivo en más de un 90%, y facilitamos una reconexión más sencilla en caso de desconexión.
¿Qué nos queda por hacer?
En los próximos meses, continuaremos haciendo mejoras en nuestros servidores, tanto grandes como pequeñas. Esperamos que esto siga teniendo un impacto positivo para nuestros miembros. Estos son algunos de los cambios que podemos compartir con la comunidad:
- Estamos instalando todo el hardware que aún no se ha entregado para continuar expandiendo la capacidad.
- Todo nuestro equipo de ingeniería sigue estando completamente enfocado en la resolución de todo el resto de los problemas, incluyendo el trabajo adicional de la base de datos, la optimización de consultas, la separación de piezas de la aplicación monolítica, y la transición a más servicios.
- Trabajaremos con nuestro centro de datos y proveedor de la nube para abordar sus limitaciones.
- Estamos en el proceso de reescribir nuestro Servidor en Vivo, para que podamos pasar de un solo servidor a un servicio distribuido que pueda aumentar horizontalmente a lo largo de numerosos servidores. Actualmente ejecutamos solo una pequeña cantidad de partidas en este servicio (partidas de usuarios invitados y la mayoría de las partidas no válidas para el rating) mientras probamos, ajustamos, y desarrollamos las funciones. Sin embargo, esta semana también empezaremos a probar en este servicio partidas válidas para el rating. Esperamos muy pronto poder alojar la mayoría de las partidas de Chess.com desde un servicio distribuido y expansible, en lugar de un mega servidor.
¿Qué estamos haciendo para mejorar esto?
Sabemos que muchos de ustedes, incluidos los usuarios premium, han perdido partidas debido a una desconexión, o no han podido acceder a un servicio por el que están pagando. Queremos hacer lo que corresponde.
- Esta semana estaremos implementando una devolución automática del rating por las partidas que se hayan perdido debido a la inestabilidad del servidor. Este será un plan de alivio a corto plazo para aquellos que han sido afectados, mientras abordamos los problemas de fondo.
- Haremos que Puzzle Battles sea gratuito para todos los usuarios durante lo que queda del mes de febrero.
- Para nuestros usuarios premium, este mes añadiremos cursos premium de GM Magnus Carlsen, GM Peter Svidler, GM Hou Yifan, y mucho más de la biblioteca de contenido de Chess24 a la biblioteca de lecciones de Chess.com.
En palabras de nuestro CEO Erik (espera, ese soy yo… yo escribí este artículo…), “Todos los días siento tres cosas de forma increíblemente profunda: 1. Desconsolado cada vez que veo la frustración que sienten nuestros usuarios cuando el servicio es inestable, 2. Orgulloso de nuestro equipo por todo lo que han hecho en este corto período de tiempo dada la imprevisibilidad, y 3. Con esperanza y confianza de que estaremos mucho mejor, muy pronto.”