Comment nos outils d'ingénierie de pointe façonnent des mondes immersifs

- En tant que plateforme à très grande échelle desservant 85,3 millions d'utilisateurs actifs quotidiens*, Roblox offre un large éventail d'expériences avec une grande fiabilité et une faible latence. Atteindre ce niveau de performance repose sur des outils et des processus d'ingénierie de pointe qui sont fluides, rationalisés et repoussent sans cesse les limites de l'innovation.
- Plus de 1 000 ingénieurs Roblox utilisent trois produits principaux : notre plateforme de cycle de vie des microservices, notre centre de code et notre plateforme d'observabilité avancée.
- Nous avons considérablement réduit les temps d'arrêt et diminué de manière constante le temps moyen de résolution de 50 % pendant deux années consécutives.
- Notre indice de productivité technique (EPI), récemment développé, offre une vue d'ensemble de nos efforts d'ingénierie, et au quatrième trimestre 2024, l'EPI global s'est amélioré de 12,9 % par rapport à l'année précédente.
Chez Roblox, nous réinventons la manière dont les gens se connectent et communiquent dans des mondes immersifs. C'est une entreprise ambitieuse, et sa concrétisation nécessite une infrastructure innovante et de pointe.
Roblox est une plateforme mondiale, et nos 85,3 millions d’utilisateurs actifs quotidiens* peuvent communiquer entre eux en temps réel dans de nombreuses langues, sur différentes plateformes et via divers appareils, des téléphones Android d’entrée de gamme aux consoles haut de gamme. Nous prenons en charge de nombreux types de contenu — texte, voix, données 3D, etc. — le tout avec une fiabilité extrêmement élevée et une faible latence.
Pour répondre à ces besoins spécifiques, nos ingénieurs s’appuient sur des outils et des processus fluides, rationalisés et fiables, dont la plupart ont été développés en interne. Aujourd’hui, nous sommes ravis de vous présenter certains des outils et stratégies innovants que nous utilisons pour construire l’avenir de Roblox, ainsi qu’un aperçu de ceux que nous prévoyons de développer prochainement. Grâce à des outils et des pratiques rapides et efficaces comme ceux-ci, notre objectif est de faire de Roblox une destination hautement attractive pour les talents.
Innover grâce à des outils d'ingénierie de pointe
Au cœur de notre stratégie de productivité en ingénierie se trouvent trois outils : notre plateforme de cycle de vie des microservices, notre centre de code (un outil de développement en boucle interne) et notre plateforme d’observabilité avancée. Ensemble, ces outils permettent à plus d’un millier d’ingénieurs Roblox de s’attaquer à des problèmes complexes.
Plateforme de gestion du cycle de vie des applications
Notre plateforme de gestion du cycle de vie des applications est un microservice développé en interne qui permet aux ingénieurs de créer, déployer, surveiller et déboguer facilement des milliers de microservices, le tout via une interface unique et rationalisée. Avant cette plateforme, la gestion des microservices chez Roblox impliquait une courbe d’apprentissage abrupte, des processus manuels inefficaces et des changements de contexte fréquents entre les outils internes.
La plateforme de gestion du cycle de vie des applications a éliminé cette dynamique et a permis à nos ingénieurs de consacrer moins de temps à la gestion des outils et des processus, et davantage à la résolution de défis techniques complexes, à l'amélioration des systèmes et à la mise à disposition de fonctionnalités percutantes pour nos utilisateurs.

Centre de code
Conçu au sein de Roblox pour affiner nos processus en boucle fermée, notre centre de code a permis de réduire le temps et les frictions auxquels les ingénieurs étaient confrontés lors des revues de code. L'outil accélère les revues et améliore la communication grâce à des notifications Slack en temps réel et des résumés programmés. De cette manière, l'outil garantit un retour d'information rapide, ce qui se traduit par des revues de code de meilleure qualité et des itérations plus rapides.
Le centre de code est rapidement devenu un outil essentiel pour les ingénieurs de Roblox cherchant à optimiser leurs activités de codage, les pull requests affichant déjà une amélioration de 20 % du temps P75 nécessaire pour valider les modifications.

