L'infrastruttura che supporta esperienze da record
Ogni fine settimana su Roblox: verso nuove vette

La capacità di Roblox di scalare e supportare decine di milioni di utenti che giocano insieme attraverso milioni di esperienze uniche non è il risultato di una singola innovazione. È la somma di una cultura dell'innovazione più ampia e di mille piccole cose fatte bene in tutta l'azienda. È così che abbiamo costruito l'infrastruttura che attualmente supporta un traffico da record verso molte delle esperienze su Roblox. Una di queste esperienze, Grow a Garden, ha recentemente battuto il Guinness World Records® per il videogioco con il maggior numero di giocatori simultanei, con 21,6 milioni di utenti che giocavano contemporaneamente. E nel frattempo, la piattaforma Roblox ha continuato a raggiungere nuovi record di picco di simultaneità (come ha fatto per quasi due decenni), superando di recente i 30 milioni di giocatori simultanei.
Roblox deve affrontare sfide uniche nella creazione e nella manutenzione dell'infrastruttura per milioni di esperienze create dagli utenti, tra cui Dress to Impress, Adopt Me e Dead Rails, che richiedono metodologie ingegneristiche innovative. La piattaforma supporta decine di aggiornamenti ogni ora e più di 30 milioni di utenti simultanei con un'infrastruttura in grado di scalare durante picchi di traffico imprevisti. Questa infrastruttura deve supportare situazioni di "thundering herd" in cui più di 21 milioni di utenti si uniscono contemporaneamente a una singola esperienza (e il codice di aggiornamento proviene da creatori indipendenti). Gli ingegneri di Roblox innovano le soluzioni sfidando la saggezza tradizionale: soluzioni ispirate ai nostri quattro valori fondamentali.
Infrastruttura di Roblox

Una visione a lungo termine: previsione proattiva della capacità
In un mondo ideale, i nostri creatori non dovrebbero mai pensare alla capacità: l'infrastruttura dovrebbe essere invisibile per loro, operando dietro le quinte. Quando un creatore pubblica un'esperienza su Roblox, il nostro compito è garantire la capacità necessaria, indipendentemente dal numero di giocatori che vi partecipano. All'inizio, pianificavamo la capacità una volta all'anno per l'anno o i due anni a venire. Ma negli ultimi anni, esperienze di successo come Dress to Impress, Fisch, Dead Rails e Grow a Garden ci hanno portato a ripensare il nostro quadro di riferimento per la pianificazione della capacità.
In linea con il nostro valore di adottare una visione a lungo termine, ora prevediamo le esigenze di capacità con fino a due anni di anticipo, bilanciando la domanda degli utenti con un utilizzo efficiente dei server. Il nostro ciclo di pianificazione comprende l’acquisizione di data center, l’aggiornamento dell’hardware dei server e la rete fisica, con nuovi data center come quello in Brasile pianificati con anni di anticipo. Il team di rete mantiene anche una capacità “inattiva” per garantire il funzionamento continuo nonostante problemi come i tagli dei cavi di rete.

