Online-Shop Skalieren - Tipps und Hinweise

Dauerhafte Erreichbarkeit Ihres Online-Shops und keine Probleme bei der gleichzeitigen Verarbeitung zahlreicher Besucheranfragen und Transaktionen – das können Sie mit der technischen Optimierung Ihrer Shop-Umgebung erreichen. Steigern Sie die Leistung des Webservers oder sorgen Sie durch den parallelen Betrieb mehrerer Server für eine höhere Ausfallsicherheit Ihres Online-Shops. Erfahren Sie hier, wie Sie sinnvoll skalieren können und wie Ihr Online-Shop auch zu Peak-Zeiten und in Zukunft für Belastungsspitzen gerüstet sein kann.

Hat sich Ihr Online-Shop in der E-Commerce-Landschaft sehr gut etabliert, begegnen Ihnen sicherlich immer mal wieder bei der Analyse der Shop-Performance Zeiträume, in denen besonders viele Nutzer auf Ihren Online-Shop zugreifen. Das kann im Rahmen von wichtigen Events sein oder aufgrund von Rabattaktionen passieren, die Sie Ihren Kunden beispielsweise über Social Media gemacht haben.

Es gibt vielfältige Ursachen, wieso Ihr Online-Shop zu Zeiten hoher Besucherzahlen an seine Leistungsgrenzen gerät oder sehr viel langsamer reagiert. Eine geringe Rechenleistung kann beispielsweise zur Überlastung des Webservers führen. Vermeiden Sie solche ärgerlichen Vorfälle und greifen Sie auf Optionen wie Vertikales Skalieren oder Webserver-Netzwerke zurück. Indem Sie den Online-Shop skalieren, kann dessen Leistung entsprechend den wachsenden Aufgaben gesteigert werden. Außerdem möchten wir Sie dabei unterstützen, zukünftig einen dauerhaft erreichbaren und sehr performanten Online-Shop zu betreiben.

Tipps zur Verbesserung der Webserver-Leistung beim Skalieren des Online-Shops

Ein Webserver ist die technische Grundlage, auf der Ihr Online-Shop läuft. Er stellt für den Online-Shop Rechenleistung und Speicherkapazität zur Verfügung. Abhängig von der Menge der Shop-Aufrufe und -interaktionen benötigt der Webserver mehr oder weniger Leistung. Das heißt, seine Maximalleistung ist zugleich das Limit für die Nutzeranfragen, die gleichzeitig störungsfrei verarbeitet werden können. Treffen mehr Anfragen ein, kann ein Webserver im Regelfall keine der Anfragen mehr zufriedenstellend beantworten.

Wollen Sie die Leistung des Webservers steigern, stehen Ihnen zwei Optionen zur Verfügung: Vertikales Skalieren oder Erstellen eines Webserver-Netzwerks (Clustering).

Online-Shop skalieren - Grafik minimales Server-Setup

1. Vertikales Skalieren für kleinere Online-Shops

Als vertikales Skalieren bezeichnet man die Leistungssteigerung eines einzelnen Webservers, der für den Online-Shop genutzt wird. Das ist ein günstiger Einstieg, der sich gerade für Online-Shops mit kleinerem Sortiment und geringen Besucherzahlen gut eignet. Entsprechend der wachsenden Anfragen können Sie die Rechenleistung des Webservers steigern.

Online-Shop skalieren - Grafik für vertikale Webservererweiterung
Problematisch kann es erst werden, wenn die Serverkapazität nicht weiter technisch aufgerüstet werden kann und an ihre Grenzen stößt. Die Möglichkeiten zur vertikalen Skalierung sind damit begrenzt. Ohne ein Ersatzsystem ist dieser Server zudem selbst nicht ausfallsicher, da es bei Störungen keine Möglichkeit gibt, auf eine alternative Speicherung des Online-Shops auszuweichen.

2. Aufteilung der Rechenleistung auf mehrere Webserver (Clustering)

