kikovic - stock.adobe.com

Ein Omnichannel-Kauferlebnis mit MongoDB Atlas

Das Stuttgarter Unternehmen Breuninger ist auf MongoDB Atlas migriert, um seinen Datenbankbetrieb zu automatisieren und eine Microservice-Architektur zu realisieren.

Ein positives Kundenerlebnis kann nicht hoch genug eingeschätzt werden, insbesondere wenn es sich um ein Einzelhandelsunternehmen im Exklusiv-Segment handelt. Für Breuninger ist ein kundenorientierter Ansatz daher seit mehr als 130 Jahren selbstverständlich.

Als Breuninger begonnen hat, eine neue E-Commerce-Plattform aufzubauen, galt es daher, ein Online-Erlebnis zu schaffen, das den Erfahrungen der Kunden in den Exklusiv-Department-Stores von Breuninger entspricht. Unverzichtbare technologische Basis dafür ist eine leistungsfähige und zuverlässige Datenbank, die komplexe Datensätze über mehrere Kategorien hinweg unterstützt.

„Unsere Entwicklungsteams arbeiten sehr unabhängig. Es gibt nur eine Handvoll Regeln, wie sie Anwendungen für ihre jeweiligen Domänen entwerfen und erstellen“, erläutert Benedikt Stemmildt, Lead Software Architect der E. Breuninger GmbH & Co. „Es gibt keine Regel, dass man MongoDB benutzen muss, man muss aber erklären, warum man es nicht tut.“

Das war nicht immer so. Die bisherige Plattform von Breuninger basierte auf einer branchenüblichen PCM-Plattform (Produkt Content Management), die aus Sicht von Stemmildt „monolithisch und schwer zu programmieren“ war. Häufiges Code-Freeze, also die Zeitspanne, in der keine Änderungen am Quellcode bis zur Veröffentlichung gemacht werden, sowie die zugrunde liegende Architektur führten immer wieder zu Frustration, da man agilere Prozesse anstrebte.

Modernisierung von Grund auf

Ein neuer Ansatz zur Entwicklung und Bereitstellung weiterer Funktionen war notwendig, um die ambitionierten Pläne zur Integration aller Vertriebskanäle des Unternehmens konsequent umzusetzen. Die schnelle Einführung neuer Online-Funktionen wurde damit zur obersten Priorität. Breuninger entschied sich, ein eigenes Technologieteam aufzubauen, das in nur einem Jahr von zehn auf 30 Entwickler anwuchs.

„Wir haben unsere monolithische Architektur zerlegt und die Anwendung in separate Microservices aufgeteilt, die der Art und Weise entsprechen, wie Kunden in unseren Department Stores einkaufen“, sagt Stemmildt. „Der Kunde sucht, entdeckt, bewertet und kauft nicht nur einzelne Produkte, sondern komplette Outfits.“

„Um dem architektonischen Wandel Rechnung zu tragen, haben wir auch unsere Entwicklungsteams entlang der verschiedenen Phasen der Customer Journey aufgeteilt und die Abhängigkeiten dadurch auf ein absolutes Minimum reduziert“, sagt Stemmildt weiter. „Ein Schlüssel zum Erfolg ist hier eine leistungsfähige Datenbank, die in der Lage ist, mit Daten auf viele verschiedene Arten zu arbeiten. Das Dokumentenmodell von MongoDB erlaubt uns, Daten in der Qualität und Detailtreue liefern zu können, die unseren Produkten und dem Einkaufserlebnis entsprechen.“

Das Ergebnis ist eine deutlich schnellere Einführung von Funktionalität als bisher. Breuninger konnte die Omnichannel-Plattform in Monaten statt Jahren aufbauen, da die Teams nun in der Lage sind, über wichtige architektonische Komponenten ihrer eigenen Bereiche zu bestimmen, ohne die Erlaubnis anderer Teams einzuholen.

Als Experte mit sieben Jahren Erfahrung mit MongoDB war Stemmildt von der Datenbank überzeugt. „Es gibt zahlreiche gute Datenbanken“, sagt er. „Viele von ihnen setzen jedoch voraus, dass die Entwickler fundierte Kenntnisse über deren Arbeitsweise haben müssen, bevor sie davon profitieren. Das ist bei MongoDB nicht der Fall, da man mit ihr sehr schnell lernt und Ergebnisse erzielt. Unsere Teams können neue Funktionen fast sofort zur Verfügung stellen. Sobald man den Einsatz der Datenbank für neue Funktionen ausbaut, stößt man mit MongoDB äußerst selten an die Grenzen der Möglichkeiten.“

Automatisierung und Agilität

Agil wäre nicht agil ohne Automatisierung. „Alles, was wir in Betrieb nehmen, ist automatisiert. Mit dem Betrieb von MongoDB Atlas auf AWS fügen sich Bereitstellung und Verwaltung unserer Datenbanken nahtlos in diese Prozesse ein. Nachdem wir MongoDB eine Zeit lang selbst auf EC2 betrieben haben, ist es großartig, dass wir uns nicht mehr um die Details kümmern und Zeit mit Einrichtung, Konfiguration und Verwaltung der Datenbanken verbringen müssen. Gibt man den Betrieb aus der Hand, hat man mehr Möglichkeiten, die eigenen Services zu verbessern.“

