Autor: Stefan Adolf

Spryker – Dynamik für
innovative Geschäftsmodelle.

Commerce in Zeiten digitaler Transformation

Die digitale Transformation durchdringt gerade unaufhaltsam alle Teile der Gesellschaft. Bisherige Touchpoints verändern sich und neue entstehen: Smartphone-Apps, soziale Netzwerke, Sprache erkennende Lautsprecher, Armbanduhren oder intelligente Fahrassistenzsysteme bestimmen zunehmend unseren Alltag. Solche Technologien verändern die Customer Journey grundlegend, erfordern massive Anpassungen der User Experience und spannen einen Raum von Marketing- und Vertriebskanälen so weit auf, dass für Commerce-Anbieter die Länge der Anforderungsliste dramatisch wächst.



Die Vorbereitung auf das Ungewisse

Die Suche nach der passenden Online-Shop-Software beginnt in der Regel mit zwei Feature-Listen. Auf der einen stehen alle Wünsche, auf der anderen das funktionelle Inventar marktüblicher Systeme. Häufig lassen sich beide Listen nicht in Einklang bringen und damit gehen die Probleme los: offene Wünsche bedeuten Aufwand – vorher in der Planung oder nachträglich, wenn sie individuell hinzuentwickelt werden müssen.

Je nachdem wie komplex, modern, offen oder alt die gewählte Plattform ist, kann das schnell nicht nur teuer werden, sondern auch riskant. Man bleibt stets an das Ökosystem gebunden, für das man sich entschieden hat. Nur in seltenen Fällen weiß man schon vorher, was man nachher braucht: die komplexeste Anforderung des Commerce ist ihre eigene Unvorhersehbarkeit.




Agiler werden

Anforderungen werden heute deutlich flexibler ausgelegt als noch vor einigen Jahren; die Relevanz eines detaillierten Lastenhefts sinkt, der Wunsch nach agiler Methodik und einem skalierbaren Entwicklungsprozess steigt.

Der Weg in die Zukunft der Commerce-Software führt daher zu Frameworks und APIs, zur Entkoppelung von Diensten, zu Best Practices und Richtlinien, zu voneinander unabhängigen Funktionen, die sich austauschen oder abschalten lassen, ohne dabei den Rest des Systems zu beeinträchtigen.

Unternehmen, die in einem agilen Umfeld bestehen müssen, können sich nur mit moderner Technik differenzieren, denn die Disruption des Commerce findet nicht auf dem Marktplatz der Shopsysteme mit klar definiertem Funktionsumfang statt, sondern entsteht aus der konsequenten Umsetzung agilen Denkens und Handelns.



Das Spryker Commerce Operating System

Entstanden im Umfeld des Berliner Inkubators Project A Ventures und geprägt von vielen praktischen Erkenntnissen der agilen Technikteams der Startup-Schmiede Rocket Internet beschäftigt sich das Unternehmen Spryker mit der Entwicklung einer Sammlung von lose gekoppelten Komponenten, die das Fundament für performante, wartbare und gut skalierbare kommerzielle Anwendungen bilden.



Modifikation durch Plugins

Während Spryker Commerce OS out-of-the-box viele Funktionen klassischer Shopsysteme anbietet, spielt es seine Stärken besonders bei der Unterstützung von agilen Individualentwicklungen aus. Das zugrunde liegende Framework ermutigt Entwickler, konsequent die Best Practices der SOLID-Entwicklung anzuwenden und lebt Konzepte des Clean Code in einzigartig pragmatischer Weise vor.


Entkoppelte Komponenten

Moderne Entwurfsmuster und die Nutzung und Bereitstellung von Industriestandards wie PSR-kompatiblem Autoloading, Composer, Silex, Dependency Injection und Symfony Components als Sprykers DNA sorgen dafür, dass alle Komponenten voneinander stark entkoppelt sind und sogar getrennt voneinander skaliert werden können. Das Risiko, zu lange an einer systemkritischen Komponente zu arbeiten und sich dabei zu weit vom Master-Branch der Basissoftware zu entfernen, wird durch Spryker massiv gesenkt.

Man darf diesen Ansatz übrigens nicht mit den vielbeachteten Microservice-Architekturen verwechseln; Spryker behält die Vorteile eines monolithischen Systems wie die Handhabbarkeit, Wiederverwendbarkeit und Sichtbarkeit aller Abhängigkeiten. Entwickler müssen sich beim Entwurf ihrer Software aber nicht in ein Korsett pressen lassen, sondern können ihre eigenen Lösungsansätze entwickeln und sie dank Sprykers gut dokumentierten Interfaces, Factories und Facaden lose in das Gesamtsystem integrieren.



Innovationen schnell umsetzen

Neue Ideen, die man z.B. dank datengetriebener Auswertung der Customer Journey entwickelt, müssen zeitnah mit Technologie beantwortet werden. Die hohe Modularität der Architektur von Spryker Commerce OS garantiert, dass sich Erweiterungen schnell und robust in produktive Installationen integrieren und ihre Akzeptanz bzw. ihr Erfolg testen lassen.

Auf der anderen Seite werden viele Geschäftsmodelle, die über Jahre nur wenige Anpassungen benötigten, in Zeiten der digitalen Transformation individueller und anspruchsvoller. Anstatt sich dem Risiko eines vollständigen Neubaus auszusetzen, kann man dank Sprykers agilen Fundaments technische Innovationen parallel zu seinem Altsystem entwickeln und betreiben. Stellt man dann fest, dass sich auch bestehende Lösungen gut in Spryker umsetzen lassen, können sie schrittweise migriert werden. Unternehmen werden dadurch nicht mehr mit der Frage nach dem „Entweder-Oder“ konfrontiert, sondern profitieren von einem fließenden Übergang.

