- Funktionen
- Pricing

Dieser Blog basiert auf einer Upsun-Livestream-Diskussion mit Guillaume Moigneu, Field Engineer, und Thomas di Luccio, Product Manager bei Upsun. Moderiert wurde das Gespräch von Greg Qualls. Wir haben KI-Tools für die Transkription und zur Verbesserung der Struktur und Verständlichkeit der Inhalte eingesetzt.
Wenn der Black Friday näher rückt, steht für E-Commerce-Unternehmen viel auf dem Spiel. Während Marketingteams von Rekordumsätzen träumen, sehen sich die technischen Teams mit einer anderen Realität konfrontiert: Sie müssen sicherstellen, dass die Infrastruktur den beispiellosen Datenverkehr bewältigen kann, ohne zusammenzubrechen. In einem kürzlichen Gespräch zwischen den Entwicklern Greg, Guillaume und Thomas tauschte die Gruppe hart erarbeitete Erkenntnisse aus der Bewältigung von Ereignissen mit hohem Datenverkehr aus.
Guillaumes Erfahrung vermittelt ein anschauliches Bild davon, was auf dem Spiel steht. Er hat für E-Commerce-Agenturen gearbeitet, die 30 bis 40 große europäische Einzelhändler, vor allem aus dem Modebereich, betreuen, und dabei sowohl Erfolge als auch Katastrophen erlebt. „Es ist immer ein großer Druck und wir versuchen, so gut wie möglich zu reagieren“, erklärte er und erinnerte sich an den Stress der Teams, die während der Verkaufsspitzen rund um die Uhr arbeiteten.
Tomas erzählte seine eigene warnende Geschichte aus der Ticketbranche. Als sein Unternehmen einen Vertrag mit einem bedeutenden neuen Veranstaltungsort abschloss, löste die Ankündigung der Saison eine Flut von eifrigen Käufern aus. „Alle kauften Tickets, viele Tickets gleichzeitig, es gab einen großen Ansturm auf die Website, alle Apps nutzten dieselbe API, und alles brach zusammen“, erinnert er sich. Die Lektion war klar: Vorbereitung ist kein Luxus, sondern eine Notwendigkeit.
Beide Experten betonten, dass eine erfolgreiche Vorbereitung auf den Black Friday Monate im Voraus beginnt, nicht Wochen. Guillaume empfahl einen konkreten Ansatz: „Jedes Mal, wenn Sie sich auf den Black Friday vorbereiten, insbesondere wenn es sich um eine neue Anwendung oder etwas handelt, das Sie noch nicht wirklich getestet haben, müssen Sie sich tatsächlich ein paar Monate Zeit nehmen, um die Entwicklung neuer Features zu verlangsamen.“
Das bedeutet nicht, dass der Code komplett eingefroren werden muss, aber es erfordert eine Verschiebung der Prioritäten. Entwicklungsteams brauchen Zeit, um umfassende Testprozesse einzurichten, Tools zur Überwachung der Performance wie blackfire oder New Relic zu implementieren und ihren Code zu profilieren, um potenzielle Engpässe zu identifizieren, bevor sie zu kritischen Ausfällen führen.
Eine der wichtigsten Empfehlungen von Tomas konzentriert sich auf die Schaffung genauer Testbedingungen. „Sie müssen in der Lage sein, die gleichen Bedingungen zu schaffen, also erstellen Sie einen Klon Ihrer Produktionsanwendung – gleiche Konfiguration, gleiche Version von allem, gleiche Ressourcen“, erklärte er.
Dieses Prinzip geht über die reinen Hardware-Spezifikationen hinaus. Teams sollten mit Datenbanken in der Produktivumgebung testen und nicht mit kleinen Entwicklungsdatensätzen. Wie Tomas anmerkte, hat das Testen mit ein paar hundert Einträgen nichts mit der Abfrage einer Produktionsdatenbank mit komplexen, realen Daten zu tun. Die Unterschiede in der Performance können dramatisch und aufschlussreich sein.
Für Lasttests wurden in der Diskussion Tools wie Locust hervorgehoben, mit denen Tausende von gleichzeitigen Benutzern simuliert werden können. Guillaume betonte jedoch einen wichtigen Aspekt: Die Erzeugung realistischen Datenverkehrs erfordert erhebliche Ressourcen. „Die meisten großen E-Commerce-Websites möchten etwa 10.000 Transaktionen oder Benutzer gleichzeitig verarbeiten. Daher kann der Einsatz von Software und Lösungen wie Locust Cloud tatsächlich hilfreich sein, da man nicht Dutzende von AWS-Instanzen einrichten möchte, um Datenverkehr an diese Website zu senden.“
Die Herausforderung ist nicht nur technischer Natur, sondern besteht auch darin, realistische Testszenarien zu definieren. Das Verhalten der Nutzer ist unvorhersehbar: Einige stöbern stundenlang in Katalogen, andere legen Hunderte von Produkten in ihren Warenkorb, um ihn dann als Wunschliste zu verwenden. Die Zusammenarbeit mit Analyseteams, um die tatsächlichen Nutzergewohnheiten zu verstehen, ist zeitaufwändig, aber unerlässlich.
Auf die Frage, welche Maßnahme Entwickler ergreifen sollten, wenn die Zeit begrenzt ist, zögerte Guillaume nicht: Konzentrieren Sie sich auf Caching. „Caching kann erstaunlich sein, Caching kann viele Engpässe in Ihrer Anwendung beseitigen, wenn es richtig gemacht wird“, sagte er und verwies auf das berühmte Sprichwort aus der Informatik über die zwei schwierigen Dinge: „Caching und Benennung“.
Richtig implementiertes Caching erfüllt zwei wichtige Funktionen. Erstens verbessert es die Benutzererfahrung durch schnellere Ladezeiten erheblich. Guillaume zitierte die oft zitierte Statistik von Amazon, wonach jede zusätzliche Ladezeit von 100 Millisekunden zu erheblichen Einnahmeverlusten führt. Zweitens reduziert Caching die Belastung der Backend-Ressourcen und Datenbanken und verhindert so eine Überlastung bei Traffic-Spitzen.
Tomas' wichtigste Empfehlung war die Investition in Observability-Tools. „Verschaffen Sie sich die Möglichkeit, das Verhalten Ihrer Anwendung und Ihrer Infrastruktur zu beobachten, und versuchen Sie, daraus zu lernen“, riet er. Die Investition ist jedoch nicht rein finanzieller Natur; es erfordert Zeit, um zu lernen, wie man diese Tools effektiv nutzt und die von ihnen gelieferten Daten versteht.
Das Schöne an der Beobachtbarkeit ist laut Tomas ihre Leitfunktion: „Sie tippt Ihnen auf die Schulter und sagt: ‚Schauen Sie sich das an, schauen Sie in diese Richtung.‘ Anstatt zu raten, wo Probleme auftreten könnten, decken Beobachtbarkeitstools tatsächliche Engpässe, langsame Anfragen und ressourcenintensive Prozesse auf und ermöglichen so eine gezielte Optimierung.
Greg sprach einen oft übersehenen Punkt an: Bei Lasttests geht es nicht nur um die Validierung der Technologie, sondern auch um die Prüfung von Menschen und Prozessen. Regelmäßige Tests helfen neuen Teammitgliedern, Notfallverfahren zu verstehen, bevor eine Krise eintritt, und stellen sicher, dass sie vorbereitet sind. Sie zeigen auch, wie scheinbar geringfügige Änderungen unerwartete Auswirkungen auf das gesamte System haben können.
Guillaume betonte die Bedeutung von Backup-Prozessen: „Sie sollten Backup-Prozesse einrichten, genauso wie Sie backups für Ihre Daten erstellen sollten.“ Es kommt unvermeidlich zu Problemen – Mitarbeiter sind möglicherweise nicht verfügbar, das Marketing fordert in letzter Minute Änderungen, Produkte sind ausverkauft und müssen aktualisiert werden. Dokumentierte Prozesse und klare Kommunikationskanäle sind daher von entscheidender Bedeutung.
Das Gespräch verdeutlichte, wie die moderne cloud-basierte Infrastruktur die Vorbereitungen für den Black Friday verändert hat. Vorbei sind die Zeiten, in denen man um 4 Uhr morgens zum Rechenzentrum fahren musste, um physisch Server hinzuzufügen. Allerdings sind neue Herausforderungen entstanden. Während der COVID-19-Pandemie, als die Nachfrage im E-Commerce sprunghaft anstieg, hatten einige Cloud-Anbieter aufgrund von Chip-Engpässen Schwierigkeiten, neue Instanzen bereitzustellen.
Guillaume arbeitet heute für eine cloud-basierte Anwendungsplattform und hat erlebt, dass Kunden für einen einzigen Tag auf 1.200 CPUs skaliert haben. „Das ist immer eine Herausforderung, denn wie diese Anwendungen sind auch sie manchmal nicht wirklich für eine so hohe Skalierung ausgelegt“, merkte er an. Die Erkenntnis, dass Caching-Lösungen wie Redis single-threaded sind, kann bei einer Skalierung auf ein noch nie dagewesenes Niveau eine überraschende Offenbarung sein.
Manchmal kommen die größten Herausforderungen aus völlig unvorhergesehenen Umständen. Guillaume erinnert sich, dass er ohne Vorwarnung im wichtigsten französischen Fernsehsender vorgestellt wurde: „Natürlich ist alles zusammengebrochen, weil wir darauf nicht vorbereitet waren.“ Dies unterstreicht die Bedeutung einer effektiven Kommunikation zwischen den Abteilungen, insbesondere zwischen Marketing- und Technikteams, hinsichtlich bevorstehender Kampagnen und ihrer zu erwartenden Auswirkungen.
Guillaume drückte es so aus: „Es gibt kein schlimmeres Gefühl, als wenn Ihr CEO zu Ihnen kommt und sagt: ‚Hey, wir haben 1 Million Dollar Umsatz verloren, weil die Website ausgefallen ist.‘“ Der Schlüssel liegt darin, sich daran zu erinnern, dass diese Situationen eher gemeinsame Verantwortung als Schuldzuweisungen erfordern. Rückblickend sollte es darum gehen, zu lernen; vorausschauend sollte es darum gehen, sich zu verbessern.
Eine häufig übersehene Herausforderung ist die Verwaltung von Feature-Anfragen, die die Performance beeinträchtigen können. Guillaume betonte, dass unnötige Anpassungen vermieden werden sollten: „Versuchen Sie, sich an das zu halten, was Ihre Lösung tatsächlich leistet. Wenn Sie Magento verwenden, versuchen Sie nicht, es zu überarbeiten und alles neu zu gestalten, denn dann werden Sie Probleme mit Updates und möglicherweise mit der Sicherheit haben, und die Performance wird sehr schlecht sein.“
Tomas hob die heimtückische Natur einer schleichenden Verschlechterung hervor. Eine Funktion, die nur zwei SQL-Abfragen erfordert, mag für sich genommen harmlos erscheinen. „Zwei SQL-Abfragen machen keinen Unterschied, das ist wahr“, räumte Tomas ein. „Aber das wiederholt sich alle zwei Wochen, und wenn der Black Friday kommt, haben Sie 200 SQL-Abfragen mehr.“
Während einige automatisierte Tests als umstritten ansehen, befürworteten beide Experten sie als wichtige Sicherheitsmaßnahme. Automatisierte Tests erkennen nicht nur funktionale Regressionen, sondern auch Rückgänge in der Performance und stellen so sicher, dass neue Features nicht versehentlich bestehende Funktionen beeinträchtigen.
Tomas warnte jedoch vor einer häufigen Falle: Teams, die unter Druck stehen, kommentieren manchmal fehlgeschlagene Tests aus, um die Bereitstellungsfristen einzuhalten, vergessen dann aber, die zugrunde liegenden Probleme zu beheben. „Man sollte das Problem nicht durch Tricks beheben, sondern den Grund für das Scheitern des Tests beseitigen“, mahnte er.
Bei der Diskussion über JavaScript-Frameworks rieten beide Entwickler zu Pragmatismus statt Trendbewusstsein. Guillaume verwendet persönlich Svelte und SvelteKit, räumt jedoch ein, dass React und Next.js aufgrund ihrer etablierten Ökosysteme und umfangreichen Komponentenbibliotheken weiter verbreitet sind. Angular ist aufgrund der Unterstützung durch Unternehmen nach wie vor in Unternehmensumgebungen weit verbreitet.
Das wichtigste Prinzip: „Wenn Sie etwas veröffentlichen, stabil sein und es weiterhin veröffentlichen möchten, halten Sie sich zumindest vorerst an die Grundlagen“, riet Guillaume. Das Experimentieren mit neuen Technologien wie Bun oder Turbo ist für Nebenprojekte in Ordnung, aber Produktionsanwendungen profitieren von ausgereiften, gut unterstützten Frameworks.
Tomas geht noch einen Schritt weiter: „Ich benutze React seit vielen Jahren und möchte einfach nicht wechseln, weil ich es nicht benutze – nun ja, ich bin eher ein Backend-Typ.“ Sein pragmatischer Ansatz findet bei vielen Entwicklern Anklang: Verwende das, was du kennst, es sei denn, es gibt einen zwingenden Grund für einen Wechsel. Wie er anmerkte, müsste er wechseln, wenn Facebook eines Tages die Unterstützung für React einstellen würde, „aber bis jetzt ist React gut“.
Die Vorbereitung auf den Black Friday erfordert einen ganzheitlichen Ansatz, der technische Vorbereitungen, die Bereitschaft des Teams und die abteilungsübergreifende Kommunikation in Einklang bringt. Die schlechteste Strategie ist, wie Tomas es unverblümt ausdrückte, nichts zu tun: „Wenn ein Black Friday schlecht gelaufen ist, warten Sie nicht ein Jahr in der Hoffnung, dass in einem Jahr alles besser wird.“
Erfolg entsteht, wenn man Ereignisse mit hohem Datenverkehr als das beste Szenario für das Geschäft betrachtet und sich gleichzeitig auf die schlimmsten technischen Szenarien vorbereitet. Beginnen Sie Monate im Voraus mit Tests, investieren Sie in Beobachtbarkeit, implementieren Sie aggressives Caching, schaffen Sie realistische Testumgebungen und stellen Sie sicher, dass Ihr gesamtes Unternehmen die Herausforderungen und seine Rolle in diesem Prozess versteht.
Am wichtigsten ist es, Ihre gesamte Einrichtung unter Berücksichtigung der schlimmsten Szenarien zu gestalten – denn im E-Commerce kann der beste Tag für das Geschäft schnell zum schlimmsten Tag für die Technologie werden, wenn die Vorbereitungen unzureichend sind.
Join our monthly newsletter
Compliant and validated