Zusammenfassung der Code.Talks commerce special 2016 - Tag 1

Als Dienstleister im eCommerce Bereich war uns natürlich schnell klar, dass die Code.Talks commerce special 2016 in Berlin zu den Pflichtveranstaltungen zählen wird, insbesondere da Vertreter nahezu aller relevanten Shopsysteme anwesend waren.

Keynote und Panel Diskussion

Nach einer inhaltlich eher überschaubaren Keynote, die von Alexander Graf (Spryker Systems GmbH) und Lars Jankofsky (nfq.com) gehalten wurde, startete die Veranstaltung mit einer Panel Diskussion zum Thema Shopsysteme. Auf der Bühne waren neben Yoav Kuttner (Oro Inc.), dem ehemaligen CTO von Magento, Ben Marks (Magento Inc.), Ulrike Müller (NewStore), Fabian Wesner (Spryker Systems GmbH) und Moritz Zimmermann (hybris/SAP CEC).

Nach anfänglichem Zögern kam die erste und auch einzige Frage aus dem Publikum, nämlich: Gibt es eine eCommerce Lösung, die alle Anforderungen abdeckt? Im Verlauf der Diskussion zeigte sich, dass Yoav Kuttner und Ben Marks eher versuchten diese Frage aus Sicht der Kunden zu beantworten, die anderen Beteiligten hingegen mehr erläuterten wie eCommerce in der Zukunft aus Ihrer Sicht aussehen wird.

Ein interessanter Satz von Yoav Kuttner dazu war zweifellos, dass sich Kunden nicht dafür interessieren, ob die Software auf einer Microservice-Architektur basiert oder nicht, sondern vielmehr für die User Experience. Grundsätzlich hatte man das Gefühl, dass Yoav Kuttner, Ben Marks und Ulrike Müller das Thema eCommerce wesentlich weniger auf die dahinterstehende Software reduzieren, sondern eher gesamtheitlich betrachten.

Ulrike Müller sieht die Zukunft des eCommerce hierbei insbesondere im Omnichannel Bereich, wobei für sie entscheidend ist, über welches Know-How und welche Erfahrung der jeweilige Händler bei zur Einführung des richtigen Systems verfügt.

Lt. Moritz Zimmermann spielt die Langfristigkeit einer Lösung eine große Rolle, was natürlich nachvollziehbar ist, da gerade in langfristig angelegten Projekten der beratungsintensive Ansatz von Hybris besser zum Tragen kommen dürfte. So versuchen Projekte ab einer gewissen Größenordnung in der Regel ein wesentlich breiteres Spektrum an Dienstleistung abzudecken, nicht nur die Realiserung des Online Auftritts. Wobei Magento mit der Einführung des Magento Commerce Order Managements Systems auch in diesem Bereich versucht, Fuß zu fassen und das was wir hier bisher gesehen haben, äußerst vielversprechend aussieht.

Das Thema Langfristigkeit bei der Einführung einer Lösung, spiegelt sich zwangsläufig auch in Qualität der Software, den Kosten für die Einführung und den Betrieb wieder. Hier legen Hybris und Co. besonders Wert auf die Entwicklung entsprechender Prozesse und Beratung des Herstellers. Gefühlt gibt es auch hier unterschiedliche Auffassungen in der deutschen und der amerikansichen Mentalität. Magento versucht durch eine möglichst flexible Lösung und vorhandene Standardkomponenten schnell die Anforderungen der Kunden abdecken zu können, die dahinterstehenden Technologien stehen dabei nicht im Vordergrund. Das spiegelt sich letztlich auch in der Entwicklung von Magento 2 wieder. Im Gegensatz dazu sieht Fabian Wesner in Spryker den absoluten Gegensatz zu den gängigen Standardsystemen und glaubt, dass sich mittelfristig der Markt für die Standardsysteme auflösen wird. Seiner Ansicht nach werden die Betreiber entweder verstärkt auf die sich rasant weiterentwickelnden SaaS Produkte wie Shopify setzen oder aber stark individualisierbare Lösungen auf Basis von Frameworks, wie z. b. Spryker, favorisieren.

Insgesamt hatte man bei der Diskussion das Gefühl, dass die Diskussion durch Lars Jankonfsky etwas in Richtung pro Spryker und contra Magento getrieben wurde. Das gipfelte letztlich in seiner Aufforderung an Fabian Wesner seine Meinung zu Magento und insbesondere zur Entwicklung von Magento 2 kundzutun. Nach einigem Kopfschütteln erklärte dieser, dass er u. a. nicht nachvollziehen kann, warum Altlasten wie der Full-Page-Cache oder Zend Framework 1 mit nach Magento 2 übernommen wurden. Yoav Kuttner entgegnete hier, dass Magento 2 zwar ein kompletter Rewrite von Magento 1 ist, sich aber stark an dessen Basisarchitektur orientiert. Zend Framework 1 stellt nicht die Basis von Magento 2 dar, sondern es werden lediglich einige Libraries verwendet.

