Du bist nicht mit dem Internet verbunden.
Corporate logo
SecurityHinter den Kulissen 2867

Team BlackJack: Der Fels in der Brandung des Black Friday

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

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

«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.

User

Dominik Bärlocher, Zürich

  • Senior Editor
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.

28 Kommentare

3000 / 3000 Zeichen
Es gelten die Community-Bedingungen.

User losima

Komisch, dass die downtime des Kaufabwicklungprozesses nicht angesprochen wird. Knapp zwei stunden konnte man nicht wirklich einkaufen. Am besten hat man das an den beliebten Produkten gesehen: PS4 in 15 minuten 100 Stk. Danach in 2h gerade mal 8 Stück. gleiches Spiel bei anderen Produkten. Schön war der Shop nur 4 Minuten down. Wenn man aber nicht einkaufen kann, ist das vollkommen egal.

30.11.2018
User Anonymous

Dem kann ich nur beipflichten. Obwohl ich punkt 12 hier war, musste ich meine PS4 bei der Konkurrenz kaufen gehen. Der Digitec shop wollte mir keine verkaufen.

200 Stück sind halt viel zu wenig. Kein Wunder, dass die nach 20 Minuten alle weg waren. Der Shop hätte allerdings besser mit dieser Situatinon klarkommen sollen. Da weiss ja Team Blackjack was sie für nächstes Jahr verbessern können.

30.11.2018
User tony s

same here!

30.11.2018
User nazzario

Hab meine PS4 auch nicht bekommen :-(. Warte nun auf PS5. Die Preise nach Black friday für eine PS4 Pro sind nicht normal.

30.11.2018
User removetere

"Bezahlen bei Abholung" funktionierte perfekt für mich... just saying ;-)

30.11.2018
User Axonteer

habe mir ne ps4 pro anfang jahr geholt, entsprechend.... naja ich dachte "solls die freuen die jetzt zuschlagen durfen" :D Aber schon unschön wenn man rechtzeitig ist, dann aber nicht "zahlen" darf... am letztjährigen BF habe ich darum auch bezahlen bei Abholung gemacht, und bin halt erst am CM abholen gegangen :D

30.11.2018
Antworten
User sephiran

ich habe zwischen 00:10 und 00:40 vergeblich versucht eine Bestellung aufzugeben. Konnte die Bestellung auf der Kassenseite nie abschliessen.. daher sich nicht zu viel selbst loben..

30.11.2018
User Anonymous

2 x 3 macht 4 -
widdewiddewitt und 3 macht 9e !
Ich mach' mir die Welt - widdewidde wie sie mir gefällt ...
(Ich und X andere User konnten Stunden lang nicht bezahlen - Please IGNORE)

30.11.2018
User tony s

Total "checkout/Bezahlvorgang" Downtime Black Friday: 180 Minuten.

Mega Fail, konnte meine Produkte nicht kaufen. Aber ja, die Seite lief und ich konnte schön zusehen, wie meine Deals verschwinden.

30.11.2018
User Anonymous

Wie können die Deals verschwinden, wenn ja angeblich der Bezahlvorgang nicht funktioniert hatte?

30.11.2018
User Screwface

Ja naja, ich konnte meine erste Bestellung auch noch abschliessen, als andere schon einen unmöglichen Bezahlvorgang zu beklagen hatten. Ich denke mal, dass es reines Glückspiel war und einige auch nach X Versuchen leer ausgingen.

30.11.2018
User tony s

