I contenuti di questo sito sono stati tradotti mediante intelligenza artificiale (IA) o tecnologia di traduzione automatica e potrebbero contenere errori.

Skip to content

Come i nostri strumenti di ingegneria avanzata stanno plasmando mondi immersivi

  • In qualità di piattaforma su vasta scala al servizio di 85,3 milioni di utenti attivi al giorno*, Roblox offre un'ampia gamma di esperienze con elevata affidabilità e bassa latenza. Il raggiungimento di questo livello di prestazioni dipende da strumenti e processi ingegneristici all'avanguardia che sono fluidi, ottimizzati e spingono continuamente i confini dell'innovazione.
  • Più di 1.000 ingegneri di Roblox utilizzano tre prodotti principali: la nostra piattaforma per il ciclo di vita dei microservizi, il nostro centro di codice e la nostra piattaforma avanzata di osservabilità.
  • Abbiamo ridotto significativamente i tempi di inattività e diminuito costantemente il tempo medio di mitigazione del 50% in due anni consecutivi.
  • Il nostro indice di produttività ingegneristica (EPI) di nuova concezione fornisce una visione completa dei nostri sforzi ingegneristici e, nel quarto trimestre del 2024, l'EPI complessivo è migliorato del 12,9% su base annua.

In Roblox, stiamo reinventando il modo in cui le persone si connettono e comunicano in mondi immersivi. Si tratta di un'impresa ambiziosa, e realizzarla richiede un'ampia gamma di infrastrutture innovative e all'avanguardia nel settore. 

Roblox è una piattaforma globale e i nostri 85,3 milioni di utenti attivi al giorno* possono comunicare tra loro in tempo reale attraverso molte lingue, piattaforme e dispositivi diversi, dai telefoni Android di fascia bassa alle console di fascia alta. Supportiamo numerose modalità di contenuto — testo, voce, dati 3D e altro — tutte con affidabilità estremamente elevata e bassa latenza.

Per poter soddisfare queste esigenze specifiche, i nostri ingegneri si affidano a strumenti e processi fluidi, snelli e affidabili, la maggior parte dei quali abbiamo sviluppato noi stessi. Oggi siamo entusiasti di presentare alcuni degli strumenti e delle strategie innovative che stiamo utilizzando per costruire il futuro di Roblox, oltre a un'anteprima di alcuni di quelli che abbiamo in programma di realizzare a breve. Con strumenti e pratiche veloci ed efficienti come questi, il nostro obiettivo è rendere Roblox una destinazione altamente attraente per i talenti.

Innovare con strumenti di ingegneria all'avanguardia

Al centro della nostra strategia di produttività ingegneristica ci sono tre strumenti: la nostra piattaforma per il ciclo di vita dei microservizi, il nostro centro di codice (uno strumento di sviluppo a ciclo chiuso) e la nostra piattaforma avanzata di osservabilità. Insieme, questi strumenti consentono a più di mille ingegneri di Roblox di affrontare problemi complessi.

Piattaforma di gestione del ciclo di vita delle applicazioni

La nostra piattaforma di gestione del ciclo di vita delle applicazioni è un microservizio sviluppato internamente che consente agli ingegneri di creare, distribuire, monitorare ed eseguire il debug di migliaia di microservizi con facilità, il tutto in un'unica interfaccia semplificata. Prima di questa piattaforma, la gestione dei microservizi in Roblox comportava una curva di apprendimento ripida, processi manuali inefficienti e frequenti cambi di contesto tra gli strumenti interni. 

La piattaforma di gestione del ciclo di vita delle applicazioni ha eliminato questa dinamica e ha consentito ai nostri ingegneri di dedicare meno tempo alla gestione di strumenti e processi e più tempo alla risoluzione di sfide tecniche complesse, al miglioramento dei sistemi e alla fornitura di funzionalità di grande impatto per i nostri utenti.

Code Center

Progettato all'interno di Roblox per perfezionare i nostri processi di ciclo interno, il nostro centro di codice ha ridotto il processo dispendioso in termini di tempo e gli attriti che gli ingegneri dovevano affrontare durante le revisioni del codice. Lo strumento accelera le revisioni e migliora la comunicazione attraverso notifiche Slack in tempo reale e riepiloghi programmati. In questo modo, lo strumento garantisce un feedback tempestivo che porta a revisioni del codice di qualità superiore e a iterazioni più rapide. 

Il centro di codice è diventato rapidamente uno strumento fondamentale per gli ingegneri di Roblox che cercano di ottimizzare le loro attività di codifica, con le richieste pull che hanno già registrato un miglioramento del 20% nel tempo P75 necessario per implementare le modifiche.

Piattaforma di osservabilità avanzata

La nostra piattaforma di osservabilità avanzata integra perfettamente soluzioni sviluppate internamente, open source e di fornitori, offrendo un'infrastruttura altamente specializzata con una forte attenzione all'affidabilità e alla scalabilità. Ogni giorno, questa infrastruttura raccoglie miliardi di serie temporali e decine di terabyte di informazioni strutturate sul runtime (log, tracce, eventi di sistema, dati di profilazione e altro) che aiutano i nostri ingegneri a monitorare, eseguire il debug e testare in modo efficiente e con sicurezza.

