Jeder wächst mit seinen Aufgaben – Skalierbarkeit eines prudsys RDE Servers

prudsys, prudsys RDE, Omnichannel, Handel, E-Commerce, Echtzeit, Personalisierung, Skalierbarkeit

Skalierbarkeit ist ein zentrales Kriterium für IT-Systeme, um flexibel auf sich verändernde Anforderungen reagieren zu können. Ein Teil meiner Tätigkeit als Consultant bei der prudsys AG ist die Betreuung und Konfiguration von Server-Installationen der prudsys Realtime Decisioning Engine (kurz: prudsys RDE). Darunter fallen auch das Hardware-Sizing und die Unterstützung unserer Kunden bei der Wahl einer geeigneten Server-Architektur. Je nach Anforderung und Budget wird hier zwischen verschiedenen Szenarien gewählt.

In diesem Beitrag möchte ich eine Antwort auf die Frage nach der Skalierbarkeit eines RDE-Servers geben. Ich stelle dabei drei verschiedene Server-Architekturen vor, die bei unseren Kunden im Einsatz sind. Jedes dieser Systeme kann übrigens sowohl client- als auch serverseitig angebunden werden.

Single Server

Die einfachste Form einer RDE-Server-Anbindung ist das Single-Server-System. Hierbei wird ein RDE-Server auf eine reale oder virtuelle Hardware installiert. Mit diesem System wird via HTTP-Requests direkt kommuniziert.

prudsys, prudsys RDE, Omnichannel, Handel, E-Commerce, Echtzeit, Personalisierung, Server

Vorteile dieser Architektur sind der günstige Preis und die geringe Komplexität. Das Modell setzt allerdings voraus, dass man Offlinezeiten während Wartungsarbeiten und systembedingten Durchstarts in Kauf nimmt.

Master-Slave Server

Die zweite Ausbaustufe ist die Master-Slave-Architektur. Dem Nachteil des Single Servers kann hier Rechnung getragen werden, in dem ein zweites System die Beantwortung der Recommendation-Anfragen (HTTP-Requests) übernimmt, sollte es einen Ausfall im Master-System geben.

prudsys, prudsys RDE, Omnichannel, Handel, E-Commerce, Echtzeit, Personalisierung, Loadbalancer, Server, Architektur

Klassisch wird hier eine sogenannte 1/0-Verteilung des Loadbalancers (Lastverteilers) vorgenommen. Das heißt, solange der RDE-Server 1 in einer definierten Zeit antworten kann, gehen sämtliche Requests direkt an dieses System. Kommt es zu einem Timeout, übernimmt der RDE-Server 2 die Beantwortung der Anfragen, bis der RDE-Server 1 wieder dazu in der Lage ist.
Dies ist nur ein konkretes Beispiel zur Umsetzung des Master-Slave-Konzeptes. Alternativ kann dieses Szenario auch zur Lastverteilung genutzt werden, wenn z.B. eine große Anzahl an Sessions erwartet wird. Außerdem bietet die prudsys AG einen eigenen Software-Loadbalancer, welcher die RDE-Server-Applikation und damit auch die einzelnen RDE-Instanzen kennt. Dieser kann sowohl als separater Loadbalancer – wie in obiger Grafik – eingesetzt werden als auch einen bestehenden Hardware-Loadbalancer ergänzen.

Eine weitere, gern genutzte, Variante dieser Architektur sieht folgendermaßen aus:
prudsys, prudsys RDE, Omnichannel, Handel, E-Commerce, Echtzeit, Personalisierung, Loadbalancer, Server, Architektur

Skalierbare Cluster

Es gibt Umgebungen, bei denen die Anforderungen an eine Skalierbarkeit der Systeme noch deutlich höher sind als bei den beschrieben Varianten. Werden komplexe Anfragen in einer hohen Taktrate (Anzahl an HTTP-Requests pro Sekunde) mit sehr geringen Antwortzeiten erwartet und zusätzlich hohe Anforderungen an die Ausfallsicherheit eines Systems gesetzt, ist die Cluster-Architektur eine sehr gute Alternative.

prudsys, prudsys RDE, Omnichannel, Handel, E-Commerce, Echtzeit, Personalisierung, Loadbalancer, Architektur, Server

Innerhalb eines Clusters wird zwischen lernenden und ausspielenden RDE-Servern unterschieden. Hintergrund dafür ist, dass der RDE-Server in Echtzeit lernt. Dies setzt voraus, das sämtliche Tracking-Requests in der korrekten Reihenfolge abgearbeitet werden. Um eine Parallelisierung und damit eine beliebige vertikale Skalierung der Empfehlungsanfragen zu ermöglichen, werden die Lernsysteme asynchron angeschlossen, während die Ausspielsysteme synchron arbeiten. Dies ermöglicht enorme Flexibilität und Planungssicherheit.

Fazit

Unabhängig von der Wahl der Architektur steht es natürlich jedem Anwender der prudsys RDE frei, das Hosting in seiner eigenen IT-Infrastruktur aufzubauen oder diese Verantwortung in die Hand der prudsys AG zu legen.
Egal, welche Anforderungen Ihr System stellt: Vom Kleinst-System bis zu hochkomplexen Anforderungs-Szenarien können wir eine passende Lösung für Ihre Bedürfnisse abbilden und eine umfassende Skalierbarkeit sicherstellen.

Weiterführende Links:
Mit Fingerspitzengefühl zum Erfolg – Drei Tipps für die optimale Webshop-Integration einer Recommendation Engine

Recommendation Engine aus der Cloud: Sinn oder Unsinn?

Autor: Paul Wynant | prudsys AG

0 Kommentare

Ihr Kommentar

Sie haben weitere Anmerkungen zu diesem Thema?
Wir freuen uns auf eine spannende Diskussion.

Schreibe einen Kommentar

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