genau so war es bei mir :( und wie deals verschwinden können? HMMMMMMMM............... in dem sie ausverkauft waren viiiiieeeeeeleicht?

30.11.2018
User Anonymous

Ich habe es schlussendlich mit zwei Browsern auf dem Desktop, zwei Browsern auf dem Laptop und auf dem Telefon versucht. Hatte dann gute 80 Minuten gedauert - Bestellung abschliesse - back to Warenkorb - Bestellung abschliessen - back to Warenkorb usw. Schlussendlich hat FF auf dem Laptop die Bestellung abschliessen können.

01.12.2018
Antworten
User nazzario

Ich muss hier nochmals etwas loswerden. Grundsätzlich super Einsatz. Als Informatiker kann man dies nachvollziehen. Leider finde ich es aber nicht toll wenn man von der 4 Min downtime spricht aber nicht davon, dass der Zahlvorgang nicht geklappt hat. Ich hatte letztes Mal schon kein Glück und diesmal war wieder das Selbe. Seitens Digitec keine Kulanz oder Verständnis im nachhinein dafür.

30.11.2018
User gregorvogel

Trotzdem ist die Filterfunktion noch sehr rudimentär. Man kann nicht von...bis suchen, sondern muss jeder einzelne Wert anklicken. Und bei jedem Klick auf einen Filter lädt die Seite neu. Wenn man beispielsweise Laptops filtern will nach gewissen Kriterien, dann kann es gut sein dass man 20 Filter anklicken muss. Das ist nicht nur zeitaufwändig und mühsam sondern fordert auch die Server unnötig. Ich hoffe da wird bald mal etwas gescheites implementiert. Dann macht das Suchen auch Spass.

30.11.2018
User charles34

Freut mich für euch, ABER das ist euer Job und wir Kunden bezahlen indirekt euren Lohn. Wenn das Angebot Black Friday-würdig gewesen wäre, dann hättet Ihr bestimmt noch mehr verkaufen können. Die Folgen hat man am Cyber Monday gesehen. Ich und x-tausende auch, sind schlafen gegangen und haben nicht bis 00.00 Uhr gewartet. Die meisten Sachen findet man auch unterjährig zu solchen Preisen. Macht also lieber mal einen richtigen Black Friday/Cyber Monday oder Ihr werdet noch mehr "traffic" verlieren. Und zum Argument geiz ist geil. Wenn man mich geil macht, dann will ich auch ran.

30.11.2018
User Anonymous

Dass es im Vergleich zu 2017 zu keinen längeren Unterbrüchen kam, ist wohl weniger eurem "Fels in der Brandung", als viel mehr den insgesamt schwachen Aktionen von Digitec/Galaxus zu verdanken. Die grüne und rote Konkurrenz war zu keinem Zeitpunkt down und hatte meines Erachtens auch die besseren Angebote. Digitec ist leider nicht mehr das, was es einmal war. Oranges "M" sei Dank? Aber: wenigstens sind deine Beiträge @ Dominik Bärlocher weiterhin top! Sonst gäbe es für mich auch kaum mehr einen Grund, hier vorbeizuschauen.

30.11.2018
User Anonymous

Würde das S9 oder vor allem die Denon Soundbar nicht nicht wirklich als schwach bezeichnen.
Wenn man sich 2 min nimmt, und die Preishistory mal auf Toppreise anschauen wird man schnell sehen dass das Angebot gut war. Liegt wohl eher an die Geiz ist Geil Mentalität und dass einfach für Dich nichts dabei war ^^

30.11.2018
User Telaran82

Also "Grün M" und "Rot I" waren am Black Freitag durchaus down (Tagsüber, weil sich da deren Angebote rumgesprochen haben). Es gab eine schöne 503 von der Amazon AWS CloudFare über mehrere Minuten. Bei "Grün M" waren sogar so, dass ein Freund verteilt über 1h seine Switch versucht hat zu bestellen (mal war der Warenkorb leer, mal wieder voll, mal war die Zahlung blockiert, mal nicht, usw. Wahrscheinlich also ein Problem mit dem Session Management über Load Balancer).

Aus meiner Sicht hat Digitec/Galaxus durchaus gute Arbeit geleistet mit der Infrastruktur.

30.11.2018
User Anonymous

Da verwechselst du aber etwas. Mit GiG hat meine Kritik überhaupt nichts zu tun. Ich finde einfach, dass Digitec in letzter Zeit den Mund häufig viel zu voll nimmt und irgendwelche Aktionen anpreist, die häufig gar keine echten Aktionen sind. Das ist mir unsympathisch. Für gute Beratung und die guten redaktionellen Beiträge zahle ich sogar gerne etwas drauf. Allerdings bin ich allergisch gegen reisserische und gross angekündigte Aktions-Versprechen, die sich dann nur als heisse Luft herausstellen. Früher hatte das Digitec nicht nötig.

30.11.2018
User Screwface

Also ich konnte beim roten "I" praktisch den ganzen Sonntag über keinen Wasserkocher bestellen, obwohl die Verfügbarkeit auf "Grün" war und "Verfügbar - Wenige auf Lager" stand. Ich habe extra noch einen Screenshot gemacht und ein E-Mail geschrieben, welches bis heute nicht mal beantwortet wurde! Aus Konsumentensicht ist es schon ziemlich fragwürdig, dass sich die Händler in den AGBs einfach mit der Klausel "Irrtümer und Fehler blabla..." aus der Verantwortung ziehen können und sehe in solchen Fällen schon eine klare Bringschuld, seitens der Händler. Anyway... oranges "M" und blaues "d" sind mir immer noch 1000x lieber, als dieser [Bitte beliebiges Fluchwort hier einfügen]-Laden aus Bern!

30.11.2018
Antworten
User femaco

0:02 hatte ich einen Error 502. Wurde hier auch nicht explizit erwähnt aber gemäss Facebook Livestream war das auf eines von 15 Servern zurückzuführen. Alles in allem war das aber eine super Leistung von euch! Ich weiss selber wie schwierig so etwas ist. Weiter so!

30.11.2018
User kitzmuellerm

Soll heissen, das unsere Nutzerdaten nun in der Cloud stehen ?

30.11.2018
User xazax

Hast du einen Facebook Account?

30.11.2018
Antworten