Was macht einen guten Onlineshop für Elektro- und Haushaltsgeräte aus? Zu allererst ein breites Sortiment, übersichtlich dargestellt. Wer sich zum Beispiel für eine Waschmaschine entscheidet, bekommt im Idealfall das richtige Zubehör angezeigt. Und für weniger Entschlossene bietet der Shop Alternativen an, bis das Wunschprodukt im Warenkorb landet. Diese und weitere datenbasierte Vorzüge will ein großer griechischer Anbieter für Haushaltselektronik noch intensiver nutzen. Doch die vorhandene Software-Ausstattung genügt den Anforderungen nicht mehr.
Im Rekordtempo
Also entscheidet der Elektrohändler 2019, die technische Plattform des Webshops inklusive Datenbank neu aufzustellen und alles in die Cloud zu heben. Dabei ist besonders wichtig, dass es für die neue Software keinen Unterschied macht, ob zehn oder 10.000 Menschen auf der Webseite sind oder ob sie Produkte über die App bestellen. Der Shop muss schnell funktionieren – und das rund um die Uhr.
Betraut mit dem Projekt sind neben der ITGAIN auch weitere IT-Spezialisten vor Ort. Solche Aufgaben lassen sich nur im Team bewerkstelligen. Das Team soll für die neue Software-Architektur verschiedene Bausteine nutzen: Amazon Web Services sorgt für die Cloud-Dienste und Serverpower. IBM Websphere Commerce bildet als E-Commerce-Plattform das Herzstück des Webshops. Sie verknüpft den Warenbestand und die richtigen Adressen aus der Datenbank miteinander. Dahinter liegt die Db2-Datenbank von IBM, in der Artikelnummern, Auftragsdaten, Kundendaten und weitere Informationen gespeichert sind. Für zwei Teilprojekte kommt Reinhold Farsch als Virtualisierungsspezialist von ITGAIN dazu: „Ich wurde als Experte für die Db2-Datenbank und die Cloud-Lösungen rund um Amazon Web Services ins Boot geholt, weil der gesamte Job innerhalb von sechs Wochen fertig werden musste.“
Um die Umgebung der Datenbank zu berücksichtigen, ist in der Zeit dieser Austausch mit den anderen Experten wichtig. Denn die Software soll sich automatisch installieren und muss direkt mit anderen Bausteinen harmonieren.
Das Playbook
Also schreibt Reinhold Farsch ein sogenanntes Playbook, wie er erklärt: „Das ist die Steuerdatei. Mit dieser Datei füttern wir eine Software namens Ansible, die nichts anderes macht, als nach diesem Muster die Datenbank mit allen Kundenwünschen zu installieren. Das lässt sich am Ende beliebig oft wiederholen, fehlerfrei.“ So muss der Betreiber des Shops bei Problemen nicht auf Fehlersuche gehen, sondern installiert mit wenigen Mausklicks neu. In der virtuellen Cloud-Umgebung ist dieser Weg ressourcenschonender und schneller.
Die Schwierigkeiten, ein solches Playbook zu schreiben, verbildlicht Farsch mit einem Gedankenspiel: „Stellen Sie sich vor, Sie schreiben hintereinander auf, was Sie alles tun müssen, wenn Sie morgens aufstehen und etwas anziehen. Jede Muskelbewegung, jede Entscheidung für ein Kleidungsstück. Wir müssen alle Dinge voraussehen, die die neue Datenbank in dieser Umgebung braucht, damit sie wie vom Kunden gewünscht funktioniert. Darin liegt die große Herausforderung.“
Anschlussjob
Nach zwei Wochen steht alles: Mehrere Datenbanken sind miteinander verschaltet und haben den gleichen Datenbestand. Sollte eine ausfallen, springt nahtlos eine andere ein. Im IT-Deutsch heißt das HADR, also High Availability Disaster Recovery-Lösung, ein zentrales Anliegen des Kunden. Dank des erfolgreichen Aufsetzens der neuen Datenbank bekommt Reinhold Farsch direkt ein Anschlussprojekt: Er soll prüfen, ob die App des Onlineshops und ein neues Kassensystem mit der Wunschsoftware Kafka verbunden werden können. Denn der Kunde verspricht sich dadurch eine schnellere Datenverarbeitung. Sobald sich eine Information in der Datenbank erneuert hat, zum Beispiel wenn ein Tabletpreis gesunken ist, setzt die Datenbank das Kassensystem per Datenstrom direkt über den neuen Preis in Kenntnis.
Das funktioniert mit Kafka und seiner Arbeitsweise: An einem Ende ist ein User, der etwas tut, am anderen Ende sind viele, die sich das nehmen, was sie davon brauchen. Sie sind in die Rollen Producer und Consumer geteilt. „Producer ist der Mausklick, welcher Events, also Ereignisse, auslöst. Consumer ist der Algorithmus, der auf Basis der Klicks errechnet, welches Produkt dem User noch eingeblendet wird. Apache Kafka bietet hier viele Vorteile“, so Farsch. Die Software sorgt dafür, dass die Ereignisse chronologisch richtig weitergegeben werden und sich zeitlich nicht überholen. Vor allem aber ist sie skalierbar ohne Geschwindigkeitsverlust, wenn genügend Rechenpower da ist. Andere Software-Lösungen haben interne Grenzen – antworten ab bestimmten Anfragemengen also nicht so schnell, ganz egal, wie viel Rechenpower vorhanden ist.
Der knifflige Part: Kafka mit der vorher aufgesetzten Db2-Datenbank zu verbinden. „Db2 ist eine relationale Datenbank im klassischen Sinn, weshalb sie nicht für sehr viele kleine Abfragen in kurzer Zeit geeignet ist“, sagt Farsch. An dieser Stelle wird daher Change Data Capture – also das Erfassen aller Änderungen in der Datenbank – als Bindeglied zwischen der Db2-Databank und Kafka eingesetzt. Damit erfasst die Datenbank jede Veränderung nahezu in Echtzeit und überträgt sie an Kafka. Keineswegs eine Standardlösung, weshalb Farsch sehr zufrieden ist. „Diese Bausteine haben wir bislang so noch nicht zusammengefügt. Aber jetzt ist die alte Welt einer relationalen Datenbank mit einer Streaming-Plattform, also der neuen Welt, sinnvoll verbunden.“ Job erledigt.