Cloud Hosting Extrem: So überlebte die SugarShape Website “Die Höhle der Löwen”

Im ersten Teil unserer Blogreihe “Cloud Hosting Extrem” geht es um den Umgang mit extremen Lastspitzen, wie sie durch TV-Shows, reichweitenstarke YouTube-Kanäle oder Facebook-Seiten entstehen können. Am Beispiel des Auftritts unseres Kunden SugarShape vor 2,65 Mio Zuschauern in der TV-Show “Die Höhle der Löwen” verraten wir euch, wie wir sugarshape.de durch die Sendung gebracht haben.

In der Hölle des Traffics

In der TV-Show “Die Höhle der Löwen” pitchen Start-Ups zur Prime-Time um namhafte Investoren. Ein wesentlicher Nebeneffekt des TV-Auftritts ist die schlagartige Sichtbarkeit des jeweiligen Start-Ups. SugarShape rechnete mit 300.000 Besuchern innerhalb von zwei Stunden und 60.000 gleichzeitigen Gästen auf der Website. Beim Auftritt von Laura und Sabrina am 13.9.2016 erhöhte sich die Anzahl der gleichzeitigen Nutzer innerhalb weniger Minuten von wenigen Hundert auf insgesamt 125.000 (80.000 auf der Startseite sowie 45.000 Nutzer im separaten mobilen Shop).

Momentaufnahme der Startseite zeigt gleichzeitige aktive Nutzer

Momentaufnahme der Startseite zeigt gleichzeitige aktive Nutzer

Herausforderung

Für SugarShape war frühzeitig klar, dass das bisherige Hosting auf einem “Single-Server” die Sendung nicht überstehen würde. Daher hatte sich das Start-Up nach einer Alternativlösung umgesehen. Cloud Plattformen mit Infrastruktur von Amazon Web Services – wie die von root360 – sind für solche Anforderungen auf den ersten Blick ideal: Sie können unlimitiert Hardware “on demand” bereitstellen und jederzeit skalieren. Zusätzlich fällt aber insbesondere bei Hochlast-Szenarien der Applikation eine ebenso große Bedeutung zu. Das heißt: Wenn die Applikation nicht ebenfalls auf Performance unter Hochlast getrimmt ist, kann dieses Manko nicht automatisch durch z.B. mehr CPU im Webserver oder eine größere Datenbank ausgeglichen werden.

Lösungsansätze

Sugarshape.de hat OXID als Shopsystem im Einsatz, was – genau wie Shopware oder Magento – bei entsprechender Präparierung problemlos im Hochlast-Bereich eingesetzt werden kann.

Lösungsansatz 1 war somit die Migration von OXID auf die root360 Cloud Plattform bei Amazon Web Services sowie die “Härtung” des Shopsystems für den TV-Auftritt. Letzteres würde sich insbesondere über das Caching stark frequentierter Seiten abspielen (Startseite, Katalog). Dieses Caching kann innerhalb der Applikation oder extern über Dienste wie Cloudfront oder Cloudflare erfolgen. Ziel ist die Reduzierung der Anfragen an die Applikationsserver sowie an die relationale Datenbank. Es besteht auch die Möglichkeit, den Katalog des Shops zu separieren und z.B. über NoSQL-Datenbanken abzubilden. Weiterhin wären Anpassungen im Checkout (z.B. asynchrone Verarbeitung der Bestellungen) oder beim Mailversand (über AWS SES – Simple Email Service) möglich.

Lösungsansatz 2: SugarShape wollte in der Show eine individuell zusammengestellte Produktbox – die “VIB-Box” – vorstellen. Diese Boxen wurden schon vor der Sendung über eine separate Bestellstrecke abgebildet. Weiterhin gab es neben dem eigentlichen OXID-Shop noch einen mobilen Shop beim Anbieter Shopgate, der auch Amazon Web Services als elastische Infrastruktur nutzt. Somit ergab sich die Möglichkeit, die root360 Cloud Plattform für die Show auf die Bestellstrecke der VIB-Box zu optimieren und als nachgelagerten Online-Shop übergangsweise direkt Shopgate einzubinden.

