Dass der Erfolg
von E-Commerce-Unternehmen in hohem Maße nicht nur von den vertriebenen
Produkten, sondern gerade auch von der dahinterstehenden IT-Infrastruktur
abhängig ist, ist branchenweit längst kein Geheimnis mehr. Dabei war in den
letzten Jahren mehr und mehr ein Umbruch zu beobachten. Wurde früher praktisch
ausschließlich auf umfassende All-in-One-Plattformen gesetzt, sind heutzutage
service-basierte Architekturen bzw. Microservices gefragt.
Das sind die den
All-in-One-Plattformen immanenten Nachteile

Title: Einkaufswagen auf Tastatur.
Alt-Tag: Grüner Einkaufswagen auf der Taste einer Tastatur.
Link: https://pixabay.com/de/photos/kaufen-warenkorb-einkaufswagen-3692440/
Viele E-Commerce-Unternehmen
respektive Online-Händler können sich seit Jahren über steigende Umsätze und
eine wachsende Nachfrage freuen. Das macht bei der hinter einer erfolgreich
agierenden Firma stehenden IT-Infrastruktur häufig Adaptionen notwendig. Je
nachdem, welche Architektur vorhanden ist, gestaltet sich dies jedoch
unterschiedlich komplex.
Grundsätzlich besteht bei der
Umsetzung eines Projekts nach wie vor die Wahl zwischen einer klassischen
All-in-One-Lösung respektive einem Monolithen oder Microservices bzw.
service-basierten Architekturen. In der heutigen Zeit gibt es vor allem mehr
und mehr Anbieter, die Microservices für den E-Commerce offerieren.
Argumentiert wird dabei mit
den Nachteilen, die All-in-One-Plattformen innewohnen. Im Gegensatz zu den
Microservice-Architekturen bestehen sie aus einer einzigen Einheit, die
sämtliche benötigte Funktionen bereitstellt. Dadurch sind diese Plattformen
bzw. die einzelnen Teile des Programms allerdings sehr eng miteinander
verflochten, wodurch sich bei fortschreitender Entwicklung und Skalierung
diverse Schwierigkeiten ergeben können.
Monolithische Programme
weisen oftmals gerade in großen Unternehmen eine hohe Komplexität auf, die
eingangs wegen existenter Nebeneffekte sowie Abhängigkeiten untereinander
schwerlich verständlich ist.
Diese Vorteile bieten service-basierte Lösungen für Unternehmen
An dieser Problematik setzen Microservices als unabhängige, kleine
Bausteine an. Bei einer solchen Architektur besitzt jede Komponente eine klar
definierbare Aufgabe, sodass Überschneidungen der Vergangenheit angehören, was
der Organisation zugutekommt.
Ein weiteres Plus für service-basierte Lösungen ist die damit
einhergehende Entkoppelung. Microservices lassen sich leichter umkonfigurieren,
sodass sie flexibler an sich ändernde Anforderungen adaptierbar sind. Sofern im E-Commerce aktive Unternehmen besonders schnell einzelne Funktionen benötigen, fehlt oftmals die
Zeit, an der perfekten Umsetzung des Monolithen zu arbeiten.
Hinzu kommt, dass Microservices isoliert sehr gut skalierbar sind und
mit einer überzeugenden Performance punkten können. Sollten dennoch einmal
Fehler im System auftreten, können diese erheblich leichter adressiert werden,
da eine entsprechende Begrenzung systemimmanent ist.
Verschwiegen werden sollen die Nachteile von Microservices an dieser
Stelle dennoch nicht. So können Probleme bei der Behandlung von
Querschnittsthemen entstehen und da service-basierte Architekturen unabhängig
voneinander entwickelt werden, ist der Abstimmungsaufwand ungleich höher.
Sind Microservice-Architekturen per se empfehlenswerter als
Monolithen?
Wie aus dem vorstehend Gesagten deutlich wird, ist es eine gefährliche
Fehlannahme per se davon auszugehen, dass eine der genannten Architekturen
grundsätzlich die bessere Wahl ist. Vielmehr muss aufgrund beidseits
bestehender Vor- und Nachteile konkret im Einzelfall analysiert werden, welche Lösung sinnvoller erscheint.
So eignen sich Monolithen z.B. dann, wenn es sich um ein
vergleichsweise unerfahrenes Entwicklerteam oder eine noch kleine Unternehmung
handelt. Ebenso kann eine monolithische Architektur vorzugswürdig sein, wenn
die Markttauglichkeit eines einzuführenden Produktes noch nicht abschließend
geklärt ist.
Auf der andere Seite gibt es diverse Szenarien, die sich ohne Weiteres
für Microservices qualifizieren. Zum einen ist das – wie schon erwähnt – der
Fall, wenn bestimmte Services besonders schnell benötigt werden. Auch, wenn
einzelne Funktionen beispielsweise aufgrund immenser Datenmengen hochperformant
sein müssen, ist eine service-basierte Architektur die erste Wahl.
Last but not least empfiehlt sich die Abkehr vom Monolithen ebenfalls,
wenn künftig eine Erweiterung des Teams stattfinden soll, da bei Microservices
neue Mitarbeiter leichter integriert werden können.