Team BlackJack: Der Fels in der Brandung des Black Friday
Hinter den KulissenComputing

Team BlackJack: Der Fels in der Brandung des Black Friday

Dominik Bärlocher
Zürich, am 30.11.2018
Bilder: Thomas Kunz
Am Black Friday hat sich ein Team verdient gemacht. BlackJack hat hoch gepokert, viel gearbeitet und ist aus einer Niederlage heraus zum grossen Sieger der Nacht aufgestiegen. Ein Blick in die Arbeit der Site Reliability Engineers.

«Cyber Monday war locker», sagt René Zweifel, Teamleiter des Site Reliability Engineering bei Digitec Galaxus, «aber am Black Friday haben wir kurz etwas gezittert.»

Denn es war die Nacht auf Freitag, in der sich ein Jahr Arbeit hat beweisen müssen. Im Interview am Dienstagmorgen, nachdem alles vorbei ist, gibt sich René stolz. Er und sein Team – «und überhaupt das ganze Engineering» – haben ganze Arbeit geleistet. Die Statistik kann sich sehen lassen.

  • Total Downtime Black Friday: 4 Minuten
  • Total Downtime Cyber Monday: 0 Minuten
  • Spitzenwerte: 24 000 User Sessions pro Minute

«Finden wir gut. Denn nach Black Friday 2017 mussten wir uns sagen: 'nein… einfach nein' und dann hinter die Bücher.»

Der Tag danach

Samstag, 25. November 2017. Das Engineering hat gerade eine harte Niederlage eingesteckt. Digitec.ch und Galaxus.ch waren trotz Abschaltung von so ziemlich allen nicht absolut einkaufsnotwendigen Systemen auf den Servern während gut 2 Stunden und 40 Minuten offline. Dies aber nicht am Stück: «Manchmal waren wir im Minutentakt mal online, mal offline». Das Resultat: Niemand hatte Spass. Du hattest deine Deals nicht, das Produktmanagement ihren Umsatz nicht und das Engineering hat – da waren sich alle einig – seinen Job nicht gemacht.

Teamleiter René Zweifel hat Team BlackJack gegründet
Teamleiter René Zweifel hat Team BlackJack gegründet

Unter anderem aus dieser Situation heraus ist dann Team BlackJack entstanden. Der Teamleiter René Zweifel gründete das neue Team und suchte sich Leute, die ihm bei der neuen Mission helfen sollen: Site Reliability Engineering. Ihr Job war es fortan, sicherzustellen, dass digitec und Galaxus online bleiben, komme was wolle.

«Nach der Sache mit Black Friday war das doch eine recht grosse Aufgabe», sagt René.

Doch er und seine fünf Teamkameraden haben sich nicht geschlagen gegeben. Klar, das Cache System Redis hat die 2017er-Version des Black Friday gerettet, aber das hat BlackJack nicht gereicht. Sie wollten nichts mehr dem Zufall überlassen.

«Die Infrastruktur hätte vielerorts komplett ausgetauscht werden müssen», sagt René.

Switches, Router und all die anderen Netzwerkelemente müssten alle in die Tonne gekloppt werden, die Netzwerk-Cluster auch. Ein dediziertes Netzwerk hätte aufgestellt werden müssen. Und so weiter. Das hätte unendlich Geld gekostet.

Die Alternative: Der Umzug in die Cloud.

«Das kostet nur 'beinahe unendlich viel Geld', ist also billiger als die eigene Infrastruktur», sagt René und lacht. René hat ein uriges Lachen, ansteckend und ehrlich. Der bärtige junge Mann mit den kurzen Haaren denkt kurz nach und meint dann: «Das war vielleicht eine Geschichte, sag ich dir.»

Er überspringt die detaillierte Geschichte und sagt «… Ende Mai 2018 war der Prozess abgeschlossen. Dann gab's ein Bier.»

Und vor dem Bier kam die Erkenntnis, dass die Systeme jetzt eigentlich unendlich skalierbar sind, daher auch Black Friday Proof. Theoretisch.

Isomorph in den Oktober

Damit die Last auf die Server trotz der neuen Infrastruktur so klein wie möglich bleibt, haben BlackJack und die Onlineshop Teams an einem isomorphen Frontend gearbeitet. Sprich, ein Teil des Codes, der auf digitec und Galaxus interpretiert und durchgerechnet wird, passiert auf deinem Computer, nicht dem Server. Dazu sind die Anzahl Requests, die an den Monolithen gingen, durch node.js und GraphQL reduziert worden. «Also, ich muss zugeben: BlackJack hat nur die Challenge gestellt. Implementiert haben immer andere Teams», sagt René und lacht.

Team BlackJack agiert schnell und agil
Team BlackJack agiert schnell und agil

«Noch ist nicht der gesamte Shop isomorph. Nur die Parts, die für Tage wie Black Friday wichtig sind.»

Die Implementierung hat ab Mai stattgefunden. Black Friday 2018 stand vor der Tür. René und sein Team starten in die letzte Phase des Development-Jahres: Lasttests. Das neue System bestand einen nach dem anderen. Dennoch hat BlackJack nach dem System «bombardieren und optimieren» gearbeitet und da und dort am System geschliffen.