Technische Umsetzung

Die Entscheidung fiel auf Lösungsansatz 2. Dieser versprach bei übersichtlichem Aufwand eine sehr hohe Stabilität und vor allem ausreichend Reserven, sollte die Anzahl der Zugriffe viel höher sein als erwartet. Durch die Fokussierung auf die VIB-Boxen bestand die Web-Applikation somit im Wesentlichen aus Microsite und Bestellstrecke für die Box, während der mobile Shop bei Shopgate separat lief.

Microsite

Sämtliche statischen Inhalte der Microsite wie HTML, Bilder, CSS und JavaScript wurden über einen Cache, in diesem Fall das Amazon CloudFront CDN, abgebildet. Da das Amazon CDN standardmäßig “nur” 15.000 Anfrage pro Sekunde ermöglicht, wurden die Media-Inhalte zusätzliche auf mehr als 30 einzelne CDN-Endpunkte verteilt und damit die Anzahl der möglichen Anfragen erhöht. Somit war es “out of the box” möglich, ein Vielfaches der geplanten Zugriffe abzuarbeiten. Es besteht optional auch die Möglichkeit, die Anzahl von 15.000 Anfragen pro Sekunden signifikant zu erhöhen zu lassen. Dies ist vor allem zertifizierten AWS Partnern wie der root360 vorbehalten, da AWS hierzu genaue Informationen zum konkreten Einsatzszenario benötigt und diese im Vorfeld abgestimmt werden müssen.

Bestellstrecke

Die Bestellstrecke der VIB-Box bestand sowohl aus statischen als auch aus dynamischen Bestandteilen. Für alle statischen Inhalte wurde der bereits beschriebene Ansatz der Microsite übernommen. Die dynamischen Inhalte – eine PHP-Programmierung – verteilten sich auf automatisch skalierende Webserver. Diese wurden so auf Anfragevolumen optimiert, dass keine Daten der Formulare verloren gehen konnten.

Für die Ablage der Bestellungen sollte eine MySQL Daten eingesetzt werden. Relationale Datenbanken wie MySQL bilden bei hohen Lasten regelmäßig einen Flaschenhals. Außer der in Frankfurt noch nicht verfügbaren Datenbank “Aurora”, kann der reguläre MySQL-Dienst RDS bei Amazon Web Services auch nicht automatisch skalieren. Daher wurde die MySQL-Datenbank über einen “High Availability Proxy” (HAProxy) so aufgesetzt, dass die Schreibzugriffe zusätzlich auf weitere Datenbanken verteilt werden konnten.

cloud-hosting-exrem-planned infrastructure-die-höhle-der-löwen

Technische Umsetzung der elastischen Infrastruktur mit AWS

Lasttests

Lasttests geben eine gute Indikation für das Verhalten einer Applikation unter Last, wobei sie keine abschließende Sicherheit bedeuten. Zur Vorbereitung der TV-Ausstrahlung wurde die sugarshape.de Cloud-Umgebung über loader.io ausführlich auf Herz und Nieren getestet. Hierbei wurden Tests der statischen Inhalte mit bis zu 15.000 Requests pro Sekunde simuliert, was die Umgebung mit einer fehlerfreien Auslieferung von ~340ms pro Seite kommentierte.

Spannend wurde es bei der Bestellstrecke, die in diesem Szenario das “Bottleneck” darstellte. Bei Aufschalten von bis zu 6 PHP-Websern konnten über 600 Transaktionen pro Sekunde erfolgreich getestet werden, was 360.000 Bestellungen in 10 Minuten entsprochen hätte. Während der Tests wurden sowohl die Einstellungen an PHP als auch an der Datenbank optimiert. Weiterhin wurden verschiedene Szenarien getestet (externe Schnittstellen nicht erreichbar, Mailserver ausgefallen, …).

Dooms-Day

