So treibt die Infrastrukturgruppe die Zukunft aller unserer Aktivitäten bei Roblox voran

  • Unsere Infrastrukturgruppe entwickelt, baut und betreibt die zugrundeliegenden Speicher-, Rechen-, Netzwerk-, Sicherheits- und technischen Produktivitätssysteme, die die globale Roblox-Plattform antreiben.

  • Diese Systeme arbeiten in großem Maßstab – sie unterstützen 77,7 Millionen* täglich aktive Benutzer:innen, Exabytes an bereitgestellten Inhalten und mehr als 250 Millionen gleichzeitige Verbindungen, und das alles auf mehr als 135.000 Servern.

  • Alles, was die Gruppe tut, dient dazu, die Zuverlässigkeit und Effizienz unserer Systeme zu maximieren und unsere Ingenieur:innen so produktiv wie möglich zu machen.

Jede Sekunde am Tag können die Produktingenieur:innen bei Roblox mehr als 2.000 Dienste nutzen, die auf unserer globalen internen Cloud-Infrastruktur laufen. Unsere Plattform unterstützt Millionen von Lese- und Schreibvorgängen, bewältigt Terabytes an Datendurchsatz und verarbeitet Dutzende Millionen HTTP-Anfragen. Wenn unsere 77,7 Millionen* täglich aktiven Benutzer:innen Roblox besuchen, tun sie dies über mehr als 250 Millionen gleichzeitige Verbindungen.

All das ist das Ausmaß der technischen Systeme bei Roblox und die Domäne unserer Infrastrukturgruppe. Die sogenannte Infra-Gruppe entwirft, baut und betreibt die Speicher-, Rechen-, Netzwerk-, Sicherheits- und technischen Produktivitätssysteme unseres Unternehmens sowie unsere Rechenzentren. Das Ziel von Infra ist es, skalierbare, zuverlässige und benutzerfreundliche Systeme anzubieten. Die Gruppe legt vor allem Wert auf drei wichtige Kriterien:

  • Verfügbarkeit – die Zuverlässigkeit unserer Systeme

  • Servicekosten – die Effizienz unserer Systeme

  • Produktivität – wie produktiv die Roblox-Ingenieur:innen sind, die auf der Infrastruktur aufbauen

Der Leiter der Infra-Gruppe, Vice President of Engineering Max Ross, drückt es so aus: “Alles, was wir tun, zielt darauf ab, eines oder eine Kombination dieser drei Dinge zu verbessern – Verfügbarkeit, Servicekosten und Produktivität.”

Jeden Tag neue Probleme lösen

Wenn nach einem großen Update mehr als eine Million Benutzer:innen einem Roblox-Hit beitreten – ein Phänomen, das als “donnernde Herde” bekannt ist –, können unsere Creator:innen beruhigt sein. Denn die Aufgabe von Infra ist es, dafür zu sorgen, dass die Roblox-Produktingenieur:innen eine Plattform bauen können, die unseren Benutzer:innen das beste und stabilste Erlebnis bietet. Und das bedeutet, dass das Infra-Team jeden Tag komplexe Systeme in Angriff nehmen und neue Probleme lösen muss.

Warum? Und warum? Weil wir nicht zig Millionen DAUs mit einer zentralen Transaktionsverarbeitungsstelle verbinden – ein weithin bekanntes Problem. Stattdessen verbinden wir sie in Echtzeit und weltweit miteinander. Insgesamt laufen die Tausende von Diensten von Infra auf mehr als 135.000 Servern in zwei Kernrechenzentren, zahlreichen Edge-Rechenzentren auf der ganzen Welt und einigen öffentlichen Cloud-Anbietern.

Verfügbarkeit – Die Verlässlichkeit unserer Systeme

Ein wichtiger Faktor für den Erfolg unseres Unternehmens ist die Zeit, die die Benutzer:innen auf Roblox verbringen, und wir wissen, dass es einen direkten Zusammenhang zwischen einer zuverlässigen Infrastruktur und einer längeren Verweildauer der Benutzer:innen gibt.

Wir wollen jeden Monat eine Betriebszeit von 99,99 Prozent erreichen, was bedeutet, dass unsere Systeme nicht mehr als 0,01 Prozent der Nutzungszeit unterbrechen dürfen. Und unsere Produktingenieur:innen erwarten, dass unsere interne Cloud-Infrastruktur mindestens so gut funktioniert wie jede öffentliche Cloud. “Unsere Infrastruktur sollte so reibungslos wie möglich laufen”, erklärt Technical Director Danny Yuan, “damit andere Ingenieur:innen Produkte entwickeln können, die unsere Benutzer:innen begeistern.”