Yoav Kuttner und Ben Marks dürften diese Panel Diskussion wohl mit etwas Unverständnis hinsichtlich der durch die Moderation gewählten Gesprächsführung miterlebt haben. Beim Blick hinter die Kulissen der Veranstaltung könnte man jetzt allerdings anhand der dort genannten Kuratoren und deren Positionen einiges ableiten, was wir hier natürlich nicht machen....

Von Monolithen und Microservices

Der Titel des nächsten Talks von Guido Steinacker, seines Zeichens Technical Lead für den Online Shop bei Otto, hörte sich sehr vielversprechend an.

Nach einem kurzen Überblick über die Weiterentwicklungen des Online Shops seit 2010 konenztrierte sich der Talk hauptsächlich auf die aktuell angestrebte Architektur und deren Vorteile gegenüber des ursprünglichen monolithischen Ansatzes. Neben intensiven Problemen bei der Skalierung waren insbesondere auch die Probleme bei der Arbeit vieler Teams an einem Monolithen ausschlaggebend für den Wechsel der Architektur hin zu Microservices.

Otto entschied sich letztlich für die funktionale Dekomposition der Anwendung. Im ersten Schritt wurde der Monolith hierbei durch vertikale Dekomposition in fachlich getrennte, voneinander weitgehend unabhängige Anwendungen zerlegt.


Abb 1: Vertikale Dekomposition


Die dabei entstandenen, eigenständigen fachlichen Anwendungen die ein eigenes UI und bei Bedarf auch eigene Datenbanken mitbringen, werden Verticals genannt. Jedes Vertical wird hierbei durch ein eigenes Team entwickelt und gewartet, das sich die Programmiersprache selbst aussuchen kann. Bis auf wenige Ausnahmen, die in Form von Open Source Libraries bei Github veröffentlich werden, wird kein Code zwischen den Verticals geteilt. Jedes Vertical ist somit lt. Definition von Stefan Tilkov auch ein Self-Contained System.

Nachdem es sich bei einem Vertical noch immer um eine relativ große Anwendung handeln kann, entschied sich Otto durch den Ansatz der verteilten Verarbeitung zu einer weiteren Aufsplittung in kleinere Verticals und Komponenten, die jeweils in eigenen Prozessen laufen und untereinander über z. B. über REST kommunizieren.


Abb 2: Verteilte Verarbeitung


Durch die vertikale und horizontale Aufsplittung der Anwendung wird sichergestellt, dass jedes Vertical eigenständig deployed werden kann und auch lauffähig ist. Durch die Kombination der oben vorgestellten Ansätze mit Load Balancing erreicht Otto die maximale Skalierbarkeit des Systems, die jedoch in Einzelfällen zu inkonsistenten Zuständen der Daten führen kann.


Abb 3: Sharding, Vertikale Dekomposition, Verteilte Verarbeitung und Load Balancing


Das wird jedoch bewußt in Kauf genommen und durch einen entsprechenden Kundensupport aufgefangen.

Durch die schrittweise und konsequente Einführung von Microservices macht Otto derzeit den nächsten Schritt um alle Dimensionen der Skalierbarkeit ihrer Software zu erreichen.

Das Zerlegen einer Software ist jedoch nur der eine Teil, der Andere besteht natürlich in der Herausforderung die verteilten Anwendungen wieder sinnvoll und effizient miteinander zu verbinden, so dass der Kunde davon nichts mitbekommt. Die Integration erfolgt hierbei auf einfachste Art und Weise durch Hyberlinks und asynchrone Verarbeitung per AJAX Calls.


Abb 3: Hyperlinks


Zusätzlich werden über ESI (Edge-Side Includes) durch den Einsatz von Varnish die durch die Verticals gerenderten HTML Fragement serverseitig kombiniert und ausgeliefert.

Die Umstellung der Architektur hat sich für Otto bis jetzt offensichtlich in allen Bereichen gelohnt und wird weiter vorangetrieben. Hierbei stehen besonders die vollständige Einführung von Microservices und das Sharding im Vordergrund.

