E-Commerce-Plattformen: Make or Buy?
tarent Blog

E-Commerce-Plattformen: Make or Buy?

29.10.2020 Posted 4 Wochen ago Timothy Krechel

Unser kleiner Beispiel-Anwendungsfall

An mehreren Stellen haben wir schon über unseren Technologie-Träger Corona-Bäckerei berichtet. Auch für diesen Artikel soll das Projekt als Beispiel dienen, um die Schwierigkeiten einer Make-or-Buy-Entscheidung oder bei der Wahl des richtigen Technologie-Stacks im E-Commerce zu illustrieren.

Das Projekt stellt relativ klare und moderat komplexe Anforderungen: Wir möchten per API, also unabhängig von einer einzelnen Webseite, Bestellungen für Produkte in verschiedenen Bäckereien zur Abholung ermöglichen. Dazu brauchen wir zunächst einmal die Basics: Produktinformationen, Nutzer-Authentisierung und Bestell-Logik. Um die Abholung in unserer selbstgebauten Abholstation zu ermöglichen, müssen Abholstatus und Abholcodes gehandhabt werden, außerdem muss die Hardware für die Abholung in den Abholprozess integriert werden.

Mit diesen konkreten Anforderungen im Gepäck haben wir uns die Frage gestellt, wie viel Funktionalität davon sich mit am Markt verfügbaren Lösungen bereits umsetzen lässt und wie hoch der Anteil der Eigenentwicklung wäre. Dazu haben wir uns commercetools und eine aktuelle Version von Adobes Magento geschnappt.

Die Qual der Wahl

Mit dem Umfang des Anwendungsfalls steigen häufig die Anforderungen an die E-Commerce-Lösung. Anstatt eines einzelnen Webshops gibt es bei größeren Unternehmen schnell mehrere Channels, die integriert werden müssen. Ein modernes Kauferlebnis erfordert beispielsweise auch das Anbieten von Click-and-Reserve, Click-and-Collect oder Click-and-Deliver-Funktionen, die eng mit dem ERP-System verknüpft sind.

Wenn umfangreiche Anpassungen und Integrationen notwendig werden, können diese Plattformen insgesamt doch ganz schön teuer werden. Eine genaue Betrachtung des Passgrades zwischen der Software und dem eigenen Anwendungsfall ist deswegen zwingend notwendig.

Unsere eingangs beschriebene Bäckerei bietet hier ein wirklich schönes B2C-Beispiel, um diese E-Commerce-Plattformen auf Herz und Nieren zu prüfen. Denn der Anwendungsfall ist mittelmäßig umfangreich und deckt sich mit aktuellen Kundenerwartungen am Markt.

Screenshot E-Commerce Plattform

commercetools

Der Weg bis zu einer für diesen Vergleich benutzbaren, lauffähigen Instanz war ziemlich kurz. Es gibt eine sehr einfache Möglichkeit, eine 60-Tage-Testinstanz in der Cloud mit vollem Funktionsumfang zu starten. Mit den Standardfunktionen war der Weg bis zu den ersten Limitationen für unsere kleine Bäckerei allerdings ebenfalls sehr kurz. Es gab zum Beispiel keine einfache Möglichkeit, einzelne Produkte nur für bestimmte Bäckereien (sprich: Filialen oder Ladenlokale) verfügbar zu machen. Mit Sicherheit ließen sich Produktkategorien, Channels o.Ä. dafür missbrauchen, aber das fanden wir weder besonders elegant noch eine langfristig sinnvolle Lösung. Die angelegten “Stores” haben demnach grundsätzlich auch kein eigenes Inventar. Klasse sind die Dokumentation der REST-API und die Möglichkeit, auch per GraphQL auf die Schnittstelle zugreifen zu können. Die API von commercetools bildet einen Großteil von dessen Funktionalitäten ab und lässt sich so auch in eine größere Plattform-Architektur einbinden.

Magento

Magento kommt in drei unterschiedlichen Varianten: Magento Commerce Cloud, Magento Commerce als on-premise-Lösung und Magento Open Source. Bei unseren Kunden kommen alle drei zum Einsatz, für diesen Vergleich haben wir jedoch eine eigene EC2-Instanz auf AWS aufgesetzt und dort Magento Open Source installiert. Die Dokumentation von Magento für den Installationsprozess ist alles andere als selbsterklärend und es wirkt so, als würden hier aktiv Hürden aufgebaut, um die Nutzung einer (kostenpflichtigen) gehosteten Version zu incentivieren.