Eine Alternative – besonders für den Betrieb größerer Online-Shops – ist die Nutzung vieler kleinerer Webserver. Diese Art der Skalierung ist besonders für größere Online-Shops geeignet. Bildet man so ein Netzwerk aus Webservern spricht man von einem sogenannten Cluster. Das kleinste Cluster ist die gleichzeitige Nutzung von mindestens zwei Webservern. Damit verteilt sich die benötigte Rechenleistung zur Verarbeitung von Anfragen (Requests) zumeist gleichmäßig auf die beiden Server. Zugleich steigt die Ausfallsicherheit, indem ein Server die Leistung kurzzeitig übernehmen kann, sollte ein anderer Webserver ausfallen.
Betreiben Sie dieses Cluster bei einem Public-Cloud-Anbieter – etwa über AWS oder Google Cloud Platform – zahlen Sie nur so viel Rechenkapazität (Pay-as-you-go-Modell), wie zur Bearbeitung der Anfragen notwendig sind. Zu Zeiten planbarer großer Auslastung Ihres Online-Shops können Sie weitere Rechenkapazität per Zeitplan oder regelbasiert automatisch hinzufügen oder alternativ spontan manuell weitere Webserver hinzubuchen.
Die Abrechnung der zusätzlich gebuchten Serverleistung erfolgt sehr häufig minutengenau. Beachten Sie jedoch, dass für kurzfristige Buchungen neuer Kapazitäten hohe Minutenpreise verlangt werden. Sie können diese senken, sobald Sie die Dauer der Mietung beispielsweise um mehrere Monate verlängern. Das ist dann sinnvoll, wenn Sie langfristig insgesamt mehr Leistung benötigen – beispielsweise dauerhaft mehr Besucher in Ihrem Online-Shop zu erwarten sind.

Loadbalancing (Lastverteilung)

Wird der Datenverkehr wie beschrieben auf verschiedene Server verteilt, kommt ein Loadbalancer zum Einsatz. Durch seinen Einsatz kann die Verarbeitung von Datenanfragen (Requests) effizienter erfolgen und die Zuverlässigkeit bei der Datenverarbeitung wird erhöht. Dabei können Loadbalancer die Requests so aufteilen, dass jeder verbundene Server gleichermaßen ausgelastet ist.

Online-Shop skalieren - Grafik für Webserver-Cluster

3. Planen Sie weniger relevante Aufgaben für besucherschwache Zeiten ein

Natürlich muss der Webserver Ihres Online-Shops immer online und verfügbar sein. Aber nicht alle Aufgaben, die ein Webserver für Sie zu verarbeiten hat, müssen in Echtzeit ablaufen. So können Sie beispielsweise bei AWS eine Option nutzen, mit der die vorliegenden Aufgaben selbstständig ausgeführt werden, sobald ausreichend Rechenleistung dafür „übrig“ ist. Ist aufgrund von großem Besucheraufkommen (Hochlast-Szenario) die Rechenleistung ausgelastet, pausiert der Webserver die anstehenden weniger relevanten Aufgaben (Praxisbeispiel: Verarbeitung von Zahlungen, Indexierung neuer Produkte in die Suche oder Versand von niedrig priorisierten Benachrichtigungen). Durch diese sinnvolle Aufteilung lassen sich die Kosten für den Serverbetrieb deutlich minimieren, da alle Aufgaben gleichmäßiger verteilt werden. Ihr Setup für den Online-Shop lässt sich so leichter entsprechend den tatsächlichen Anforderungen skalieren.

Erhöhte Performance durch Datenbank-Cluster

Im Gegensatz zum Webserver speichert der Datenbankserver alle Daten, die der Online-Shop nutzt. Dazu zählen unter anderem Produktinformationen, Bestellungen und Kundendaten, die der Datenbankserver den Webservern zur Verfügung stellt.

1. Betreiben Sie mindestens zwei Datenbankserver verteilt auf mehrere Standorte

Wie auch bei Webservern ist die Verteilung der Last auf mehrere Instanzen bei Datenbankservern sinnvoll. Das Ausfallrisiko wird hier minimiert, indem die Webserver in der Lage sind, mit jeder dieser Datenbanken zusammenzuarbeiten. Zugleich liegen die wichtigen (Stamm-)Daten an mehreren Standorten gleichzeitig und jede der Datenbanken liefert dieselbe Antwort auf die ihr gestellte Frage. Fällt einer der Datenbankserver aus, können die Informationen zu Produkten, Kunden- oder Bestelldaten unkompliziert und verlustfrei von einem anderen Datenbankserver geliefert werden. Dadurch vermindert sich das Ausfallrisiko wesentlich.

2. Die richtige Skalierungsstrategie für Ihren Online-Shop

Ob Sie mehrere Datenbankserver oder mehrere Webserver nutzen wollen, bleibt natürlich Ihnen überlassen. Wie oben bereits erwähnt, ist es jedoch sinnvoll, bei kleineren Sortimenten und geringerem Besucheraufkommen, zunächst den Webserver, auf dem Ihr Online-Shop läuft, vertikal zu skalieren. Die Leistung für den Betrieb des Online-Shops lässt sich damit durchaus steigern. Grundsätzlich ist die die Verteilung der Shop-Daten auf mehrere Datenbankserver für kleine Mittelständler sogar als wichtiger ein als das gleichzeitige Betreiben mehrerer Webserver. Denn gehen Kunden- und oder Bestelldaten verloren, ist der Schaden für Shopbetreiber zumeist größer, als wenn der Webserver des Online-Shops für einen kurzen Zeitraum ausfällt.