Derzeit besteht das System aus 15 Verticals und zahlreichen Microservices. Durch den Ansatz, jedes Vertical und jeden Microservice durch ein eigenes Team entwickeln zu lassen, konnte eine Steigerung von ca. 20 Deployments 2014 auf 140 Deployments pro Woche (Stand September 2015) erreicht werden. Die Qualität konnte dabei auf einem gleichbleibenden Niveau gehalten werden.

Neue Features werden prinzipiell als Microservices entwickelt, größere Verticals werden gesplittet. Für das Deployment wird aktuell Jenkins eingesetzt, allerdings werden die Build-Piplines als Code in Form von Lamdas abgebildet. Diese können kompiliert und dann entsprechend deployed werden.

So können Microservices bei jedem einzenlen Commit automatisch deployed werden. Vor jedem Deployment werden dabei Screenshots gemacht und anschließend durch einen automatisierten Diff geprüft, ob neue Probleme oder Fehler durch das Deployment entstanden sind. Zusätzlich wird daran gearbeitet, eine Software zu implementieren, die Anomalien in Graphen findet und diese im Betrieb entsprechend sichtbar macht.

Über ein Tracking-System können Vertical übergreifenden Auswertungen für z. B. Business-Analysen gefahren werden, was auch für Logging gilt. Für das Logging wir ELK eingesetzt. Wo besonders hohe Anforderungen an Geschwindigkeit und Konsistenz bestehen werden auch Queues verwendet, wobei hier Apache Kafka eingesetzt wird.

Andere Talks und Fazit von Tag 1

Der Talk von Guido Steinacker zählte aus meiner Sicht zu den interessantesten des Tages. Im weiteren Verlauf standen noch Themen wie API Economy, KPI Driven Product Development, E-Commerce was wirklich zählt, ein Talk zum Thema Security und zur Einführung agiler Prozesse bei myToys auf der Agenda.

Insgesamt war es ein durchaus informativer Tag mit spannenden Talks und einem tollen Rahmenprogramm. Wenn der zweite Tag so weitergeht, kann man getrost davon ausgehen, das sich der Code.Talks commerce special als feste Veranstaltung im Terminkalender eines Entwicklers im eCommerce-Umfeld etablieren wird.

Neueste Posts

360 Stories – ein Spiel für Teams Die B2B E-Commerce Pyramide
Digital Storytelling - ein Kurztrip in die Kreativität und wieder zurück
TechDivision veröffentlicht Magento 2 Schnittstelle für pixi* TechDivision wird von Focus Business als „TOP Arbeitgeber Mittelstand 2018“ ausgezeichnet

Archiv

Dezember November Oktober September August Juli Juni Mai April März Februar Januar
Dezember November Oktober September August Juni Mai April Februar Januar
Dezember November Oktober September August Juli Juni März Februar
Oktober September August Juli Juni Mai April März Januar
Dezember November Oktober September August Juli Mai April Februar
November Oktober September April Februar
Dezember September Juni Mai Februar Januar
Juli Mai April März Februar Januar
September August Juli März
Oktober September Juli Juni Mai März Februar
Februar

Kategorien

E-Commerce Unternehmensmeldung Online-Marketing Magento Commerce Neos TYPO3 SEO SEA Usability Digitale Transformation Agile Projektentwicklung Corporate Web Analytics Künstliche Intelligenz Mobile Marketing Social Media Veranstaltungen Research & Development

Unser Herz schlägt online -
Deins Auch?


Wir stellen uns jeden Tag neuen Heraus-forderungen des Online-Business – immer auf der Suche nach spannenden Lösungs-ansätzen und sinnvollen Technologien. Eine Vielzahl namhafter Kunden vertrauen auf das Online Know-how „Made in Kolbermoor / Rosenheim und München“. 

Lust auf TechDivision? Hier geht zu unseren Stellenanzeigen

eStrategy Magazin


Erfahren Sie mehr zu den Themen E-Commerce, Online-Marketing, Mobile, Projektmanagement, Webentwicklung und E-Recht in unserem kostenlosen Online-Magazin.

Jetzt herunterladen!

Whitepaper:
Agiles Projektmanagement


In unserem kostenlosen Whitepaper versuchen wir Basiswissen und Erfahrungen aus vielen Jahren täglicher Projekt- und Unternehmenspraxis zu vermitteln, mit denen Sie die Anforderungen des Arbeitslebens von Heute besser bewältigen können.

Jetzt herunterladen!

Autor

Haben wir Ihr Interesse mit unserem Blog geweckt?

Wir sind der richtige Partner für anspruchsvolle Projekte im Bereich E-Commerce, Corporate Web, Consulting und Online-Marketing. Sprechen Sie mit uns!

Autor

Josef Willkommer Geschäftsführer / CMO