600% zum Black Friday

Dennoch, zum Black Friday hat BlackJack das System hochskaliert. Die Load Balancer werden von 4 auf 6 hochgeschraubt, die Shop Server laufen statt auf 8 Octacore-Prozessoren auf 30 Prozessoren mit je 16 Kernen. Die Kubernetes Cluster werden ebenfalls, genau wie viele andere Features, massiv skaliert.

«Um Mitternacht liefen wir mit 600% Systemleistung», sagt René. Stolz schwingt in seiner Stimme mit. Aber das war nicht BlackJack alleine. Denn in der Nacht auf Freitag sind, wie im Vorjahr, Engineers aus allen Teams anwesend und auf Abruf. René selbst ist in der zweiten Schicht, ab 7 Uhr morgens, eingeteilt, sitzt aber zu Hause vor einem Laptop und beobachtet die Lage. «Es kann ja sein, dass sie mich brauchen.»

Ihm tun es viele Engineers gleich. Sobald das sogenannte Battle Log aktualisiert wird mit den neuesten Informationen aus dem War Room des Engineerings, gehen Mails und SMS ein, in denen nachtschwärmende Engineers ihre Hilfe und Rat bieten. Es ist ein Meisterstück des Zusammenspiels.

Doch schon kurz nach Mitternacht wird klar: Kein Stress.

«Wir haben die 600% nicht ansatzweise ausgenutzt», sagt René stolz. Dies obwohl auf den Seiten mehr Traffic denn je verzeichnet wird. Die User prügeln mit Bestellungen und Kommentaren auf die Website ein, doch die Server halten.

Am Tag nach Cyber Monday sitzt René im roten T-Shirt auf einem Sessel in der Lounge an der Pfingstweidstrasse. Er ist entspannt, erzählt gerne von den Engineers. Die lobenden Mails der Geschäftsleitung haben ihren Teil dazu getan. Doch auf den Lorbeeren ausruhen will sich René nicht. Sein Team auch nicht.

Die zwei Pleiten am Black Friday

BlackJack verzeichnet nicht einen hundertprozentigen Erfolg. Vor allem die vier Minuten Downtime beschäftigen René.

«Das ist noch schlicht zu viel, aber die können wir locker halbieren», sagt er.

Auf Nachfrage gibt er an, dass zwei der vier Minuten an einem Tool namens Queue it gelegen haben. Das Tool verspricht eine Art «digitales Wartezimmer» einzurichten. Aber das Ding habe nach Strich und Faden versagt.

«Wir waren schon beeindruckt. Aber halt nicht aus dem Grund, den die Entwickler gerne hätten», sagt René und ein Grinsen überzieht sein Gesicht, «wir waren beeindruckt, wie schnell Queue-it uns in die Knie gezwungen hat. Das ging keine drei Sekunden.»

Am Cyber Monday ist Queue-it nicht mehr eingesetzt worden. Kombiniert mit der Abnahme in den Zugriffen hat das dazu geführt, dass die Seiten nie offline waren. Das nenne er mal einen Erfolg. Er räume aber ein, dass es eventuell an einem Implementierungsfehler Queue-its gelegen hat, nicht zwingend am Tool selbst. Die Untersuchungen laufen noch.

Es bleiben aber noch zwei Minuten, die er und der Rest BlackJacks ausmerzen müssen. Diese sind dem Failover, das Zurückfallen auf eine frühere Konfiguration, von 00:57 Uhr zuzuschreiben. Dabei haben die Engineers eine Datenbank auf einen früheren Stand zurückgesetzt. Der Grund: Zu viele PlayStation- und AirPod-Käufe gleichzeitig. Glücklicherweise aber sind die beim Failover verlorenen Daten keine bestätigten Kaufdaten gewesen, sondern solche, die Usern zuzuschreiben sind, die wiederholt von verschiedenen Geräten versucht haben, etwas einzukaufen. Diese Überlastung der Datenbank hat dann Splash Damage verursacht und am Ende ging für wenige Sekunden nur noch wenig. Der Failover hat die Situation dann aber für den Rest der Nacht erledigt.

René blickt mit BlackJack in die Zukunft. Es gibt viel zu tun. Denn vier Minuten klingen nach wenig, aber diese auszumerzen wird Monate an Arbeit erfordern. Und BlackJack, so ist sich René sicher, kriegt das hin.

Update 30.11.2018 // 12:45 Uhr

Team BlackJack sucht übrigens Verstärkung.

68 Personen gefällt dieser Artikel


Dominik Bärlocher
Dominik Bärlocher
Senior Editor, Zürich
Journalist. Autor. Hacker. Ich bin Geschichtenerzähler und suche Grenzen, Geheimnisse und Tabus. Ich dokumentiere die Welt, schwarz auf weiss. Nicht, weil ich kann, sondern weil ich nicht anders kann.

Diese Beiträge könnten dich auch interessieren