Shop-Infrastrukturen auf Black Friday vorbereiten

Was tun, um eine komplexe E-Commerce Umgebung für Hochlastzeiten fit zu machen?
STACTORY bietet praxiserprobte Methoden, um Skalierbarkeit und Stabilität in Web-Applikationen sicherzustellen.

Aus der Optimierung einiger der größten Online-Shop-Umgebungen in Deutschland für Black Friday und Cyber Monday haben wir eigene Methoden entwickelt. Unseren Vorgehensmodelle und Tools helfen bei der Organisation von Black Friday Projekten und bei der Erkennung und Beseitigung von Risiken - um die Skalierbarkeit von E-Commerce Umgebungen sicherzustellen, komme was wolle.
Holen Sie sich die Studie "Downtimes in deutschen Top-100 Online-Shops"

Checkliste zur Vorbereitung von Shop-Infrastruktur auf Black Friday

Der "Black Friday" wirft seinen Schatten voraus: am Freitag den 29.11.2019 wird wieder die jährliche Hochsaison im Einzelhandel eröffnet. Dieser Tag ist für die meisten Online-Händler auch der Einstieg in die "CyberWeek" und die Weihnachtssaison.

"Für 2018 planen 31 Prozent der deutschen Onlineshopper den Black Friday und 21 Prozent den Cyber Monday für Einkäufe zu nutzen."(einzelhandel.de)

Gute Vorbereitung ist entscheidend, damit Kunden am Black Friday und in der darauf folgenden Cyber Week nicht online vor verschlossenen virtuellen Ladentüren stehen - allzu oft brechen Shops unter der Last zusammen, und der Unmut der Betreiber über verpasste Marketing-Gelegenheiten ist groß. Die Ursachen für technische Probleme in E-Commerce Shops sind vielfältig, aber gegen viele Risiken können sich Shop-Betreiber schützen. Die folgende Checkliste ist das Ergebnis der praktische Vorbereitung von großen Online-Shops auf Black Friday. Fangen Sie mindestens zwei bis drei Monate vorher an, um für alle Fälle gerüstet zu sein.

1. Forecasts zwischen Marketing und Technik abgestimmt?

Gute Kommunikation zwischen Marketing und IT ist essentiell. Gibt es eine Einschätzung zum Erfolg der Marketingaktionen, und Vergleichszahlen vom vergangenen Jahr? Sind Datum und Zeit geklärt, an dem Aktionen starten? Soll es Flash Sales geben? Wurden erwartete Umsätze auf stündliche Order- und Traffic-Zahlen heruntergebrochen? Wurde der notwendige "Overhead" abgestimmt - wieviel Prozent mehr Traffic als vorhergesagt muss der Shop im Last-Test erfolgreich bewältigt haben, um live gehen zu können?

Nicht zuletzt sind die Perspektiven von Marketing und Technik auch häufig unterschiedlich - schließlich hängen Budget-Forecasts immer auch mit Vertriebszielen zusammen, und eine gute Zusammenarbeit ist wichtig, um aus der vertrieblichen Sicht eine solide "off the record" Zahlenbasis für die Technik zu entwickeln.

2. Risiko-Einschätzungen von beteiligten Dienstleistern und Teams eingeholt?

Hier geht es um klassisches Risiko-Management. Was kann passieren, mit welcher Wahrscheinlichkeit und welchen erwarteten Konsequenzen? Die Liste der Risiken wird nach Erwartungswert (Wahrscheinlichkeit mal Auswirkung) priorisiert, danach können die größten Risiken näher betrachtet und abgearbeitet werden. Wenn die Auswirkungen eines Risikos unklar sind, hilft häufig ein kontrolliertes Experiment (siehe "Game Days" weiter unten), das Risiko besser zu verstehen.

3. Umfassendes Monitoring steht bereit?

Lückenloses Monitoring der Systeme hilft zu verstehen, wo die Ursache von Problemen liegt. Aber schon während vorbereitender Lasttests zeigt ein guter Monitoring-Stack, an welchen Stellen es unter Last eng werden kann. Am besten ist das Monitoring am Nutzer ausgerichtet und zeigt dem IT-Team in , wenn Seiten langsam oder mit Fehlern ausgespielt werden - schon einfache Request Logs sind hierfür eine sehr aussagekräftige Datenquelle ("CDN observability: What HTTP logs tell you about user experience"). In Microservice-Architekturen, inbesondere wenn viele externe Services involviert sind, sind diejenigen am besten aufgestellt, die mit APM-Systemen die komplette Kette von Abhängigkeiten einsehen können. Der code.talks Vortrag zeigt wie es geht:

4. Lasttests erfolgreich durchgeführt?