Auch Magento scheitert bereits daran, Produkte sinnvoll an einen einzelnen physischen Store zu binden. Stattdessen arbeitet Magento mit unterschiedlichen Store Views, sodass für unseren Anwendungsfall der Bäckerei mit drei Läden vor Ort und jeweils unterschiedlichem Sortiment auch bei Magento über diese Views und Zuweisung von unterschiedlichen Kategorien etwas zusammen-gehackt werden müsste. Erschwerend ist die Doku der REST-API nicht besonders übersichtlich und dessen Struktur mindestens ungewöhnlich.

Magento hat eine eingebautes CMS für das Erstellen und Verwalten von Inhalten und bietet zumindest in der Variante Magento Commerce seit April 2020 KI-gestützte Produktempfehlungen.

Wenn Plattformen an ihre Grenzen stoßen…

Dieser erste Vergleich zwischen den Anforderungen des Projekts und dem Funktionsumfang der Software liefert vor allem Folgendes: E-Commerce-Plattformen wie Magento und commercetools unterliegen einigen Annahmen seitens ihrer Entwickler. Passen die eigenen Anforderungen gut zu diesen Annahmen, kann hier mit moderatem finanziellen und zeitlichem Aufwand ein guter Webshop aufgesetzt werden.

In unserem konkreten Beispiel stießen wir jedoch direkt an die Grenzen dieser Annahmen, weswegen hohe Entwicklungsaufwände entstehen würden, wenn wir Magento oder commercetools auf unsere Anforderungen zuschneiden würden — beispielsweise in Form eines eigenen API-Wrappers oder einer Anpassung der Software selbst. Für manche Zusatzfunktionen gibt es allerdings auch Erweiterungen in den Ökosystemen der Plattformen, wie beispielsweise dem Magento Marketplace.

Die Anforderungen unserer Kunden, große Akteure im E-Commerce, sind jedoch häufig nicht nur hochindividuell, sondern auch besonders komplex. ERP-Systeme müssen an- bzw. eingebunden, physische Standorte integriert und Produktinformationen aufbereitet werden. Deswegen kommen auch hier solche Plattformen schnell an ihre Grenzen.

Stellenweise bieten diese Plattformen jedoch einzelne Funktionen so gut ab, dass sie nur für diese eine Funktion zum Einsatz kommen. Aufgrund der hohen Skalierbarkeit, der zufriedenstellenden Performance und einer leicht benutzbaren grafischen Benutzeroberfläche haben wir commercetools bereits in einigen Projekten für das Anlegen und Pflegen von Produktdaten genutzt. Die restlichen Funktionen hatten oft nicht den erforderlichen Umfang, weswegen dafür meistens Individualsoftware als Teil einer ereignisgetriebenen (event-driven) Microservice-Architektur (vor allem mit Apache Kafka) zum Einsatz kam.

Die Anforderungen müssen früh geklärt werden

Unserer Erfahrung nach kommen also gerade größere Unternehmen, die schon länger mit physischen Shops am Markt aktiv sind und dadurch ihre Prozesse und Datenstrukturen darauf aufgebaut haben, nicht um Individualentwicklungen herum. Die Sachverhalte sind schnell zu komplex oder einfach schon zu individuell, um sie sinnvoll mit Off-the-shelf-Lösungen abbilden zu können. Manchmal, wie im Beispiel unserer kleinen Bäckerei, erfordern auch einzelne besondere Funktionen in einem ansonsten wenig komplexen Projekt einen großen Anteil an Individualentwicklung.

Bevor in einem solchen Projekt also eine Entscheidung für oder gegen den Einsatz von solcher Software getroffen wird, müssen alle Anforderungen klar sein. Dann erst kann abgeschätzt werden, welche Teile dieser Anforderungen mit welchen Softwarekomponenten schnell, skalierbar und zukunftssicher umgesetzt werden können.

Sie möchten ganzheitliche und performante Lösungen für Ihren Shop?

Als Spezialisten im E-Commerce mit langjähriger Erfahrung mit großen Kunden bieten wir von der Plattformentwicklung bis zur Performanceoptimierung und KI-Lösungen umfangreiche E-Commerce-Lösungen.

Oder sind Sie gerade erst am Anfang Ihrer Digitalstrategie?

Starten Sie in Sachen Digitalisierung direkt durch mit unserem Digital Kickoff.

Timothy Krechel von tarent solutions

Über den Autor

Timothy Krechel, Senior Technology Consultant und Experte für Coding und Künstliche Intelligenz.

Timothys LinkedIn Profil