Im umkämpften Markt des E-Commerce entscheiden oft Nuancen, welches System sich durchsetzen kann. Meistens ist ein entscheidender Faktor die Technologie, denn gerade aktuell drängen viele Technologie-Trends ins Rampenlicht, wie zum Beispiel Headless oder PWA als bekannteste Buzzwörter. Ein weiteres, sehr mächtiges Konzept geht aber oft zu Unrecht unter: Microservices.
Ein kleiner Teil eines großen Ganzen
Genau betrachtet sind Microservices (Plural!) allerdings keine Technologie, sondern ein Architektur-Konzept, beziehungsweise ein Muster in der Webentwicklung. Dabei ist ein Microservice (Singular) als eine Art Dienst zu betrachten, der für eine bestimmte Aufgabe zuständig ist. Immer getreu der Philosophie „Only one task but well done” – ein idealer Microservice sollte nur eine Aufgabe haben, die dann aber perfekt ausgeführt werden sollte.
Microservices arbeiten unabhängig von anderen Tools im System und sind somit zum einen weitaus fehlertoleranter, zum anderen auch ganz einfach austauschbar. Ein Merkmal, das besonders bei großen E-Commerce-Infrastrukturen riesige Vorteile bringt. Außerdem lassen sich beliebig viele Microservices durch Schnittstellen miteinander verbinden, sodass sich daraus ein ganzes komplexes System mit voneinander unabhängigen Teilen bauen lässt.
Diese Eigenschaftsbeschreibung kommt nicht zufällig sehr bekannt vor, denn der strukturelle Aufbau ähnelt dem Headless-Konzept sehr. Mehr noch: Microservice sind per Definition Headless und eignen sich daher optimal als Grundstein für einen modernen Onlineshop.
Einsatz im E-Commerce
Der Begriff Service ist ein dehnbarer Begriff, also was kann sich ein Online-Käufer unter Microservices vorstellen und was für Vorteile springen bei den Kunden heraus? Jedes einzelne Element eines Onlineshops kann ein Service sein und somit auch ein Microservice. Das gilt zum Beispiel für die Produktsuche, den Produktvergleich oder den Checkout. Hinter all diesen – für jeden Onlinekäufer mittlerweile selbstverständlichen – Elementen, stecken einzelne Microservices.
Dadurch, dass die Dienste unabhängig voneinander arbeiten können, profitieren die Kunden von einem schnellen und reibungslosen Einkauf. Es entstehen keine Flaschenhälse beim Datenverkehr und fehlerhafte Prozessabläufe werden von dem Käufer im Frontend nicht wahrgenommen, weil der Ausfall eines einzelnen Services nicht gleich den ganzen Shop zum Shutdown zwingt. Des Weiteren erlaubt die Zusammenschaltung verschiedener Microservices einen schlanken Kerncode und bietet den Shopbetreibern ganz neue Möglichkeiten, den Kunden ein besonderes Einkaufserlebnis mit neuartigen Features zu bieten – Stichwort Headless-Ansatz und darüber hinaus die PWA-Technologie.
Vorteile in der Projektentwicklung
Nicht nur die Kunden profitieren von Microservices, sondern auch die Entwickler der E-Commerce-Dienstleister. Die Vorteile sind hier sogar noch höher einzuschätzen. Dank der Unabhängigkeit von Microservices kann auch jedes involvierte Entwicklerteam unabhängig voneinander arbeiten und sich auf jeweils einen Microdienst konzentrieren. Das lässt den ganzen Entwicklungsprozess des Projekts übersichtlicher und geordneter ablaufen.
Daraus resultieren mehrere Benefits: Die gesamte Projektentwicklung kann schneller ablaufen und dementsprechend eine schnellere Time-to-Market bewerkstelligen – was dann natürlich auch ein großer Vorteil für den Auftraggeber (in diesem Fall der Shopbetreiber) ist. Die Entwicklerteams müssen sich nur auf eine übergreifende Schnittstellen-Technologie einigen, das restliche Setup, wie zum Beispiel der Technologiestack, kann von jedem Team frei gewählt werden. Zusätzlich können die Entwickler im Nachgang schnell eingreifen, wenn ein einzelner Microservice ausgetauscht oder aktualisiert werden muss, da diese Arbeiten keinen Einfluss auf die restlichen Services sowie den kompletten Shop haben.
Was unterscheidet ein Shopsystem von einem Microservice?
Die meisten Shopsysteme lassen sich von der Struktur her mit einem monolithischen System vergleichen. Das liegt daran, dass im Backend – und teilweise auch im Frontend – alle Funktionen in einer gemeinsamen Codebasis vereint sind.
Dies verringert zwar die Komplexität des Zusammenspiels der einzelnen Komponenten, erhöht aber die Komplexität des Codes, insbesondere der Abhängigkeiten untereinander. Das Konzept der Microservices ist der komplette Gegensatz einer solchen Software-Architektur, denn hier basiert alles auf einzelnen Tools und Prozessen, die miteinander verknüpft sind, aber unabhängig arbeiten.
Trotzdem nutzen führende Shopsysteme wie zum Beispiel Magento einige in der Microservice-Technologie wichtige Tools/Ideen, wie z.B. Message Queues. Und das ist es, worauf es ankommt: Ein standardisiertes Shopsystem ist zwar Pflicht für erfolgreichen E-Commerce, aber die Offenheit des Systems gegenüber mächtigen Entwicklungs-Ansätzen wie Microservices entscheidet letztendlich über den Erfolg einer E-Commerce-Plattform.
Bilder: freepik