Ungeplante Ausfallzeiten und Downtime? Keine Option für farfetch.com, die Online-Plattform für Luxusfashion mit Hauptsitz in der Modemetropole London. In dieser Case Study erläutert Senior Principal Engineer Manuel Garcia, wie er und sein gut 130 Entwickler:innen starkes Team sich dank Observability neuer Verkaufsrekorde am Black Friday sicher sein können.

Wie für die meisten anderen Einzelhändler unterschiedlichster Branchen gehört der Black Friday auch für FARFETCH zu den wichtigsten Tagen des Jahres. Damit das Kundenerlebnis dem hohen Wert der außergewöhnlichen Couture auf der Plattform gerecht wird, muss auch in der Tech-Infrastruktur alles ineinander greifen. Und mit dem Black Friday wartet hier ein ganz besonderer Prüfstein.

Jahr für Jahr begeben sich Ende November Millionen Kund:innen auf die Suche nach den besten Deals für exklusive Produkte. 2020, so zeigen Daten von Adobe Analytics, nahmen die globalen Online-Gesamtumsätze an diesem Tag erneut um 22 % zu und erreichten einen neuen Spitzenwert von 9 Milliarden US-Dollar. Auch bei farfetch.com schnellten die Traffic-Zahlen um das Dreifache in die Höhe.

In meiner Rolle als Senior Principal Engineer bin ich Teil des Engineering-Teams von farfetch.com. Zu meinen Aufgaben gehört es, unsere Plattform in punkto Infrastruktur auf saisonale Sales-Peaks vorzubereiten und so Ausfällen und ungewollter Downtime präventiv vorzubeugen. In der Zeit rund um den Black Friday setzen wir dabei besonders auf Observability.

Die wahre Kunst liegt hinter den Kulissen

Ob Singles' Day, Black Friday oder Cyber Monday, ob auf Desktop- oder Mobilgeräten – das Erlebnis unserer Kund:innen und seine Qualität beginnen eigentlich hinter den Kulissen, für sie unsichtbar.

Gerade zu diesen so intensiven Phasen sind wir umso mehr rund um die Uhr damit beschäftigt, Probleme zu identifizieren und zu adressieren, bevor sie sich auf die CX auswirken können. Unbedingt notwendig dafür ist es, unsere Software, Infrastruktur und Cloud-Investitionen adäquat zu skalieren, um so Uptime und Performance hoch halten zu können.

Unsere Software muss vor allem robust und stabil laufen, in jeder Hinsicht. Ganz ohne Herausforderungen geht dies aber nicht einher. Eine Traffic-Steigerung um 300 % bedarf zunächst einmal eng verzahnter Zusammenarbeit im Team und, wichtiger noch, Insights zur Anpassung unserer Infrastruktur, damit wir neue Services und Features sicher und zielführend hinzufügen können. Nur so sind wir in der Lage, weiteres Business-Wachstum zu stützen und zu fördern, ohne CX-Kompromisse eingehen zu müssen. 

Und wir wollen dabei durchaus ambitioniert vorgehen, uns Jahr für Jahr steigern, Erwartungen im Idealfall nicht nur erfüllen, sondern übertreffen. New Relic ist hierfür unabdingbar für uns.

Plan. Test. Observe. Repeat.

FARFETCH als Online-Plattform setzt auf einer Microservice-Architektur auf und ist dabei Teil eines komplexen Systems. Mit hunderten Microservices, innovativen Features und viel I/O-Arbeit sichern wir das Shopping-Erlebnis unserer Kund:innen zum Black Friday. Doch diese Downstream-Services nutzen häufig verschiedenste Technologien, werden nicht alle vom selben Dev-Team entwickelt und verhalten sich bei hohen Workloads ebenfalls unterschiedlich. 

Zusätzliche Komplexität kommt durch unsere immensen Datenspeicher an mehreren globalen Standorten ins Spiel. Ihre Inhalte müssen wir rasch verarbeiten, analysieren und für zielführende Entscheidungen nutzen können. Das ist ganz essenziell, damit wir die Plattform-Performance je nach Traffic, Kundenverhalten und Geschäftsanforderungen neu ausrichten können.

Um einigen der dabei auftretenden Herausforderungen bestmöglich zu begegnen, haben wir uns bei der Entwicklung für Microsoft Azure als Grundlage und somit Agilität bei unserer Skalierung entschieden. Dank Team-Rotation, Schichtplänen und guter abteilungsübergreifender Zusammenarbeit sind wir in der Lage, jeden Teil der Plattform ohne Unterbrechung zu überwachen. So bleiben meine Engineering-Teams autonom und sind in der Lage, unsere Plattform bis ins kleinste Detail für den großen Tag vorzubereiten.

Reaktivität können wir uns am Black Friday nicht erlauben. Unsere Planung beginnt daher schon Monate im Voraus mit dem Mantra „Testen, testen und noch mehr testen“. 

Im Vorfeld arbeite ich mit allen Fachsegmenten meines Teams, prüfe Alerts und Timeouts. Dabei versuchen wir, Fallback-Mechanismen und Redundanzen in unserer Architektur zu integrieren. Ein solcher Plan B ist gerade zu so einem besonderen Event schlicht Gold wert, wenn man ihn dann wirklich braucht. Auch Firedrills führen wir durch, ebenso wie Load-Tests und Prüfungen auf Schwachstellen. Bei der Erstellung der Berichte für die einzelnen Microservices kommt uns New Relic enorm zugute. 

Außerdem erstellen wir Daten in New Relic, um unsere Stabilität präzise abzubilden. Tritt bei einem Service ein Performance-Abfall oder gar -Ausfall auf oder funktionieren Backup-Mechanismen nicht wie gewünscht, sehen wir das sofort. Besser noch: Wir können den Offload auf andere Services genau nachvollziehen und erkennen, falls wir Features deaktivieren müssen, um das bestmögliche Kundenerlebnis zu gewährleisten. 

Mit Code Freezes stabilisieren wir die Plattform zudem so weit wie möglich. Mein Team erhält so eine klare Übersicht und visualisierte Abbildung der Plattform an Tagen mit viel Traffic, wodurch wir Probleme rasch antizipieren und adressieren können, bevor sie sich auf unsere Nutzer:innen auswirken. 

Zentrale Transparenz

Die Qualität unserer Dashboards und die klare Übersicht der Abläufe in unserer Plattform sind sehr wichtig für uns, aber auch für unsere Stakeholder. In den vergangenen 24 Monaten war dies ein Fokuspunkt, in den wir viel Zeit investiert haben.

Entstanden ist dabei ein Observability-Mapping, über das wir alle Performance-Faktoren in unseren Rechenzentren überblicken und uns bei Bedarf jederzeit ein bestimmtes genauer ansehen können. Dank eigenen Satellite-Dashboards erhalten wir konsequent umsetzbare Insights zum Monitoring unserer Microservices und der CX im Browser unserer Nutzer:innen am Black Friday. Über sie können unsere Stakeholder zudem auch ablesen, wie unsere Plattform High-Traffic-Phasen mit hohem Umsatzpotenzial und Risiko gleichermaßen konkret verarbeiten konnte.

Observability und New Relic sind integraler Bestandteil von farfetch.com und von unserem Management-Framework als solchem. Sie vermitteln uns Zugang zu wichtigen Signalen wie Reaktionszeiten und Fehlerraten und zugleich eine 360°-Übersicht verschiedenster Microservices und Märkte. 

New Relic macht für uns nicht nur zu Peak-Zeiten den Unterschied.