Commerce

Spryker Frontend Architektur – Headless vs Monolith

Headless Commerce sorgt in der E-Commerce-Welt seit einiger Zeit für Aufsehen. Obwohl es kein gänzlich neuer Ansatz ist, hat er in den letzten Monaten und Jahren aufgrund bekannter Player wie Adobe Commerce, Shopify und Spryker wieder an Bedeutung gewonnen. 

  

Doch was genau verbirgt sich hinter diesem Konzept? Und ist es auch für Ihr Projekt geeignet? In diesem Artikel werden wir Headless Commerce unter die Lupe nehmen und herausfinden, ob es für Sie eine passende Lösung sein könnte. 

Was ist Headless Commerce? 

 

Headless Commerce ist ein Ansatz, bei dem das Frontend und Backend eines Online-Shops voneinander getrennt werden. Dadurch kann das Frontend unabhängig von anderen Teilen des Systems aufgebaut, weiterentwickelt und gewartet werden. Die benötigten Daten, wie Produkte und Kategorien, werden über Schnittstellen bereitgestellt – dem System wird sozusagen der “Kopf” genommen – daher auch der Name.  

 

Zu den Vorteilen von Headless Commerce gehört vor allem die neu gewonnene Flexibilität, die Darstellung unabhängig von der zugrunde liegenden Business-Logik entwickeln und ausliefern zu können. Außerdem kann man von einem Performancegewinn profitieren, da das Endprodukt schlanker wird und speziell optimierte Technologien, verwendet werden. 

 

Allerdings sollte man berücksichtigen, dass Headless Commerce auch mehr Know-how, Ressourcen und ein effizientes Projektmanagement erfordert. Wo ein einzelnes Team früher ausreichte, könnten nun unter Umständen mehrere Teams erforderlich sein, die gemeinsam an der Entwicklung und Umsetzung der Konzepte arbeiten. 

 

Vorteile: 

  • Flexibilität: Änderungen am Design und der Benutzeroberfläche können unabhängig von den restlichen Services und evtl. sogar schneller umgesetzt werden. 

  • Performance: Durch die Entkoppelung der Systeme und den Einsatz von dafür optimierten Technologien.

 

Nachteile: 

  • Höhere Entwicklungskosten: Es erfordert zusätzliche Schritte bei der Umsetzung, erhöht die Komplexität des Projektmanagements und bedarf spezialisierter Entwickler, die mit den verschiedenen Technologien vertraut sind. 

  • Komplexeres Deployment: Aufgrund der Trennung von Backend und Frontend erfordert das Deployment eine bessere Koordination und kann zu zusätzlichen Fehlern führen.

  • Komplexere Wartung: Eine zusätzliche Applikation bedeutet auch immer einen erhöhten Mehraufwand bei der Wartung des Gesamtprojektes. 

Der "traditionelle“ Monolith 

 

Im Gegensatz zu Headless Commerce vereinen „traditionelle“ Monolithen das Frontend sowie das Backend in einer All-In-One-Lösung. Viele E-Commerce-Frameworks werden mit einem voll funktionalen Frontend ausgeliefert, das bereits in das Gesamtprojekt eingebettet ist. Hierbei wird auch auf Technologien zurückgegriffen, die in anderen Bereichen des Systems zur Anwendung kommen.  

Mit diesem Ansatz kann also das Frontend zusammen mit allen anderen Bereichen der Applikation entwickelt werden. In einem solchen Setup können sowohl Frontend- als auch Backendentwicklern einfacher Hand in Hand an einem Projekt arbeiten und neue Features implementieren. 

 

Vorteile: 

  • Einfachere Entwicklung: Da das gesamte System in einer einzigen Codebasis enthalten ist, ist die Entwicklung und Implementierung neuer Funktionen und Updates in der Regel einfacher und schneller. 

  • Geringere Lernkurve: Für Entwickler, die neu im Projekt sind, kann es einfacher sein, sich in eine einzige Codebasis einzuarbeiten, als in ein verteiltes System mit mehreren unabhängigen Komponenten. 

  • Geringere Entwicklungskosten: Die Entwicklung eines monolithischen Systems ist unterm Strich kostengünstiger, da weniger spezialisierte Entwickler benötigt werden. 

  • Gesamtbetriebskosten (Total Cost of Ownership, TCO): In einigen Fällen können monolithische Systeme niedrigere Gesamtbetriebskosten haben, da weniger Infrastruktur und spezialisierte Ressourcen benötigt werden. 

 

Nachteile: 

  • Technologieabhängigkeit: Änderungen an einer bestimmten Technologie oder Komponente können das gesamte System beeinflussen, was zu potenziellen Kompatibilitätsproblemen führen kann. 

  • Langsamer Release-Zyklus: Da alle Änderungen in einer einzigen Codebasis zusammengeführt werden müssen, kann der Release-Zyklus langsamer sein. 

  • Eingeschränkte Technologieauswahl: Die Wahl der Technologien für das gesamte System kann begrenzt sein, da alle Teile miteinander harmonieren müssen. 

Das Beste aus beiden Welten 

 

Bei Spryker wird das Frontend (YVES) bereits out-of-the-box vom Backend (ZED) getrennt. Die für den User ersichtlichen Daten (Produkte, Kategorien, CMS-Seiten etc.)  werden nicht über eine SQL-Datenbank abgerufen, sondern stehen optimiert und hochverfügbar mittels Redis oder Elasticsearch bereit. So erzielt Spryker bereits eine hohe Performance und Skalierbarkeit, ohne dass eine völlig eigenständige Applikation erforderlich ist.  

 

Dieser Ansatz ermöglicht eine hohe Performance und Skalierbarkeit, ohne dass unbedingt spezialisierte Tools oder Entwickler benötigt werden. Die gleichen Werkzeuge, die für die User Experience im Storefront genutzt werden, finden auch in anderen Bereichen der Applikation Verwendung. 

 

Spryker Oryx 

 

Mit Oryx bietet nun auch Spryker eine Bibliothek an, um Headless-Lösungen einfacher und schneller implementieren zu können. Im Gegensatz zu vielen anderen Lösungen wird hierfür aber keine JavaScript-Bibliothek eingesetzt, sondern es werden Webcomponents und reines JavaScript als Grundlage genutzt. 

Entwickler, die bereits mit der Architektur von Spryker vertraut sind, wird der Umstieg leichter fallen, da Webcomponents schon seit einiger Zeit Verwendung finden. 

Fazit 

Headless-Commerce ist zweifellos mehr als nur ein vorübergehender Trend und wird uns auch in Zukunft weiter begleiten. 

Abschließend stellt sich die Frage, ob die Vorteile in einem angemessenen Verhältnis zu den Kosten und dem Zeitaufwand für die Umsetzung und Wartung stehen. Die Beurteilung, ob Headless-Commerce die passende Wahl für Ihr Projekt ist, hängt somit von verschiedenen Faktoren ab und erfordert eine individuelle Betrachtung.  

 

Wir unterstützen Sie gerne bei der Evaluierung.