Wer sich Sprykers offizielles Github-Repository klont und aus dessen Vagrant-Konfiguration eine virtuelle Maschine baut, kann nach etwa 20 Minuten auf seinem eigenen Notebook einen Demo-Shop besuchen, der bereits einen beachtlichen Funktionsumfang aufweist. Ihn ohne virtuelle Umgebung aufzusetzen dürfte deutlich länger dauern: schon das Minimal-Setup von Spryker setzt neben Webserver und PHP auch die Installation von PostgreSQL (MySQL wird unterstützt), Redis und Elasticsearch voraus.



Das Konzept der Trennung

Diese hohen Basisanforderungen sind einem wichtigen Aspekt von Spryker geschuldet: der konsequenten Trennung von für Kunden sichtbare Frontends – Spryker selbst spricht in diesem Zusammenhang von Apps – und einer Backend-Applikation, die unter anderem für Produktinformationsmanagement, Lagerwirtschaft oder Rechnungsstellung zuständig sein kann. Um sich diesen systemischen Schnitt leichter einprägen zu können, nennt Spryker das Frontend “Yves” und das Backend “Zed”. Beide kommunizieren ausschließlich mit Hilfe eines JSON-basierten RPC-Protokolls miteinander, bzw. lesen aus denselben Datenquellen, sodass Yves und Zed tatsächlich unabhängig voneinander funktionieren, aber auch skaliert und deployed werden können.


Konsequente Software-Qualität

Die Konfigurationsdateien der Spryker-Quellen offenbaren, dass es die Core-Entwickler mit Coding-Standards, Clean Code und Best Practices wirklich ernst meinen: Neben Konfigurationen für Codeception Akzeptanztests und Code Quality-Tools hat das Spryker-Team bereits das Deployment auf Heroku PaaS und den Einsatz von New Relic-Monitoring vorbereitet.


Rollout ist Sache des Integrators

Für den Rollout der hohen Infrastrukturanforderungen gibt es bei Spryker keine eindeutige Antwort. Das System lässt sich auf einem selbst gehosteten Kubernetes-Cluster betreiben als auch in der ursprünglichen Vagrant-Variante via Terraform und Packer ausrollen. Zielinfrastruktur und Kundenwunsch wiegen bei Spryker Commerce OS stärker als eine fest vorgegebene Festlegung auf einen Deployment-Standard und so überlässt es das System dem Anwender, wie er neuen Code am intelligentesten und sichersten auf seine Stages ausrollt.


Kurze Reaktionszeiten

Kunden muss man dort abholen, wo sie sich aufhalten – aber niemand weiß heute, wo das in zwei Jahren sein wird. Neben seinen hervorragenden Eigenschaften als agiles Basissystem für klassisches Commerce hat Spryker Commerce OS genau diese Unvorhersehbarkeit von Anforderungen im Blick. Die konsequente Trennung zwischen Front- und Backend sowie die schnittstellenorientierte Architektur ermöglicht es Spryker-Entwicklern in kurzer Zeit, völlig neue Vertriebskanäle darzustellen und Maßnahmen zu deren Monitoring und ggf. Skalierbarkeit zu ergreifen, ohne andere Applikationen damit zu beeinflussen.


Offen für neueste Backend-Integrationen

Spryker Commerce OS geht aber noch einen Schritt weiter. Während auf der einen Seite Industriepartner beispielsweise Integrationen für Payment-Gateways anbieten, erlaubt Sprykers Architektur die nahtlose Anbindung von hochmodernen Backend-Technologien wie Blockchain-Transaktionen oder die Nutzung von maschinell generierten Daten in der Lagerhaltung oder Produktion. Wer seine Herstellungs- oder Handelsprozesse evolutionär mit intelligenten Fabriken oder IoT-gestützter Lagerhaltung vorantreiben möchte, wird ebenfalls von Spryker unterstützt: Die vollautomatische maschinelle Abwicklung von B2B-Transaktionen, der sogenannte “Bot-Commerce”, ist mit Spryker ohne Weiteres möglich.


Die Zukunft kann kommen

Spryker wird seinem Produkttitel “Commerce OS” gerecht: als Baukastensystem für Commerce-Anwendungen begegnet es den Herausforderungen der digitalen Transformation mit sauberer Architektur, klarem Fokus auf Erweiterbarkeit und konsequenter Trennung von Front- und Backend, anstatt sich auf Lösungen von der Stange zu konzentrieren. Damit erlaubt es Spryker schnell auf Anforderungen zu reagieren, ohne an Robustheit einzubüßen.



Turbine Kreuzberg und Spryker

Wir wurden schon kurz nach der Veröffentlichung Spryker Solution Partner und beobachten die Entwicklung von Spryker seitdem mit großem Interesse. Seit 2014 setzen wir gemeinsam mit unseren Kunden Projekte auf Grundlage des Spryker Commerce OS um, darunter zwei Marktplätze mit anspruchsvollen Anforderungen an PIM- und ERP-Integrationen sowie dynamisierten Preisfindungskomponenten.

Unsere Erfahrungen mit Spryker zeigen, dass die Zusammenarbeit mit Auftraggebern in der Frühphase der Konzeption zu den besten Ergebnissen führt. Dank dieser frühen Kollaboration realisierten wir z.B. das Minimum Viable Product (MVP) der Schweizer Marktplatz-Plattform siroop – das weltweit erste Spryker-Projekt überhaupt – von der Beauftragung bis zur Live-Schaltung in nur vier Monaten.