FOXX – Der E-Commerce-Accelerator

Während der diesjährigen OXID Commons wurde ein neues Produkt namens FOXX vorgestellt, das für Traffic-starke Onlineshops die Lösung all ihrer diesbezüglichen Probleme sein kann. Erdacht und entwickelt haben es Lars Jankowfsky und sein Team und wir haben es uns etwas genauer angesehen.

Viele erfolgreiche Onlinehändler kennen das Problem, aufgrund immer höhere Zugriffe den eigenen Shop skalieren zu müssen, um dem wachsenden Traffic auch gerecht werden zu können. Trotzdem soll die Technik noch so flexibel sein, dass sich das Frontend ohne größere Probleme anpassen lässt – immerhin ist dieses ja der Teil der E-Commerce-Anwendung, den die Kunden sehen und der damit letztlich für Umsatz sorgt. Klassische, monolithische Software-Systeme kommen hier an ihre Grenzen bzw. müssen mit viel Aufwand erweitert und umgebaut werden, um den gestiegenen Anforderungen entsprechen zu können.

Aufbrechen monolithischer Software-Strukturen

Erkannt haben das Inkubatoren wie Rocket Internet und Project A Ventures schon seit längerem und haben aus diesem Grunde eigene Lösungen konzipiert und umgesetzt. Das Grundprinzip dieser Technologien, die durch die Namen Alice und Bob bzw. Yves und Zed  bekannt geworden sind, ist demnach: Man nehme ein extrem schlank programmiertes, hochperformantes Frontend, das sich schnell an die Bedürfnisse des Händlers anpassen lässt. Außerdem gebe man ein Backend hinzu, das die über das Frontend erzeugten Prozesse entgegennimmt und weiterverarbeitet. Man hat es also mindestens mit einer zweigeteilten Technologie zu tun, wobei jeder Teil jeweils spezielle Aufgaben übernimmt. Ist diese Trennung konzeptionell vollzogen, kann man auch die für den jeweiligen Einsatzzweck passende Softwarekomponenten einsetzen.

Technik und Prozesse

FOXX greift diesen Ansatz auf, konzentriert sich auf den Frontend-Layer und nutzt dazu die Technologien, die genau für diesen Anwendungsfall prädestiniert sind. Bewegen sich also beispielsweise Kunden durch die Kategorie- und Produktseiten des Shops oder führen eine Suche durch, werden die zugehörigen Interfaces von FOXX bereitgestellt. Erst wenn Kunden Artikel in den Warenkorb legen und anschließend den Checkout-Prozess durchlaufen, kommt eine „echte“ Shopsoftware zum Einsatz – aktuell ist das OXID eShop. Realisiert wird diese Herangehensweise unter anderem durch das Zusammenspiel der folgenden Technologien:

  • Symfony: Das populäre PHP-Framework in der aktuellsten Version bildet den Kern von FOXX.
  • Elasticsearch: Diese dokumentenbasierte NoSQL-Datenbank bringt eine hoch skalierbare, Cluster-fähige Volltextsuche in die Software und sorgt dafür, dass sämtliche Artikeldaten schnellstmöglich zur Verfügung gestellt werden können. Gerade bei großen Produktkatalogen ist dieses Verfahren wesentlich performanter als die klassischen relationalen Datenbanken. Dazu können Elasticsearch-Funktionen wie Autosuggestion, Fuzzy Search und Custom Scoring out-of-the-box verwendet werden.
  • Travis CI: Ein weiteres Merkmal moderner, agiler Software-Entwicklung ist die Continuous Integration. Diese wird über Travis CI realisiert, einem gehosteten Continuous-Integration-Service, über die Projekte gebaut und getestet werden können, die bei GitHub hinterlegt sind.
  • Vagrant: Diese Technologie wird dazu verwendet, möglichst einfach Entwicklungsumgebungen mithilfe virtueller Maschinen aufsetzen und konfigurieren zu können.

Abgesehen von der Technik beinhaltet FOXX jedoch, um es mit Lars Jankowfsky zu sagen, auch konzeptionell die „Blaupause für erfolgreichen E-Commerce“. Es geht also nicht nur um eine schlüsselfertige Software, die auf Knopfdruck das Frontend revolutioniert, sondern laut den Machern auch um ein Projekt-Template, das mit seinem agilen Ansatz in der Lage ist, eine Implementierung nicht mehr in 12-18 sondern in 3-6 Monaten zu realisieren. FOXX wird demnach nicht einzeln als Softwarepaket vertrieben, sondern immer im Rahmen eines konkreten Projekts in Zusammenarbeit mit dem Core-Team implementiert.

FOXX in der Praxis

FOXX ist bereits im Praxiseinsatz, unter anderem beim Marktplatz Yatego. Während einer aufschlussreichen Session im Rahmen der OXID Unconference gab Thorsten Rinne, Team Lead Engineering bei Yatego, detaillierte Einblicke in die Art und Weise, wie das Yatego-Frontend mithilfe von FOXX-Technologie und -Projektteam beschleunigt wurde. Er veranschaulichte auf unterhaltsame Weise, wie innerhalb von einem halben Jahr ab Mai 2013 das Frontend von Yatego auf Basis von FOXX „umgekrempelt“ wurde, von den ersten Elasticsearch-Importen über die Frontend-Entwicklung auf Basis von Bootstrap 3, die Erzeugung diverser Vagrant-Boxes und Puppet-Repositories bis hin zum Aufbau des Deployments und dem GoLive. Aufgrund dieser Maßnahmen konnte Yatego den Hardware-Einsatz im Frontend von 12 auf 3 Servern reduzieren und die Entwicklung neuer Features wesentlich beschleunigen.

Auch andere Projekte wurden bereits mithilfe von FOXX umgesetzt oder befinden sich aktuell in der Umsetzung, wie z.B. Kiveda und Babymarkt. Dabei konzentriert man sich bewusst auf den Frontend-/Skalierungsteil von E-Commerce-Anwendungen und folgt damit dem Best-in-Class-Ansatz, den z.B. CouchCommerce für den mobilen Bereich und Plentymarkets für Backend-/Marktplatzanbindungen anstreben.

Die Tatsache, dass sich ambitionierte Händler zunehmend auf derartige, Komponenten-basierte Technologien verlassen bzw. verlassen müssen, zeigt, wohin sich der Markt für etablierte Hersteller monolithischer E-Commerce-Software entwickeln könnte und welche Probleme es zu lösen gilt – man darf gespannt sein, zu welchen Lösungen die Systemhersteller diesbezüglich noch „inspiriert“ werden.

(Bild von jans canon)

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) →