Risiko #1 in der Black Friday Vorbereitung ist, dass alle beteiligen Shop-Systeme je nach Kampagnenplanung die 5- bis 10-fache Last aushalten müssen. Wer sich bestmöglich gegen Überraschungen absichern will, absolviert Last-Tests in der Produktionsumgebung - die Systemlimits und Konfigurationsmöglichkeiten sind in der Praxis so vielfältig, dass selbst die beste Staging- oder Performance-Test-Umgebung sich in der Praxis nicht genauso verhält wie die Produktion. Entscheidend ist aber, dass die Performance-Tests und Stress-Tests so gut wie möglich das Verhalten echter Nutzer nachbilden. Der Artikel "Making load tests life-like" zeigt, wie sich die Realitätsnähe solcher Tests messen lässt - und nur mit solchen Messungen lassen sich Test-Szenarien schrittweise verbessern.

5. Statischer Content wird vom CDN ausgeliefert?

Wer seine kostbaren Serverkapazitäten nicht auf die Auslieferung von unveränderlichen Javascript-, CSS- und Bildinhalten verwenden will, lässt sie von Content Delivery Networks wie Akamai und CloudFlare zwischenspeichern und ausliefern. Die Caching-Einstellungen der CDNs erweisen sich aber häufig als Sollbruchstelle, wenn sich Seitenstrukturen ändern und die Cache-Vorgaben plötzlich nicht mehr greifen. Tools wie webpagetest.org können zeigen, wie schnell die Seite lädt und wie gut das Caching funktioniert.

Webpagetest cache rating

Kampagnenseiten und Landing Pages werden häufig direkt als statische Seiten erstellt und im CDN hinterlegt, so dass sie ohne Beteiligung der Shop-Server ausgeliefert werden können. Das gleiche gilt für die Ausfallseiten ("Sorry"-Seiten), die für Black Friday und Cyber Week aktualisiert werden sollten, damit Kunden keine technischen Fehlermeldungen sehen wenn es dann doch ruckeln sollte. Im Twitter-Account DownShops sammeln wir solche Sorry-Seiten.

6. Personalisierter Content abschaltbar?

Personalisierte Teile von Seiten, zum Beispiel Empfehlungen, sind gut und wichtig - aber häufig auch "teuer" im Bezug auf Rechenzeit. Bei serverseitiger Auslieferung personalisierter Inhalte ist es gut, einen Fallback-Plan zu haben, wenn die Personalisierung zu viel Kapazität benötigt oder überlastet ist. Wer auf Sicherheit spielen möchte, schaltet personalisierte Inhalte zum Black Friday prophylaktisch ab und schaltet dafür ein CDN-Caching der entsprechenden Seiten an.

7. Potenzielle Bottlenecks identifiziert?

Gerade in modernen Microservice-Architekturen gibt es viele bewegliche Teile, die beobachtet und auf hohe Last angepasst werden müssen, weil sie ihre eigenen Limits haben (auch mit Autoscaling). Lasttests (siehe Punkt 4) sind unabdingbar, und APM-Tools (siehe Punkt 3) geben wichtige Hinweise auf überlastete Services.

8. Riskante Features optimiert und abschaltbar gemacht?

Auch wenn die Standard User Journey (Produkte finden, auswählen, bestellen) schon stark optimiert wurde, können in weniger häufig verwendeten Shop-Funktionen noch Gefahren lauern - schlimmstenfalls mit dem Potenzial, auch die Kernfunktionen des Shops zu beeinträchtigen. Beispiele sind:

Das Monitoring sollte solche "teuren" Funktionen schon finden können, wenn nach besonders langsamen Requests oder Datenbankabfragen gesucht wird. Gewissheit bringt aber wieder nur ein Lasttest oder "Game Day" Test. Idealerweise lassen sich teure Features optimieren, ersatzweise im Shop abschalten. Schlimmstenfalls, dann aber mit deutlicher Beeinträchtigung der Shop-Funktionalität aus Kundensicht, lassen sich solche Features über die Firewall oder das CDN blocken um die Kernfunktionen des Shops zu schützen.

9. Infrastruktur-Kapazität angepasst?

Ohne Begleitung durch Lasttests (Punkt 4) ist die Hochskalierung von Infrastruktur ein teures Ratespiel. Wenn die Softwareoptimierung jedoch abgeschlossen ist und immer noch die CPU-Kapazitäten von Servern, der Memory-Cache der Datenbanken oder die Netzbandbreite von Load Balancer das Nadelöhr ist, dann hilft nur "scale out" oder "scale up". Vorsicht bei der Erhöhung von CPUs bei virtuellen Maschinen in private Clouds: je nach Intelligenz der unterliegenden Plattform werden die physischen CPUs der Server zum nächsten Bottleneck, wenn kein "Rebalancing" stattfindet. In Cloud-Infrastrukturen hilft der Kauf von Reserved Instances, rechtzeitig vor Black Friday garantiert weitere Server aufsetzen zu können.