Plateforme d'observabilité avancée
Notre plateforme d'observabilité avancée intègre de manière transparente des solutions développées en interne, open source et fournies par des éditeurs, offrant une infrastructure hautement spécialisée qui met l'accent sur la fiabilité et l'évolutivité. Chaque jour, cette infrastructure collecte des milliards de séries chronologiques et des dizaines de téraoctets d'informations structurées sur l'exécution (journaux, traces, événements système, données de profilage, etc.) qui aident nos ingénieurs à surveiller, déboguer et tester efficacement en toute confiance.
Parallèlement, nous nous attachons également à explorer comment l'automatisation et l'IA peuvent encore améliorer nos processus. Par exemple, nous avons intégré un ensemble complet d’alertes par défaut couvrant la latence, le trafic, les erreurs et la saturation sur plus de 1 500 microservices à l’aide de notre framework commun de microservices, le tout sans écrire une seule ligne de code. Nous avons également amélioré notre système de déploiement continu grâce à l’analyse automatisée de canaries, qui a permis d’empêcher avec succès des centaines de bogues d’atteindre notre environnement de production dès les six premiers mois suivant le lancement.
Ces innovations ont non seulement un impact majeur en interne, mais elles améliorent également l'expérience quotidienne des utilisateurs de Roblox. Nous avons considérablement réduit les temps d'arrêt et diminué de manière constante le temps moyen de résolution (MTTM) de 50 % pendant deux années consécutives. Le résultat final est une expérience plus fluide et plus fiable pour tous les acteurs de notre écosystème.

Mesurer et améliorer la productivité en ingénierie
Développer des outils n'est pas très utile si l'on ne dispose pas de moyens pour déterminer s'ils fonctionnent. Nous avons donc travaillé d'arrache-pied pour améliorer la productivité chez Roblox, tout en cherchant à comprendre ce qu'est la productivité chez Roblox et quels sont les facteurs qui l'influencent.
À cette fin, notre indice de productivité en ingénierie (EPI) nouvellement développé offre une vue d'ensemble de nos efforts en ingénierie, à l'instar du tableau de bord d'une voiture qui affiche un aperçu des performances et de l'état du véhicule.
Au quatrième trimestre 2024, nous avons amélioré l'EPI global de 12,9 % par rapport à l'année précédente, principalement grâce à la vélocité, tout en maintenant le même niveau de qualité.

Bien que plus simple et mieux adaptée aux besoins de Roblox que des cadres tels que DORA ou SPACE, cette métrique offre une évaluation globale de la productivité au sein de nos nombreux groupes et archétypes de développeurs, tels que Engine et ML. Nous utilisons l'EPI pour fournir des commentaires et des recommandations ciblés qui permettent aux équipes de suivre et d'améliorer leur productivité d'un trimestre à l'autre.
L'EPI se compose de trois éléments :
- Vitesse : cet élément mesure la rapidité des activités d'ingénierie en s'appuyant sur un large éventail de signaux, notamment la durée des cycles et la cadence de déploiement, afin d'évaluer le rythme de développement.
- Qualité : cet élément s'appuie sur des indicateurs tels que la couverture de code et la santé du tronc pour nous assurer de savoir ce que nous devons faire pour avancer rapidement et produire des produits de qualité.
- Productivité auto-évaluée : nous sollicitons en permanence des retours directs et ciblés de la part de nos ingénieurs. Ces retours fournissent des informations cruciales sur les points faibles qui affectent la productivité et la satisfaction. Ce type d’informations s’est avéré essentiel pour comprendre les défis auxquels nos ingénieurs sont confrontés et ne peut être capturé par d’autres indicateurs. Cet élément contribue également à façonner notre feuille de route en guidant directement nos décisions pour développer des solutions telles que notre centre de code et notre plateforme de gestion du cycle de vie des applications.
Chacun de ces indicateurs joue un rôle essentiel dans la productivité globale chez Roblox. Par exemple, nous ne voulons pas d'un score de vélocité élevé et d'un score de qualité faible, ou l'inverse. En améliorant l'EPI, nous sommes en mesure d'optimiser ces trois aspects.

L'IA et la prochaine frontière de l'ingénierie
Chez Roblox, nous nous concentrons sur l'art de l'ingénierie. Nous réinventons également l'avenir de l'ingénierie en développant des outils basés sur l'IA qui transforment la manière dont les ingénieurs créent, collaborent et innovent. Dans une quête incessante d'excellence, nous intégrons l'IA à chaque étape du processus de développement en l'incorporant à nos outils existants, tels que notre plateforme de gestion du cycle de vie des applications et notre centre de code. Nous tirons parti d'assistants de codage alimentés par l'IA pour accélérer la rédaction et la révision du code, redéfinir la collaboration et révolutionner la manière dont nous déployons et maintenons nos services.
Notre vision va au-delà de l'automatisation ; nous créons une expérience d'ingénierie où l'IA agit comme un partenaire proactif, rationalisant les flux de travail, améliorant la qualité du code et renforçant l'engagement. En investissant dans notre cycle de développement en boucle fermée, dans l'assurance qualité proactive et dans des intégrations d'IA spécifiques à Roblox, nous ouvrons la voie à une nouvelle ère où la vitesse d'ingénierie, l'innovation et la collaboration atteignent de nouveaux sommets. Les prochaines années marqueront une évolution passionnante, et nous nous engageons à faire de Roblox la destination de choix pour les ingénieurs de classe mondiale désireux de créer la prochaine génération d'expériences immersives.
* Au 31 décembre 2024.