Relevante Dienste bei der Skalierung von Systemen wie Online-Shops unter Hochlast

Neben den (virtualisierten) Hardware-Komponenten sind außerdem verschiedene Dienste wichtig, die man sich im Zusammenhang mit dem Online-Shop-Skalieren ansehen sollte. Webserver sind zwar in der Lage, verschiedene Funktionen auszuführen, aber es gibt hierfür auch spezielle Dienste, die diese Funktionalitäten wesentlich besser übernehmen können. Denn bereits mit der Auslagerung von Funktionen an Dienste wie Suche, Cache, Mediaserver und Content Delivery Network kann eine Entlastung der Webserver und damit eine bessere Leistung für den Online-Shop erzielt werden.

1. Lagern Sie die Shopsuche aus

Mit der Auslagerung der Suche Ihres Online-Shops können Sie ebenfalls Leistungslimits umgehen. Dabei muss die Suche nicht zwingend an einen externen Dienst, wie beispielsweise Findologic, FACT-Finder oder ähnliche, abgegeben werden. Es kann sich dabei ebenso über einen separaten Dienst in der eigenen Cloud handeln, der die Rechenleistung übernimmt. Ein Beispiel hierfür ist Elasticsearch, das sehr schnell Suchanfragen verarbeiten kann. Diese Dienste arbeiten in der Regel nach dem Prinzip „Pay-as-you-go“. Das heißt, sie berechnen die Anzahl der Suchanfragen oder die Menge der übertragenen Daten. Als Shopbetreiber müssen Sie sich dabei nicht selbst um die Skalierung kümmern, denn dafür ist der Anbieter der Cloud zuständig.

2. Nutzen Sie Caching-Lösungen

Häufige Ansichten von Online-Shop-Seiten wie Kategorie- und Produktdetailseiten sollten nicht bei jedem Aufruf (gerade unter Hochlast-Bedingungen) mithilfe der Datenbank-Informationen neu generiert werden. Eine bessere Lösung ist das Nachladen der Seiten aus dem Zwischenspeicher – dem Cache. Das erfolgt nicht nur schneller, da wichtige Inhalte dort über einen bestimmten Zeitraum vorgehalten werden. Es benötigt zudem keine Rechenleistung der Web- und Datenbankserver und verkürzt die Ladezeit, in der die Seiteninhalte erneut angezeigt werden können.

3. Setzen Sie Mediaserver zur Entlastung von Webservern ein

Im Normalfall liegt das Medienmaterial wie etwa Bilder, Videos etc., das in einem Online-Shop genutzt wird, gemeinsam mit der Shopsoftware auf dem Webserver. Rufen Nutzer eine Shopseite auf, werden diese Medien und Bilder nacheinander geladen. Mit dem Einsatz eines eigenen Mediaservers – also eines extra Speicherdienstes – muss der Webserver die Bilder nicht mehr selbst ausliefern. Die Webserver können dadurch weiter entlastet werden und das Medienmaterial kann über den dedizierten Server wesentlich schneller verfügbar sein.

4. Content Delivery Network oder CDN als Alternative beim Online-Shop-Skalieren

Im Vergleich zu einem einzelnen Mediaserver erreichen Sie höhere Performance sowie globale Skalierbarkeit durch den Einsatz eines CDN. Ein CDN oder Content Delivery Network ist ein Netzwerk von weltweit regional verteilten Servern, die über das Internet verbunden sind. Sie können die vom Browser angefragten Daten zur vollständigen Anzeige einer Website liefern. Statt auf einem Medienserver gebündelt verteilt sich die Datenlast der Medieninhalte bei CDN dabei auf verschiedene Server an weltweit verteilten Standorten.

Ausgehend vom minimalen Setup für die Infrastruktur des Online-Shops in der ersten Grafik kann nach den technischen Anpassungen zum Skalieren des Online-Shops folgende Zielinfrastruktur entstanden sein:

Online-Shop skalieren - Grafik für komplexes Setup

Bei weiteren Fragen zur Skalierung Ihres Online-Shops oder zu konkreten Möglichkeiten der Umsetzung entsprechend Ihren individuellen Anforderungen können wir Sie gerne beraten.