27. Juli 2024

E-Commerce-Zwerge auf den Schultern von Riesen

Wie ein einzelner Tweet knapp 800 Wörter Blog-Post nach sich ziehen kann: Vor ein paar Tagen bin ich auf über einen solchen meines Kollegen Yann Simon – Core-Entwickler bei commercetools – gestoßen, der über die Folgen eines Updates von Elasticsearch berichtet:

Wie viele Leser wissen, ist Elasticsearch eine Such-Engine, die auf der Programmbibliothek Apache Lucene beruht, die wiederum als Open-Source-Projekt von der Apache Software Foundation weiterentwickelt wird. Bei commercetools kommt sie als primäre Suche etwa für Produktdaten zum Einsatz – und man kann sich leicht vorstellen, welche Vorteile es hat, als Betreiber einer PaaS-Lösung die zu speichernde Datenmenge auf diese Weise reduzieren zu können. Auch Shopify nutzt Elasticsearch, andere Cloud-Anbieter tun dies ebenfalls (im Nicht-E-Commerce-Umfeld beispielsweise Wikipedia) oder verwenden die Lucene-Schwester Solr im Hintergrund.

Bei On-Premise-Lösungen wird diese Suchtechnologie ebenfalls eingesetzt: Spryker nutzt Elasticsearch laut Dokumentation, es gibt Konnektoren für Magento, Shopware, OXID eShop und auch die größeren Enterprise-Lösungen wie Intershop, SAP Hybris und IBM Websphere werden ähnliche Integrationen in der Schublade haben.

Software-Zoo?

Nun soll dies kein Beitrag über Elasticsearch sein, die Technologie steht hier stellvertretend für viele ähnliche Programme und Bibliotheken, die schon lange nicht mehr aus der Web- und besonders der E-Commerce-Landschaft wegzudenken sind. Um das noch mehr zu verdeutlichen, hier ein Beitrag bei Quora auf die Frage nach dem Software-Stack hinter dem bereits erwähnten Shopify:

Products that make up Shopify’s tech stack include: Apache (Commons, Kafka, Zookeeper), Elasticsearch, FAYE, Git, GitHub, Google (Cloud Messaging, Maps), HockeyApp, JavaScript, jQuery, Mapbox, MySQL, Nitrous, OneSky, Redis, Ruby, Ruby on Rails, Swiftype, Twilio, Vagrant, VividCortex, ZapStitch, CircleCI, Datadog, DigiCert, Disqus, Docker, Dyn DNS, Fastly, GoDaddy Domain Registration, HackerOne, HuBoard, New Relic, nginx, Pingdom, StatsD, StatusPage, ThousandEyes, and Unicorn.

Das ist eine ziemlich wilde Mischung aus kommerziellen und quelloffenen Produkten und Services und man könnte eine ganze Blogpost-Reihe damit zubringen, sie mal im Detail aufzudröseln. In diesem Kontext soll die Aufzählung aber eins verdeutlichen: Entwicklung derartiger Plattformen beinhaltet immer auch das entsprechende Wissen sowie das passgenaue Orchestrieren dieser verschiedenen Technologien und deren Verschmelzung zum gewünschten Endprodukt.

Spezialisten to the rescue

Natürlich ist Shopify ein Spezialfall. Das Unternehmen ist mittlerweile börsennotiert und wickelt laut Wikipedia ein jährliches Transaktionsvolumen von 45 Milliarden USD ab, das von mehr als einer halben Million Händler auf der Plattform bewegt wird. Da leuchtet es ein, dass man sich auf bewährte, spezialisierte Softwarekomponenten verlässt – enter Buzz-Word „best-of-breed“.

Aber auch in geringerem Umfang ist der Zugriff auf diese Komponenten durchaus gängige Praxis, was auch durchaus vernünftig ist. Warum sollte man viel Zeit und Geld darauf verwenden, einen eigenen Suchalgorithmus zu entwickeln, wenn Apache dort bereits ein frei verfügbares Produkt mit reichlich Dokumentation und einer großen, weltweiten Entwickler-Community anbietet? Und was spricht dagegen, ein JavaScript-Framework wie React einzusetzen, wenn es aus dem Hause Facebook kommend Flexibilität und Skalierbarkeit verspricht?

Der Umfang und die Implementierungstiefe derartiger Drittanbieter-Komponenten mag von Projekt zu Projekt und von Team zu Team variieren, die Sinnhaftigkeit dürfte aber niemand bestreiten. Selbst wenn man „nur“ github für seine Repos benutzt, entfällt damit der Aufwand für den Betrieb und die Verwaltung einer eigenen Versionierungs-Infrastruktur und die Zeit wird frei etwa für ein wirklich durchdachtes Rabatt-Modell.

Die Riesen im Auge behalten

Was bedeutet das nun genau für E-Commerce-Technologie? Nun, für kommerzielle Anbieter von E-Commerce-Software stellt sich die Frage, wie man Dritttechnologie erfolgreich einsetzt. Im besten Fall profitieren sie wie die sprichwörtlichen Zwerge auf den Schultern von Riesen von der externen Innovationsgeschwindigkeit und nutzen sie für die Stärkung des Produkts, anstatt auf eigene Lösungen zu setzen.

Das ist eine besondere Herausforderung für Anbieter der ersten Stunde (die Ungnade der frühen Geburt) wie etwa Intershop, SAP Hybris oder IBM Websphere, die Mitte der Neunziger gebaut wurden – lange vor Elasticsearch (2010), React und Docker (2013) sowie Dienstleister wie die Google Cloud Platform (2011). Sie stehen vor der grundsätzlichen Entscheidung, etwaige Eigenlösungen und Dienste selbst weiterzuentwickeln oder ihren Core für diese neuen Komponenten zu öffnen.

Für Marken und Händler, die aus bestimmten Gründen keine Standard-Commerce-Software einsetzen wollen oder können und stattdessen auf Eigenentwicklung setzen, bedeutet diese Strategie natürlich, dass es nicht ausreicht, Java- oder PHP-Rockstars anzustellen und sie ihren Code zu 100% auf grüner Wiese aufbauen zu lassen. Es geht vielmehr darum, permanent die Augen offen für derartige Komponenten zu halten, Konferenzen zu besuchen und sich untereinander auszutauschen. (Und Gerüchte besagen, dass es ein richtiger Motiviationsschub sein kann, nicht mehr jeden Tag eine 15 Jahre alte .NET-Anwendung warten zu müssen, die mit jedem Commit zusammenfallen kann wie ein Kartenhaus.)

Wir halten also abschließend fest: Die eigentlichen technischen Innovationen finden nicht nur in den eigenen Teams, sondern auch aufseiten von Drittanbietern statt. Die Herausforderung liegt darin, externe Komponenten geschickt miteinander zu verbinden und Entwicklungs-, Test- und Deployment-Prozesse auf schlaue und effiziente Art und Weise zu automatisieren. Daher werden wir auch hier im Blog immer mal wieder auf Entwicklungen bei diesen Kerntechnologien verweisen – und auch den einen oder anderen Riesen zu Wort kommen lassen.

Roman Zenner (ShopTechBlog)

Ich beschäftige mich seit mehr als 20 Jahren mit E-Commerce-Technologie und gehe hier im Blog der Frage nach, mit welchen Systemen Marken und Händler:innen ihr Online-Geschäft abbilden.

Alle Beiträge ansehen von Roman Zenner (ShopTechBlog) →