La capacità attuale di Roblox si basa su previsioni fatte due anni fa, quando non potevamo prevedere che alcune esperienze sarebbero passate dall'anonimato a un'enorme popolarità nel giro di poche settimane. Giochi popolari come Dress to Impress e Grow a Garden, che hanno contribuito a raddoppiare il numero massimo di giocatori simultanei di Roblox da 13,9 milioni ad aprile a 30,6 milioni a giugno 2025, non esistevano quando sono state formulate queste previsioni di capacità. Ad esempio, nel marzo 2025, Dead Rails ha raggiunto il picco di 1 milione di utenti simultanei, utilizzando tutta la capacità della CPU disponibile.
Imparando da questi picchi di popolarità, siamo passati a un ciclo di pianificazione più agile. Per supportare costantemente il numero record di giocatori su Roblox, il reparto di ingegneria adotta un rigoroso ciclo settimanale di pianificazione, test e adeguamenti della capacità. Il lunedì è dedicato alla revisione degli incidenti, seguito dalla pianificazione della capacità il martedì. Durante tutta la settimana vengono effettuati test di carico continui. Il giovedì ci si concentra sulla revisione della capacità in vista di eventuali aggiornamenti di grandi dimensioni che i nostri creatori ci hanno segnalato. Il venerdì vengono fornite risorse cloud aggiuntive per garantire che la piattaforma sia pronta per i picchi di utilizzo del fine settimana. Durante tutta la settimana continuiamo a rilasciare funzionalità completamente nuove e non blocchiamo l'implementazione continua da parte di tutti gli ingegneri.
Rispetta la community: capacità senza sforzo per i creatori
Il throttling è un concetto molto diffuso nell'informatica. Tuttavia, si tratta della leva più abusata e fraintesa dell'informatica. Quando i nuovi ingegneri entrano a far parte di Roblox, le loro prime soluzioni spesso includono: "Se solo potessimo dire ai nostri creatori di modificare questa configurazione o rallentare i loro eventi...". Gli ingegneri veterani di Roblox spiegano loro con delicatezza il nostro valore di rispetto della comunità e che non diciamo ai nostri creatori cosa fare.
Ad esempio, la maggior parte dei sistemi di gioco ha una soluzione semplice per il matchmaking quando milioni di giocatori cliccano su "gioca" contemporaneamente. Limitano le connessioni, fanno aspettare i giocatori o li inviano a server casuali saltando l'algoritmo di matchmaking. Noi di Roblox facciamo l'opposto. Abbiamo riprogettato i nostri interi sistemi di matchmaking per gestire orde di giocatori. Nei momenti di picco, questo sistema valuta fino a 4 miliardi di possibili combinazioni di connessione al secondo. Anni fa, ci siamo prefissati l'obiettivo di 10 milioni di connessioni in 10 secondi e continuiamo a lavorare per raggiungerlo.
Per evitare limitazioni dovute alla capacità, stiamo sperimentando il cloud bursting come parte della nostra transizione verso un'infrastruttura cellulare, consentendo uno scaling dinamico ed efficiente in termini di calcolo. Questa architettura gestisce i picchi di domanda abbinando gli utenti sia alle celle dei data center on-premise che a quelle dei data center edge nel cloud. Stiamo lavorando per ottenere un avvio e uno smantellamento completamente automatizzati dei data center edge basati su cloud, che sono completamente astratti per l'algoritmo di abbinamento.
Un altro esempio è il nostro sistema di filtraggio del testo, che nei momenti di picco gestisce 250.000 richieste al secondo. Si tratta di un'inferenza su un modello di grandi dimensioni che elabora 250.000 token con finestre di contesto in costante espansione. E con oltre 300 pipeline di inferenza AI in esecuzione in produzione, i responsabili dei servizi di Roblox investono molto tempo nella ricerca del mix ideale di profili di inferenza tra GPU e CPU. Anche in condizioni di carico di picco, gli ingegneri di Roblox rispettano la comunità dando priorità alla libertà dei creatori e alla sicurezza degli utenti.
Portare a termine il lavoro: stressare il sistema per verificarne la resilienza
Grazie alla nostra pianificazione, sviluppiamo la capacità e gli algoritmi necessari per supportare gli aggiornamenti più interessanti dei creatori. Ma dobbiamo essere sicuri che questi sistemi possano reggere anche i picchi più elevati o le interruzioni di singoli servizi. Le informazioni raccolte dai picchi di utilizzo su oltre 1.600 microservizi aiutano a identificare i servizi da sottoporre a ulteriori stress test.
Fedeli al nostro valore di "portare a termine il lavoro", ogni giorno prendiamo alcuni di questi servizi e ne limitiamo la capacità in produzione. Osserviamo gli attributi, quindi li correggiamo prima del fine settimana. Chiamiamo questo processo "martedì di test della capacità effettiva" (TACO). Il nostro team di affidabilità esegue anche il Continuous Capacity Correctness (C3). Ogni team di ingegneri utilizza una dashboard C3 per prevedere e gestire la capacità della CPU dei propri servizi. Ciò consente ai responsabili dei servizi di imparare continuamente dall'ultimo picco per aumentare o diminuire la capacità in vista del picco successivo. Abbiamo anche lanciato un sistema che traccia i modelli di chiamata nel motore centrale di Roblox per le nuove versioni. Questo aiuta a garantire che siamo meglio preparati durante un aggiornamento.
Nonostante tutta questa preparazione, ci capita ancora occasionalmente di trovarci in scenari in cui la natura imprevedibile dei modelli di traffico potrebbe causare il blocco della piattaforma a causa di un singolo servizio o flusso di prodotti. Ad esempio, la pipeline di analisi degli eventi da 2 trilioni potrebbe registrare un aumento del traffico del 30% a causa di un aggiornamento molto popolare. È qui che entrano in gioco i nostri meccanismi di resilienza, come il controllo adattivo della concorrenza (ACC), il circuit breaker e lo shedding retries, per proteggere la piattaforma. Quest'anno abbiamo anche realizzato una piattaforma di chaos testing per rafforzare la resilienza e la scalabilità della nostra infrastruttura, iniettando in modo casuale errori, esaurendo le risorse e terminando in modo casuale i processi in produzione.
Assumersi le proprie responsabilità: tutti all'opera
Passiamo tutta la settimana a testare e prepararci per questi grandi aggiornamenti del fine settimana. Ma quando arriva il fine settimana, abbiamo ancora del lavoro da fare. Prima degli aggiornamenti del fine settimana, gli ingegneri di Roblox collaborano per monitorare le modifiche imminenti e prevedere la capacità rimanente, fornendo risorse cloud aggiuntive secondo necessità per accogliere milioni di giocatori in più tramite data center virtuali edge.
Il venerdì decidiamo se è necessario aggiungere capacità extra con risorse cloud. Questo processo fornisce una chiara indicazione al nostro team di cloud ibrido per predisporre una capacità extra sufficiente ad accogliere milioni di giocatori aggiuntivi. I nostri 24 data center edge fisici sono sempre in funzione, ma dopo tutti i test potremmo decidere che abbiamo bisogno di ulteriori data center edge. Non è possibile montare e impilare i server in 12 ore, quindi collaboriamo con i nostri partner cloud per costruire più data center edge virtuali. Li testiamo il venerdì e poi siamo pronti per il fine settimana.

Nello spirito autentico dell'assunzione di responsabilità, tutti, compresi i nostri dirigenti di più alto livello, si alternano nei turni di reperibilità, anche nei fine settimana. L'afflusso di milioni di utenti il sabato può spesso innescare centinaia di avvisi. I team risolvono preventivamente questi avvisi, consentendoci di gestire le sfide durante un grande aggiornamento o un picco storico a livello di piattaforma.
Come spesso si attribuisce a Leonardo da Vinci, "L'apprendimento non stanca mai la mente". Ogni picco ci ha ispirato a imparare e inventare nuove tecniche per rendere la nostra infrastruttura più affidabile e invisibile. I nostri creatori pubblicano o aggiornano e, grazie alla magia dell'infrastruttura invisibile, decine di milioni di utenti iniziano a godere di un'esperienza completamente nuova quasi immediatamente. Siamo eternamente grati ai nostri creatori e utenti per averci sfidato a spingere i confini dell'informatica.


