La infraestructura que soporta experiencias que baten récords
Se alcanzan nuevas alturas cada semana en Roblox
La capacidad de Roblox para escalar y dar soporte a decenas de millones de usuarios que juegan juntos en millones de experiencias únicas no es el resultado de una sencilla innovación. Es la suma de una cultura más amplia de innovación y de mil pequeñas cosas bien hechas en toda la empresa. Así es como hemos construido la infraestructura que hace posible que muchas de las experiencias de Roblox estén rompiendo récords de tráfico. Una de esas experiencias, Hacer crecer un jardín, rompió recientemente el récord Guinness del videojuego con más jugadores simultáneso, con 21.6 millones de usuarios jugando al mismo tiempo. Y en el proceso, la plataforma Roblox ha seguido batiendo nuevos récords de concurrencia (como lo ha hecho durante casi dos décadas), superando recientemente los 30 millones de jugadores simultáneos.
Roblox se enfrenta a los retos únicos de construir y mantener una infraestructura para millones de experiencias creadas por los creadores, como Vestirse para impresionar, Adopt Me y Rieles Muertos, que requieren metodologías de ingeniería innovadoras. La plataforma soporta docenas de actualizaciones por hora y más de 30 millones de usuarios simultáneos con una infraestructura que se escala durante picos de tráfico inesperados. Esta infraestructura debe soportar situaciones en las que más de 21 millones de usuarios se unen a una sola experiencia simultáneamente (y el código de actualización proviene de creadores independientes). Los ingenieros de Roblox innovan soluciones desafiando la sabiduría tradicional, encontrando soluciones que se inspiran en nuestros cuatro valores fundamentales.
Infraestructura de Roblox
Los ingenieros de Roblox gestionan 24 centros de datos de vanguardia en todo el mundo, que ejecutan los servidores de juegos. Cuando un usuario se une a una experiencia, se le asigna el centro de datos más cercano y la instancia más adecuada dentro del centro para minimizar la latencia. También administramos dos centros de datos centrales, que son mucho más grandes y gestionan servicios centralizados como el sitio web, algoritmos de recomendación, filtros de seguridad, economía virtual y plataforma de publicación, que son necesarios para que los centros de datos periféricos funcionen. Una red privada global interconecta todos los centros de datos periféricos con los centros de datos principales, con los periféricos que sirven como cortafuegos para proteger los servicios que se ejecutan en los centros de datos principales.
Vista a largo plazo: Predicción proactiva de la capacidad
En un mundo ideal, nuestros creadores nunca deberían tener que pensar en la capacidad: la infraestructura debería ser invisible para ellos, trabajando entre bastidores. Cuando un creador publica una experiencia en Roblox, nuestro trabajo es apoyar con la capacidad necesaria, sin importar cuántos jugadores juegan. Al principio, planificábamos la capacidad una vez al año para el año o los dos años siguientes. Pero en los últimos años, experiencias de éxito como Vestirse para impresionar, Pescado, Rieles muertos y Hacer crecer un jardín nos han llevado a replantearnos nuestro marco de planificación de la capacidad.
En línea con nuestro valor de adoptar una visión a largo plazo, ahora predecimos las necesidades de capacidad con hasta dos años de antelación, equilibrando la demanda de los usuarios con la utilización eficiente de los servidores. Nuestro ciclo de planificación incluye adquisición de centro de datos; actualizaciones de hardware del servidor, y redes físicas, con nuevos centros de datos como el de Brasil que están siendo planificados años por venir. El equipo de redes también mantiene la capacidad "obscura" para asegurar un funcionamiento continuo a pesar de problemas como cortes en los cables de red.
La capacidad que Roblox tiene hoy en día se basa en predicciones hechas hace dos años, cuando no podíamos predecir que las experiencias pasarían de ser desconocidas a gozar de una enorme popularidad en cuestión de semanas. Juegos populares como Hacer crecer un jardín y Vestirse para impresionar, que han duplicado con creces el número de jugadores simultáneos de 13.9 millones en abril a 30.6 millones en junio de 2025, no existían cuando se hicieron estas predicciones de capacidad. Por ejemplo, en marzo de 2025, Rieles muertos llegó a 1 millón de usuarios simultáneos, usando toda la capacidad CPU disponible.
Evaluando este tipo de picos de popularidad, hemos pasado a un ciclo de planificación más ágil. Para soportar sistemáticamente un número récord de jugadores en Roblox, los ingenieros emplean un riguroso ciclo semanal de planificación, pruebas y ajustes de capacidad. El lunes se dedica a las revisiones de incidentes, seguido de la planificación de la capacidad el martes. A lo largo de la semana, hay continuas pruebas de caos. El jueves se centra en revisar la capacidad para cualquier gran actualización que nuestros creadores nos hayan dicho que esperemos. En el viernes, se proveen recursos adicionales en la nube para asegurar que la plataforma esté preparada para un uso pico de fin de semana. A lo largo de la semana, seguimos estrenando funciones totalmente nuevas, y no bloqueamos el despliegue continuo por parte de todos los ingenieros.
Respetar a la comunidad: Capacidad sin esfuerzo para los creadores
La ralentización es un concepto muy aceptado en informática. Pero esta es la herramienta más mal utilizada e incomprendida de la informática. Cuando los nuevos ingenieros se unen a Roblox, sus primeras soluciones suelen ser: "Si solo pudiéramos decir a nuestros creadores que ajusten esta configuración o ralenticen sus eventos". Los ingenieros veteranos de Roblox explican entonces con delicadeza nuestro valor de respetar a la comunidad y que no decimos a nuestros creadores lo que tienen que hacer.
Por ejemplo, la mayoría de los sistemas de juego tienen una solución simple para el emparejamiento cuando millones de jugadores hacen clic en Unirse simultáneamente. Ralentizan las uniones, hacen esperar a los jugadores o los envían a servidores aleatorios saltándose el algoritmo de emparejamiento. En Roblox, hacemos lo contrario. ¡Rediseñamos todo nuestro sistema de emparejamiento! En su punto álgido, este sistema evalúa hasta 4,000 millones de posibles combinaciones de unión por segundo. Hace años, fijamos el objetivo de 10 millones de personas se unen en 10 segundos, y seguimos iterando hacia esa meta.
Para evitar la ralentización debida a la capacidad, estamos experimentando con el cloud bursting como parte de nuestra transición a una infraestructura celular, que permite un escalado dinámico y eficiente desde el punto de vista informático. Esta arquitectura maneja la demanda máxima al emparejar los usuarios a las células del centro de datos periférico local y de la nube. Estamos trabajando en la creación y el desmantelamiento totalmente automatizados de centros de datos periféricos basados en la nube que estén totalmente abstraídos para el algoritmo de emparejamiento.
Otro ejemplo es nuestro sistema de filtrado de texto, que en su punto máximo maneja 250,000 peticiones por segundo. Ese es un gran modelo de inferencia que ejecuta 250,000 tokens con ventanas de contexto en constante expansión. Y con más de 300 flujos de inferencia de inteligencia artificial funcionando en producción, los propietarios de servicios Roblox invierten mucho tiempo en encontrar la combinación ideal de perfiles de inferencia entre GPU y CPU. Los ingenieros de Roblox respetan la comunidad dando prioridad a la libertad de los creadores y a la seguridad del usuario.
Obtener resultados: Sistema de estrés para la resiliencia
Con nuestra planificación, construimos la capacidad y los algoritmos para soportar las actualizaciones más emocionantes de los creadores. Pero tenemos que estar seguros de que estos sistemas pueden mantenerse por debajo incluso de los mayores picos o interrupciones de servicio únicos. La información obtenida de los picos de uso de más de 1,600 microservicios ayuda a identificar los servicios que deben someterse a más pruebas de estrés.
Fiel a nuestro valor de obtener resultados, cada día tomamos algunos de estos servicios y limitamos su capacidad en la producción. Observamos los atributos y los arreglamos antes del fin de semana. Llamamos a esto "prueba de capacidad real los martes". Nuestro equipo de fiabilidad también ejecuta la corrección continua de la capacidad (C3). Cada equipo de ingeniería utiliza un panel C3 para predecir y administrar sus servicios de capacidad de CPU. Esto permite a los propietarios de servicios aprender continuamente del último pico para aumentar o disminuir la capacidad para el próximo pico. También hemos puesto en marcha un sistema que rastrea patrones de llamada en el motor central de Roblox para nuevos estrenos. Esto ayuda a garantizar que estamos mejor preparados durante una actualización.
Incluso con toda esta preparación, ocasionalmente nos encontramos con escenarios donde la naturaleza impredecible de los patrones de tráfico puede causar que un único servicio o flujo de producto haga caer la plataforma. Por ejemplo, el canal de análisis de 2 billones de eventos podría ver un 30% más de tráfico debido a una actualización popular. Aquí es donde entran en acción nuestros mecanismos de resiliencia, como el control de concurrencia adaptativo (ACC), el disyuntor y los reintentos de desprendimiento, para proteger la plataforma. Este año también diseñamos una plataforma de pruebas del caos para reforzar la resistencia y escalabilidad de nuestra infraestructura inyectando fallos aleatorios, agotando recursos y terminando procesos aleatoriamente en producción.
Responsabilidad: Todos ponemos manos a la obra
Pasamos toda la semana probando y preparándonos para estas grandes actualizaciones de fin de semana. Pero cuando llegue el fin de semana, todavía nos queda trabajo por hacer. Antes de las actualizaciones del fin de semana, los ingenieros de Roblox colaboran para supervisar los próximos cambios y predecir la capacidad restante, aprovisionando recursos adicionales en la nube según sea necesario para dar cabida a millones de jugadores adicionales a través de centros de datos virtuales periféricos.
El viernes, decidimos si necesitamos añadir capacidad adicional con recursos en la nube. Este proceso da una dirección clara a nuestro equipo híbrido de nube para aumentar la capacidad adicional suficiente para acomodar a millones de jugadores adicionales. En cualquier momento, nuestros 24 centros de datos periféricos están funcionando, pero después de todas las pruebas, podríamos decidir que necesitamos centros de datos adicionales. Ahí no hay forma de montar y apilar servidores en 12 horas, así que trabajamos con nuestros socios de la nube para construir múltiples centros de datos periféricos virtuales. Los probamos el viernes, y luego estamos listos para el fin de semana.
En el verdadero espíritu de asumir responsabilidades, todos, incluidos nuestros ejecutivos de más alto nivel, llevan a cabo turnos de guardia, incluso los fines de semana. El aumento de millones de usuarios el sábado a menudo puede desencadenar cientos de alertas. Los equipos resuelven estas alertas de forma preventiva, lo que nos permite controlar los retos durante una gran actualización o un máximo histórico de toda la plataforma.
Como se suele atribuir a Leonardo da Vinci, "Aprender nunca agota la mente". Cada cima nos ha inspirado para aprender e inventar nuevas técnicas para hacer nuestra infraestructura más fiable e invisible. Nuestros creadores publican o actualizan, y a través de la magia de la infraestructura invisible, decenas de millones de usuarios comienzan a disfrutar de una experiencia totalmente nueva casi inmediatamente. Estamos eternamente agradecidos a nuestros creadores y usuarios por desafiarnos a empujar los límites de las Ciencias de la Computación.