Allo stesso tempo, ci dedichiamo anche a esplorare come l'automazione e l'IA possano migliorare ulteriormente i nostri processi. Ad esempio, abbiamo integrato una serie completa di avvisi predefiniti che coprono latenza, traffico, errori e saturazione su oltre 1.500 microservizi utilizzando il nostro framework comune per i microservizi, il tutto senza una sola riga di codice. Abbiamo inoltre potenziato il nostro sistema di distribuzione continua con l'analisi automatizzata canary, che ha impedito con successo a centinaia di bug di raggiungere il nostro ambiente di produzione già nei primi sei mesi dal lancio.

Queste innovazioni non solo hanno un impatto significativo a livello interno, ma migliorano anche l'esperienza quotidiana degli utenti di Roblox. Abbiamo ridotto significativamente i tempi di inattività e diminuito costantemente il tempo medio di mitigazione (MTTM) del 50% in due anni consecutivi. Il risultato finale è un'esperienza più fluida e affidabile per tutti all'interno del nostro ecosistema.

Misurare e migliorare la produttività ingegneristica

Creare strumenti non serve a molto se non si ha modo di capire se funzionano. Per questo ci siamo impegnati a fondo per migliorare la produttività in Roblox, cercando al contempo di comprenderla e di individuare i fattori che la influenzano. 

A tal fine, il nostro indice di produttività ingegneristica (EPI) di nuova concezione offre una visione completa delle nostre attività ingegneristiche, simile a come il cruscotto di un'auto mostra una panoramica delle prestazioni e dello stato di salute del veicolo.

Nel quarto trimestre del 2024, abbiamo migliorato l'EPI complessivo del 12,9% su base annua, grazie principalmente alla velocità, pur mantenendo lo stesso standard di qualità. 

Sebbene sia più semplice e più applicabile agli scopi di Roblox rispetto a framework come DORA o SPACE, questa metrica offre una valutazione olistica della produttività tra i nostri innumerevoli gruppi e archetipi di sviluppatori, come Engine e ML. Utilizziamo l'EPI per fornire feedback mirati e raccomandazioni che consentono ai team di monitorare e aumentare la loro produttività di trimestre in trimestre.

L'EPI è composto da tre elementi:

  1. Velocità: questo elemento misura la velocità delle attività di ingegneria sfruttando un'ampia serie di segnali, tra cui il tempo di ciclo e la cadenza di implementazione, per misurare il ritmo di sviluppo.
  2. Qualità: questo elemento si basa su metriche come la copertura del codice e lo stato di salute del trunk per garantire che sappiamo cosa dobbiamo fare per muoverci velocemente e realizzare prodotti di qualità.
  3. Produttività auto-dichiarata: cerchiamo costantemente feedback diretti e mirati dai nostri ingegneri. Questo feedback fornisce informazioni cruciali sui punti critici che incidono sulla produttività e sulla soddisfazione. Questo tipo di informazioni è stato fondamentale per comprendere le sfide che i nostri ingegneri devono affrontare e non può essere catturato tramite altre metriche. Questo elemento aiuta anche a definire la nostra roadmap, influenzando direttamente le nostre decisioni per la creazione di soluzioni come il nostro centro di codice e la piattaforma di gestione del ciclo di vita delle applicazioni.

Ciascuna di queste metriche svolge un ruolo fondamentale nella produttività complessiva di Roblox. Ad esempio, non vogliamo un punteggio di velocità elevato e un punteggio di qualità basso, o viceversa. Migliorando l'EPI, siamo in grado di ottimizzare tutti e tre.

L'IA e la prossima frontiera dell'ingegneria

Noi di Roblox ci concentriamo sull'arte dell'ingegneria. Stiamo inoltre reinventando il futuro dell'ingegneria, sperimentando strumenti basati sull'IA che trasformano il modo in cui gli ingegneri creano, collaborano e innovano. Con una ricerca incessante dell'eccellenza, stiamo integrando l'IA in ogni aspetto del processo di sviluppo, incorporandola nei nostri strumenti esistenti come la piattaforma di gestione del ciclo di vita delle applicazioni e il centro di codice, sfruttando assistenti di codifica basati sull'IA per accelerare la creazione e la revisione del codice, ridefinire la collaborazione e rivoluzionare il modo in cui distribuiamo e manteniamo i servizi.

La nostra visione va oltre l'automazione; stiamo creando un'esperienza ingegneristica in cui l'IA agisce come un partner proattivo, snellendo i flussi di lavoro, migliorando la qualità del codice e aumentando il coinvolgimento. Investendo nel nostro ciclo di vita di sviluppo "inner-loop", nella garanzia di qualità proattiva e nelle integrazioni di IA specifiche per Roblox, stiamo aprendo la strada affinché la velocità ingegneristica, l'innovazione e la collaborazione raggiungano nuovi livelli. I prossimi anni segneranno un'evoluzione entusiasmante e ci impegniamo a rendere Roblox la destinazione definitiva per ingegneri di livello mondiale desiderosi di costruire la prossima generazione di esperienze immersive.

* A partire dal trimestre conclusosi il 31 dicembre 2024.