Trotz Unterbesetzung läuft Twitter weiter

Warum Twitter bisher stabil läuft, obwohl mehr als der Hälfte der Belegschaft gekündigt wurde? Ein ehemaliger Twitter -Admin erklärt.

Nach Elon Musks Entlassungswellen und dem folgenden Ultimatum sind viele Teams bei Twitter unterbesetzt oder gar nicht mehr existent. Die Plattform funktioniert aktuell trotzdem noch ohne Ausfälle und Probleme. Matthew Tejo, der ehemalige Site-Reliability-Engineer, arbeitete fünf Jahre lang bei Twitter und erklärt in einem Blog-Post, warum die Seite trotz wenig Personal weiterhin funktioniert.  

Die knappe Antwort: Wo es nur geht, setzt Twitter auf Automatisierung. So repariert sich etwa der Seiten-Cache, der mit möglichst wenig Latenz laden soll, viele Anfragen und Assets von selbst. Sobald im zuständigen Cache-Cluster ein Server ausfällt, sucht sich der zuständige Dienst aus der Reserve ein redundantes System aus und integriert diesen automatisch wieder fürs Caching.

Der Cache ist ein Grund, warum Twitter-Anfragen verhältnismäßig schnell und zuverlässig abgearbeitet werden können. Daten lädt er von eigentlichen Ablageservern und speichert sie zwischen. Sollte es mit dem Cache geben, würden das User direkt merken, da entsprechende Anfragen länger dauern. Bei großen Onlinediensten wie Twitter sind Caches daher ein verbreitetes Mittel. Stabile Caches sind umso wichtiger.

Manuelle Arbeit beim Austausch von Hardware

Für die Cache-Verwaltung nutzt Twitter die Dienste Apache Aurora und Apache Mesos. Aurora sucht sich aus einer Liste Server heraus, um darauf Anwendungen auszuführen. Zudem versucht der Dienst, gestartete Anwendungen auch am Laufen zu halten.  

„Wenn wir sagen, dass ein Cache-Cluster 100 Server benötigt, wird er sein Bestes tun, um 100 am Laufen zu halten“, schreibt Tejo. „Wenn ein Server aus irgendeinem Grund vollständig ausfällt, erkennt Mesos dies, entfernt den Server aus seinem Pool. Aurora wird nun darüber informiert, dass nur 99 Caches ausgeführt werden, und weiß dann, dass es einen neuen Server von Aurora finden muss.“

Diese zwei Dienste sorgen außerdem dafür, dass nur einige Applikationen auf einem Server-Rack laufen. Bei Ausfall, etwa weil der damit verbundene Switch oder ein Netzteil ausfällt, werden nur wenige Applikationen abgeschaltet. Vorher wurde dies manuell mittels Tabelle gelöst. Nun wird es automatisiert.

Großzügige Redundanzen

Mesos kann wohl nicht alle Fehlerquellen erkennen, etwa RAM- oder Laufwerkschäden. Solche Fehler können mittels Dashboards und Alerts schnell erkannt und bei Bedarf von einem RZ-Admin vor Ort bereinigt werden. Zudem sollen automatische Sperren verhindern, dass zu viele Server gleichzeitig oder in kurzer Zeit von Applikationen neugestartet werden. Teils ist hier auch manuelle Arbeit notwendig.

Laut Tejo ist die generell großzügig ausgelegte Redundanz in Twitters Rechenzentren wichtig. Die maximal zur Verfügung stehenden Kapazität aller Server beträgt 200 Prozent für Desaster-Szenarien. Diese sind auf zwei Rechenzentren verteilt. Im Normalbetrieb wird sichergestellt, dass die Rechenzentren mit je maximal 50 Prozent Kapazität belastet werden. Dementsprechend ist viel Spiel verfügbar, sollten Server ausfallen und diese kurzfristig nicht ersetzt werden können. Dies könnte unter Berücksichtigung des momentanen Mitarbeitermangels im Unternehmen wahrscheinlicher vorkommen.

Im August 2022 verließ Tejo das Unternehmen. Es könnten sich mittlerweile also einige Dinge geändert haben. Bereits im Vorfeld hatte Elon Musk überlegt, eventuell auch bei kritischer Infrastruktur und den großzügig ausgelegten Redundanzen zu sparen. Sollte dies umgesetzt werden, ist ein kompletter Ausfall also nicht unwahrscheinlich.