Eine Möglichkeit, dieses Ziel zu erreichen, besteht darin, die Beobachtbarkeit und Netzwerkkonnektivität näher an die Anwendungen heranzubringen, die Roblox-Erlebnisse bereitstellen. Wir setzen Envoy-Proxy-Sidecars neben jeder Service-Instanz ein und experimentieren mit eBPF, um den zugrunde liegenden Zustand der Verbindungen zwischen Proxys und externen Diensten zu beobachten. Auf diese Weise können wir Paketverluste verstehen und vor allem reduzieren, erklärt Technical Director Rob Cameron.

Der Halloween-Ausfall

Ein großer Teil der Bemühungen von Infra um Zuverlässigkeit geht auf die Erkenntnisse zurück, die wir während unseres 73-stündigen Ausfalls im Jahr 2021 gewonnen haben. Dieser eine Moment vor ein paar Jahren war ein entscheidender Moment für unsere Herangehensweise an den Aufbau einer widerstandsfähigen Infrastruktur und für unsere Notwendigkeit, kurz- und langfristig zu planen. “Es war ein echter ‘Haltet-die-Pressen’-Moment”, erklärt Ross, “und unser einziger Fokus war, allen bei Roblox zu garantieren, dass so etwas nicht noch einmal vorkommt.”

Von einem einzigen Infra-Monolithen zu 34 Zellen

Servicekosten (Effizienz)

Heutzutage bauen Technologieunternehmen nur noch selten ihre eigene Cloud-Infrastruktur auf, da öffentliche Cloud-Anbieter wichtige Tools wie Netzwerke, Flottenmanagement und so weiter anbieten.

Aber in unserer Größenordnung und aufgrund unserer dezentralisierten Struktur ist es für uns kostengünstiger, eine private Cloud zu unterhalten. Wir sind ständig dabei, die Herausforderungen zu erkennen und zu überwinden, die sich aus der Wartung komplexer Systeme wie diesem ergeben.

Um sicherzustellen, dass wir die gewünschten Kosteneinsparungen erzielen, müssen wir das System sorgfältig planen. Bei unserer globalen privaten Cloud müssen wir genau auf die Effizienz achten, damit wir mehr in die Unterstützung unserer Community an Creator:innen und Benutzer:innen investieren können.

Wir bemühen uns, es Produktingenieur:innen leicht zu machen, Funktionen zu entwickeln, die auch im großen Maßstab effizient laufen können. Gleichzeitig entwickeln wir optimierte Produktionswerkzeuge, die es einem kleinen Team ermöglichen, eine große Infrastruktur zu betreiben. “Die Leute außerhalb von Infra sind sich vielleicht nicht immer bewusst”, erläutert Technical Director Michael Wolf, “dass wir fast jeden Teil unserer Infrastruktur grundlegend neu erfinden.”

Das bedeutet, dass wir von einer Bare-Metal-Konfiguration zu einer Linux-basierten, containerisierten Architektur mit einer gemeinsamen Steuerungsebene für Core- und Edge-Rechenzentren übergegangen sind. Dadurch können die Roblox-Ingenieur:innen auf ein riesiges neues Repertoire an Open-Source-Softwaretools zurückgreifen. Außerdem wird es einfacher, mehrere Arbeitsabläufe gleichzeitig auf denselben Rechnern laufen zu lassen.

“Wir haben keine Angst vor großen Herausforderungen”, betont Andy Wilcox, Technical Director bei Infra, in Anspielung auf die kürzlich erfolgte Umstellung auf neue Telemetrie-, Rechen- und Deployment-Stacks. “Das sind grundlegende Dinge, die wir als technische Organisation angehen können, und wir haben Spaß daran, sie in Angriff zu nehmen.”

Das wird nicht über Nacht geschehen. Es wird Jahre dauern, denn wir können Roblox nicht einfach neu starten – unsere Maschinen müssen in Betrieb bleiben. Das erfordert einen manuellen Prozess, bei dem die Software umgeschrieben und an neue Tools angepasst werden muss. “Das ist, als ob man die Reifen am Auto wechselt”, erklärt Wolf, “während man auf der Autobahn fährt.”

