E-Shop-Anwendungen zählen zu den größten IT-Herausforderungen im Mittelstand. Ein Hauptgrund ist der Wettbewerb mit den Commerce-Oligopolisten. Wie gelingt ein leistungsfähiger, bezahlbarer Shop?
Amazon & Co. setzen die Maßstäbe im E-Commerce und in der User Experience. Ihr Innovationstempo ist schwindelerregend. Der stetige Innovationsdruck, zahlreiche erforderliche Integrationen wie Produktsuche, Zahlungsmittel, Bonitätsprüfung, Logistik, Fakturierung u.v.m. und der Sichtbarkeitswettbewerb mit den Onlinehandels-Spezialisten bedeuten für Mittelständler wie etwa Verlage beträchtliche Projektkosten und erhebliches Kostenrisiko.
Ein Mittel, wenigstens die Betriebskosten zu reduzieren, ist der Einsatz von Microservices. Ein Shop, der auf Microservices basiert, tut sich bei der Implementierung neuer Funktionalitäten erheblich leichter. Florian Treiß vom Onlinehandels-Informationsdienst Locationinsider zeigt im IT-Channel von buchreport.de, wie der Verlag C.H. Beck einen auf Microservices beruhenden Shop entwickeln ließ.
Tradition trifft Zukunft: Der rund 250 Jahre alte Münchner Buchverlag C.H. Beck hat die über 15 Jahre gewachsene, monolithische Eigenentwicklung seines Online-Shops jüngst in eine komplett neue Infrastruktur überführt. Das neue System läuft in der Cloud und besteht aus Microservices, die teils selbst entwickelt wurden und teils auf der Commercetools-Plattform basieren.
Ziel bei dem Systemwechsel für C.H. Beck: Das Unternehmen will künftig schneller auf eigene Anforderungen und Markttrends eingehen können und dabei zugleich auch perspektivisch die Kosten reduzieren. Ab 2015 begann C.H. Beck bereits, an manchen Stellen auf standardisierte Systeme umzustellen: So wurden das Content-Management-System Umbraco sowie die E-Commerce-Suchmaschine FACT-Finder an das eigene System angebunden. Schnell wurde aber klar, dass C.H. Beck zudem auch weiter individuelle Lösungen benötigt, um auf die eigenen Business Cases eingehen zu können. Im Januar 2018 erfolgte dann der Startschuss zur Umstellung auf eine Microservices-Architektur: Zusammen mit der Digitalagentur Dotsource entwickelte C.H. Beck in nur zehn Monaten Projektzeit ein komplett neues Gerüst für beck-shop.de.
Shop in rund 80 Microservices zerlegt
Im November 2018 konnte der neue Online-Shop bereits live gehen. Dessen Shop-Architektur besteht nun aus fast 80 verschiedenen Microservices und es kommen über 100 verschiedene API-Endpunkte zum Einsatz. Der Clou dabei ist der modulare Ansatz: Statt wie bislang ein riesiges vollintegriertes System zu verwenden, das fehleranfällig und behäbig ist, besteht die Shop-Architektur nun aus diversen Bausteinen, die je nach Bedarf per API ineinandergreifen. Dabei kommen sowohl standardisierte Microservices von commercetools zum Einsatz als auch Eigenentwicklungen. Während mancher Baustein also schon fertig vorliegt (zum Beispiel Warenkörbe, Inventar oder Payment) und allenfalls minimale Anpassungen benötigt, wird manch anderer Baustein buchstäblich neu konzipiert und programmiert.
Fachliteratur hat andere Anforderungen als Mode
Mirco Gatz, als Techlead bei Dotsource für die Umsetzung des Relaunches verantwortlich, sagt: „Die Herausforderung bei C.H. Beck besteht u.a. darin, dass es einen riesigen Produktkatalog mit 14,6 Mio verschiedenen Produkten sowie 13,8 Mio verschiedenen Kategorien gibt. Das ist deutlich mehr als zum Beispiel bei Modehändlern und zwingt Standard-Shopsysteme schnell in die Knie. Hinzu kommt eine spezielle Checkout-Logik mit einem umfangreichen Regelwerk, die sich an den Kundenbedürfnissen orientiert und ebenfalls nicht von Standard-Lösungen abgedeckt wird. Schließlich ist C.H. Beck ein Spezialist für juristische Fachliteratur und viele Kunden sind Anwaltskanzleien, so dass Checkout und Payment anders ablaufen müssen als bei B2C-Händlern.“
Eine weitere Herausforderung: Täglich gibt es 1,5 bis 2 Mio Datensätze, die aus anderen Systemen importiert werden, zum Beispiel von Großhändlern. Diese Änderungen sind nicht auf einen Schlag möglich, sondern werden über eine Art Warteschlangen-System Schritt für Schritt über die Cloud importiert. Dabei kommt Microsoft Azure zum Einsatz.
Gute Konzeption schwieriger als Programmierung selbst
Auch wenn es viele Unternehmen zunächst abschrecken mag, kein Standard-Shopsystem mehr zu verwenden, das vermeintlich schon alle Funktionen inklusive hat, und stattdessen vieles selbst zu programmieren bzw. programmieren zu lassen, ist sich Gatz sicher: „Die Planung und Konzeption einer solchen Shop-Architektur ist die größere Herausforderung als das Programmieren und Implementieren.“ Das Schöne an einer solchen Microservices-Architektur ist, dass diese viel individueller auf die Bedürfnisse des Unternehmens eingehen kann.
Das bedeutet aber auch, dass bei der Konzeption viel Kopfarbeit nötig ist: Das Unternehmen bekommt keinen fertigen Shop mehr vorgesetzt und muss dann „nur noch“ darüber nachdenken, welche Anpassungen noch nötig sind. Vielmehr ist die Idee bei einer Umstellung auf eine Microservices-Architektur, alles zuvor Bestehende zu hinterfragen und zu entrümpeln. Zudem müssen sich Unternehmen dabei Gedanken darüber machen, welche Business-Logiken und -Cases bei einer komplett neuen Konzeption bedacht werden müssen. Dabei können Frontend und Backend voneinander getrennt werden. Stattdessen wird nun „headless“ entwickelt, d.h. das Frontend (also der Webshop) wird vom Commerce-Kern entkoppelt. Per API können anschließend eine beliebige Anzahl von Frontends angeschlossen werden, zum Beispiel der klassische Webshop, eine App, ein Marktplatz oder ein Connected Car.
Mehr zum Thema IT und Digitalisierung lesen Sie im IT-Channel von buchreport und Channel-Partner knk. Hier mehr…
Dabei können die bislang bestehenden Prozesse aus dem alten Shopsystem filetiert und komplett neu gedacht werden. Jeder Microservice – daher auch der Name – soll später für einen bestimmten Anwendungsfall im Shop stehen. Das kann der Login oder die Produktsuche sein, die individuellen Empfehlungen für Stammkunden, der Warenkorb oder der Checkout. Schließlich sollte jeder einzelne Microservice in fünf Schritten durchdacht und umgesetzt werden, rät Mirco Gatz:
- Problemstellung identifizieren
- abgrenzen
- Schnittstellen definieren
- entwickeln, implementieren und testen
- in Betrieb nehmen.
API-Dokumentation und „Verträge“
Enorm wichtig bei einer solchen Herangehensweise: alles muss gut durchdacht sein. Denn harmonieren die Microservices nicht miteinander, kann die gesamte Architektur ins Wackeln geraten. „Es ist enorm wichtig, dass alle APIs gut dokumentiert werden und ‚Verträge‘ darüber abgeschlossen werden, welche Microservices welche APIs anbieten“, so Gatz. Wenn man später etwas an einer bestehenden API ändert, so sollte man ältere Versionen davon weiter parallel laufen lassen, bis alle Microservices, die darauf zugreifen, mit der neueren Version zurechtkommen.
Stufenweiser Rollout
Beim Rollout des neuen Systems entschied sich C.H. Beck für eine stufenweise Vorgehensweise: Zunächst wurde bereits im Sommer 2018 – und damit noch während der Entwicklungszeit der neuen Architektur – die Website chbeck.de relauncht. Die Seite dient dem Verlag als eine Art Schaufenster für seine Bücher jenseits juristische Fachwerke, hat aber keinen Shop implementiert.
Im November 2018 wurde dann der Relaunch von beck-shop.de gestartet, der hauseigenen Fachbuchhandlung, bei der 14,6 Mio Titel nicht nur aus dem eigenen Haus, sondern auch von anderen Verlagen bestellbar sind. „Dabei haben wir einen sehr charmanten Weg gewählt, den ich bislang von kaum einem anderen Projekt kannte: In den ersten Monaten wird ausgewählten Nutzern auf der Startseite angeboten, die neue Version zu testen, aber die alte Version steht vorerst weiter zur Verfügung. Das hat den Vorteil, dass der neue Shop schon im Livebetrieb nicht nur mit internen Stakeholdern, sondern auch mit echten Kunden getestet werden kann“, so Mirco Gatz.
In einer späteren Phase des Relaunchs folgt dann ein „harter A/B-Test“, wo die Hälfte der Nutzer den alten Shop sieht und die andere Hälfte der Nutzer automatisch auf den neuen Shop geleitet werden. Erst wenn auch dieser A/B-Test erfolgreich ist, erfolgt die komplette Umstellung auf den neuen Shop und die alte Seite wird abgeschaltet.
Mit freundlicher Genehmigung von Locationinsider.
Dieser Beitrag erschien zuerst im Shoptech-Leitfaden „Mit Baukasten-Systemen und Microservices zum Erfolg“ von Locationinsider und Commercetools.
Kommentar hinterlassen zu "C.H. Beck: Migration vom Monolithen zu Microservices"