AWS bietet den Teams von Breuninger einen ausgewogenen Mix aus weiteren Werkzeugen, wie zum Beispiel einen gemanagten Kubernetes-Service und Serverless Lambda-Funktionen. MongoDB Atlas und AWS unterstützen Breuninger auch, die gesetzlichen Regularien zu erfüllen. „Wir müssen die DSGVO einhalten, also muss der gesamte Betrieb innerhalb unserer Landesgrenzen laufen. Die integrierten Sicherheitsfunktionen von MongoDB Atlas haben dazu beigetragen, diese Anforderungen zu erfüllen.“

Microservice-Architektur für schnelle Aktualisierungen

Die neue Plattform sieht vielleicht etwas anders aus, als man es von traditionellen Architekturen kennt. Für Stemmildt ist jedoch sinnvoll, sich nicht von alten Ansätzen einschränken zu lassen. „Jedes unserer Teams kontrolliert einen oder mehrere Stufen der Customer Journey. Das Suchteam aktualisiert die eigene Datenbank, indem es die Daten vom Produktdatenproduzenten über einen Feed beschafft und bei Bedarf die eigene Datenbank neu aufbaut.

Wir müssen nicht das ganze System bei solchen Änderungen aktualisieren. Jedem Team steht es frei, neue Funktionen hinzuzufügen, ohne die Kerndatenbankkomponenten oder andere Teams zu beeinflussen. In sich abgeschlossene Systeme [Anm. Self-Contained Systems] sind dafür eine wichtige Implementierungsregel.“

Obwohl es rund 25 verschiedene und weitgehend unabhängige Systeme gibt, sehen die Kunden nur eine Website. Ein Frontend-Proxy verwendet Server Side Includes, um Daten aus einem Mix von Micro-Frontends zu sammeln, bevor das endgültige Resultat an den Online-Kunden geliefert wird. Produktdaten, Produktverfügbarkeit, Outfit-Daten, Preisinformationen, Navigations-Metadaten – all dies wird aus separaten MongoDB-Datenbanken zusammengeführt, während sich der Kunde dem Online-Einkauf widmet.

Bei Breuninger zeigt es sich, dass manche Metriken nicht mehr so wichtig sind wie früher, während andere mehr zählen, wenn man eine Microservice- mit einer monolithischen Architektur vergleicht. „Mit mehreren Teams, die gleichzeitig so schnell entwickeln, interessiert mich nicht, wie groß die Datenmenge im gesamten System ist. Aber wir sind als Firma sehr an Metriken interessiert, nicht nur in der technischen Infrastruktur, sondern im gesamten Unternehmen. Wir wissen, ob eine Komponente aus technischer oder betriebswirtschaftlicher Sicht gut funktioniert oder nicht, ob ihre Performance optimiert werden muss, ob sie dem Unternehmen Nutzen bringt oder ob wir die Systemarchitektur in dieser Hinsicht überdenken müssen.“

Roman Gruhn, Mongo DB

„Breuninger konnte die Omnichannel-Plattform in Monaten statt Jahren aufbauen, da die Teams nun in der Lage sind, über wichtige architektonische Komponenten ihrer eigenen Bereiche zu bestimmen, ohne die Erlaubnis anderer Teams einzuholen.“

Roman Gruhn, MongoDB

Optionen für die Zukunft

Auch wenn Stemmildt keine konkreten Zukunftspläne äußern möchte, betrachtet er die Rolle optimistisch, die MongoDB darin spielen wird. „Es ging uns um hohe Performance, aber vor allem wollten wir neue Funktionen einführen können. Noch nutzen wir die Funktionen der MongoDB-Graphdatenbank nicht, aber bis Ende des Jahres kann das wohlmöglich der Fall sein. Auch die Textsuche bietet uns noch zahlreiche Möglichkeiten.“

Andere neue Funktionen – wie Multi-Document-Transaction Support in MongoDB 4.0 – könnten sich auf unorthodoxe Weise ebenfalls als nützlich erweisen. „Ich glaube nicht, dass Transaktionen für unsere Plattform noch relevant sind“, lacht er, „aber es gibt Teams, wie das Team, das die Kundendaten verantwortet, die mir hier noch nicht zustimmen und deshalb MongoDB nicht nutzen. Die Veröffentlichung von MongoDB 4.0 kann dazu beitragen, hier eine Migration anzustoßen.“

Breuninger Kunden sehen zwar die technischen Details im Hintergrund nicht, sie profitieren aber von der neu integrierten Omnichannel-Plattform des Unternehmens, die ein verbessertes Kundenerlebnis und mehr Möglichkeiten bietet, sich beim Online-Einkauf inspirieren zu lassen.

Für alle, die darüber nachdenken, MongoDB in ihren nächsten Projekten einzusetzen, hat Stemmildt einen Rat: „Holen Sie sich einen MongoDB Atlas-Account, erstellen Sie ein Cluster und probieren Sie ihn aus. Wenn Sie dann nicht sagen können, warum Sie eine andere Datenbank verwenden sollten, dann sollten Sie einfach MongoDB verwenden. Das ist unsere Erfahrung, nachdem die meisten unserer Teams MongoDB bereits einsetzen.“

Über den Autor:
Roman Gruhn ist Director of Information Strategy bei MongoDB.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Vergleich von NoSQL-Datenbanken: MongoDB versus Cassandra.

Die Funktionen des NoSQL-Datenbank-Management-Systems (DBMS) MongoDB

MongoDB-Gründer Dwight Merriman über dynamische Schemata und Caching als Hürde.

Erfahren Sie mehr über Datenbanken

ComputerWeekly.de
Close