Produktivität

Jeden Tag geht unser Ingenieurteam große Probleme in großem Maßstab effizient an und holt so viel wie möglich aus unseren Systemen heraus.

Dafür sammeln wir regelmäßig quantitative und qualitative Daten über die Produktivität unserer Ingenieur:innen. Das hilft uns, Engpässe zu erkennen, die wir mit Lösungen von Drittanbietern oder unseren eigenen maßgeschneiderten Tools verbessern können.

Ein Beispiel dafür ist ein Dashboard, das wir im März veröffentlicht haben, um die Probleme der Ingenieur:innen mit unserem Codeüberprüfungsprozess zu lösen. Mithilfe des Tools können die Ingenieur:innen die PRs im Auge behalten, die anhand zahlreicher von uns definierter Kriterien überprüft werden müssen. Außerdem vereinheitlicht es die Aufgaben der Codeüberprüfung und ermöglicht die Planung von Benachrichtigungen. Seit der breiten Einführung dieses Dashboards ist die Zeit, die wir vom P75 PR zum Merge benötigen, um 30 Prozent gesunken.

Und natürlich ist das ultimative Produktivitätsmerkmal für Ingenieur:innen eine stabile, skalierbare Infrastruktur, auf der sie aufbauen können, weshalb wir immer wieder langfristige Investitionen in unsere Low-Level-Systeme tätigen.

Dies spiegelt zwei zentrale Werte von Roblox wider: Langfristig denken und Dinge erledigen. Als kundenorientierte Infrastrukturgruppe sind wir pragmatisch, wenn es darum geht, unsere Kunden erfolgreicher und produktiver zu machen. Wenn sie etwas brauchen, das wir nicht als Managed Service anbieten, können wir darüber nachdenken, Lösungen von Anbietern neben unseren internen Tools in unsere private Cloud zu integrieren.

Kurzfristige Lösungen, die lediglich “den Betrieb aufrechterhalten”, mögen zwar verlockend sein, doch sie müssen mit langfristiger Ingenieursplanung aufgewogen werden.

Die Belohnung ist, dass die Maximierung der Produktivität dem Unternehmen zugutekommt und es uns ermöglicht, Projekte zu verwirklichen, um die Geschäftsziele zu erreichen.

Eine Kultur, die zu Entdeckungen ermutigt

Auf unserem Weg, eine Milliarde Menschen auf sichere und rücksichtsvolle Weise zu verbinden, wird es immer wieder große technische Herausforderungen zu bewältigen geben. Wir haben schon viele gemeistert und viel von ihnen gelernt. Aber wir streben eine noch besser skalierbare Infrastruktur an und wollen gleichzeitig die Komplexität unserer Systeme verringern.

Diese gegensätzlichen Ziele werden uns in den kommenden Jahren unzählige neue Erkenntnisse bringen, vor allem, wenn wir immer mehr KI-Arbeitsabläufe bewältigen müssen. Und wir sind uns sicher, dass das Erreichen unserer Ziele bedeutet, dass sich die Systeme von Infra im Laufe der Zeit erheblich weiterentwickeln müssen.

Für die Infra-Ingenieur:innen ist jedes Projekt ein potenzieller Wendepunkt für das Unternehmen, und die Arbeit, die jede:r Einzelne leistet, ist wichtig. “Infra ist eine Organisation, in der Menschen großartige Arbeit leisten können, die für Roblox und unsere Benutzer:innen wirklich wichtig ist”, so Wolf, “und in der nichts wirklich unerreichbar ist.”

Kundenzentrierte Denkweise

Letztendlich besteht unsere Arbeit darin, anderen Roblox-Ingenieur:innen dabei zu helfen, heute und in Zukunft effektiver zu arbeiten, und zwar mit dem Auftrag, schnell Lektionen zu lernen und daraus abgeleitete Lösungen zu liefern.

Wir stellen uns dieser Herausforderung ganz bewusst. “Ich möchte sicherstellen, dass wir heute, in diesem Quartal und in diesem Jahr einen Mehrwert für Roblox liefern”, betont Ross. “Außerdem möchte ich sicherstellen, dass wir eine Grundlage schaffen, die uns für die nächsten 5 bis 10 Jahre eine gute Position verschafft.”

* nach Beendigung von 3 Monaten am 31. März 2024