Für die Ausstrahlung am 13.9.2016 wurde die Cloud-Umgebung einige Stunden vor der TV-Sendung “vorgewärmt”. Hierzu wurden insgesamt 6 Webserver der Größe “c4.2xlarge” (8 CPU, 15 GB RAM) sowie eine redundante Datenbank “m4.2xlarge” (8 CPU, 32 GB RAM) gestartet. Durch aktiviertes Autoscaling war die Umgebung zusätzlich in der Lage, jederzeit um weitere Webserver aufzustocken. Weiterhin wurde für den Fall einer Überlastung der Haupt-Datenbank eine zusätzliche MySQL-Datenbank bereitgestellt. Während der Sendung überwachten Mitarbeiter von root360 permanent Access- und Error-Logs sowie die Transaktionen.

Zahlen

In den ersten 24 Stunden nach der Ausstrahlung zeichnete für Microsite, Bestellstrecke und mobilen Shop folgendes Bild ab:

  • über 500.000 eindeutige Benutzer
  • 125.000 gleichzeitige Nutzer in der Spitze
  • über 800 Seitenaufrufe pro Sekunde in der Spitze
  • über 16.000 Bestellungen

Fazit

Der Auftritt in “Die Höhle der Löwen” war für SugarShape sehr gut verlaufen. Es wurden wesentlich mehr VIB-Boxen bestellt als geplant. Auch die Bestellzahlen im zwischenzeitlich wieder aktivierten Online-Shop befinden sich auf einem Rekordhoch. Die root360 Cloud Plattform hat sowohl die Sendung, als auch die “Nachbeben” in den darauffolgenden Tagen – wie beispielsweise bei einem Beitrag bei RTL Explosiv – souverän gemeistert. Für uns hat sich einmal mehr bestätigt, dass auch einem durch 2,65 Millionen Zuschauer ausgelösten Besucheransturm mit einer überlegten Konzeption, Umsetzung, Tests sowie ausreichend Cloud Ressourcen beizukommen ist.

Verpassen Sie keinen Cloud-Artikel mehr. Jetzt für unseren Newsletter anmelden!

Dieser Beitrag hat 7 Kommentare

  1. Reden wir von dem selben SugarShape?

    Die Aussage meiner Freundin und die Darstellung meines Tablets, war eher Etwas in Richtung „Webseite nicht erreichbar“.

      1. Naja, dann würde ich mich hier nicht so groß damit rühmen… Bei TV kommen deutlich >70% über Mobile, bei diesem Produkt wahrscheinlich noch deutlich >80%. Also war die Seite für den relevanten Teil der Zielgruppe (teilweise?) nicht erreichbar.

        „Weiterhin wurde für den Fall einer Überlastung der Haupt-Datenbank eine zusätzliche MySQL-Datenbank bereitgestellt.“
        Was soll das heißen? Habt Ihr eine Master/Slave Config gemacht oder hättet Ihr einfach stumpf Bestellungen an einen der beiden Server geschickt? Damit wären sie zumindest irgendwo auffindbar…

        Und sorry, eine Seite mit solch intimen Dingen nicht über eine sichere Verbindung auszuliefern, noch nichtmal den Bestellprozess?

        1. Hi Paul,

          danke für deinen Kommentar. Um es nochmal klarzustellen, da es im Text offenbar nicht so herauskam: Shopgate war nicht für die mobilen Nutzer zuständig, sondern generell für den nachgelagerten Shop. Shopgate lässt sich nämlich auch super vom Desktop aus nutzen:). Ansonsten liegst du mit der Verteilung richtig, wie man im Screenhot oben auch sehen kann. Dort erkennst man auch, dass die Seite für mobile Kunden erreichbar war und auch erreicht wurde.

          Zu Datenbank: Die Erläuterung findest du unter“Bestellstrecke: „Daher wurde die MySQL-Datenbank über einen “High Availability Proxy” (HAProxy) so aufgesetzt, dass die Schreibzugriffe zusätzlich auf weitere Datenbanken verteilt werden konnten.“ (siehe auch http://www.haproxy.org). Ansonsten war die Datenbank (natürlich) auch Master/Slave redundant und Multi-AZ (also auch zwei Rechenzentren verteilt) aufgesetzt.

          Zum SSL: Rückblickend ist das richtig, da neben dem Sicherheitsaspekt die Last auf der VIB-Box rein technisch auch abbildbar gewesen wäre.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.