10. Datenbankstrukturen optimiert?

Viele Shop-Plattformen basieren weiterhin auf monolitischen relationalen Datenbanksystemen. Das heißt, dass die Datenbank unter Last das schwächster Glied der Kette sein kann. Erfahrene Datenbankadministrator wissen, wie sie langsame Queries identifizieren und optimieren, und wie sie Risken aus der Konfiguration der Datenbank (von Indizes über Tablespaces bis zu Caches) wirkungsvoll begegnen.

11. Discount-Einstellungen vorbereitet und getestet?

Für die Rabattschlacht an Black Friday gibt es viele Strategien, doch sowohl Gutscheincodes wie auch individuelle Preisänderungen in Produkten haben ihre Risiken. Generell gilt: jede Shop-Einstellung sollte vorher getestet werden, auch unter Last. Wenn also an Black Friday eine Serie von Gutscheincodes verwendet werden soll, dass sollte vorher ein Lasttest unter Verwendung der gleichen Gutscheincodes gezeigt haben, dass sowohl Performance wie auch Funktionalität stimmen.

12. Web Application Firewall aktualisiert?

"Bots" - automatisierte Crawler wie auch gezielte Attacken von Bot-Nets - sind keineswegs nur an Black Friday ein Problem. Es muss aber vermieden werden, dass diese Bots während der Marketing-Promotions mit hohem Traffic den Ausschlag dafür geben, dass ein Shop sich abmeldet. Gezielte Tests und Reviews der Firewalls helfen, das Risiko zu minimieren:

13. Situation Room organisiert?

Die beste Vorbereitung kann nicht verhindern, dass es an Black Friday doch noch unvorhergesehene Ereignisse geben kann. Der "Situation Room" dient dazu, schnell auf die wichtigsten Personen zugreifen zu können und die Kommunikation zu erleichtern, wenn der Shop plötzlich in Schwierigkeiten gerät. Der ideale Situation Room hat Teilnehmer aus IT wie auch Marketing, um Kampagnen kurzfristig anpassen zu können, und wir über Monitore und Alerts sofort alarmiert, sobald sich aus Kundensicht Schwierigkeiten abzeichnen.

Es sollte vorab verabredet worden sein, wer Entscheidungen trifft, wie gleichzeitige Aktivitäten koordiniert werden, und wie im Falle von Schwierigkeiten intern und extern kommuniziert wird. Ein gut vorbereitetes Team kann auf einen Katalog von dokumentierten und getesteten Notfallplänen zurückgreifen, und kennt die Vorteile und Nachteile jedes Plans - bis hin zur temporären Abschaltung von Funktionalitäten oder des ganzen Shops, wenn vergangene Tests gezeigt haben, dass sich dadurch eine Überlast beheben lässt.

Das STACTORY-Modell für stabile IT-Services

Strategie

Technologie skaliert nur, wenn das Team gut zusammenspielt. Skalierbarkeits- und Stabilitätszielen müssen von allen getragen werden - innerhalb und ausserhalb der Organisation, in Softwareentwicklung wie auch Operations.

Practices

‍Von Forecasting bis Last Test, vom Chaos Engineering über Incident Management bis zum Situation Room - etablierte Prozesse und Verfahren sind der Schlüssel, um Skalierbarkeit tief in der Organisation zu verankern.

Architecture

Weil jeder Microservice seine eigenen Skalierbarkeitslimits hat, ist ein Satz solider Architekturprinzipien essentiell, um die Komplexität im Griff zu halten. Anpassung von Infrastruktur kann den kurzfristigen Schmerz von mangelhafter Architektur lindern, aber nicht langfristige Skalierbarkeit sichern.

Testing und Skalierung

‍In der Hardware-Skalierung geht es um die Balance zwischen Risiken, Performance und Kosten. Um an der effektivsten Stelle anzusetzen, müssen die Lasttreiber und Limits verstanden sein - realistische Lasttests sind dafür .

STACTORY unterstützt bei der Vorbereitung auf Black Friday

Aus der Optimierung einiger der größten Online-Shop-Umgebungen in Deutschland für Black Friday und Cyber Monday haben wir spezialisierte Methoden entwickelt. Unseren Vorgehensmodelle und Tools helfen bei der Organisation von Black Friday Projekten und bei der Erkennung und Beseitigung von Risiken. Wir stellen die Skalierbarkeit von E-Commerce Umgebungen sicher.

Holen Sie sich die Studie "Downtimes in deutschen Top-100 Online-Shops"Vereinbaren Sie einen Termin mit einem Experten