Pacemaker, DIE Integrations-Lösung für Magento?

Pacemaker bietet gegenüber dem Magento Standard und allen anderen Lösungen am Markt beim Thema Import & Export signifikante Vorteile. Diese kommen jedoch hauptsächlich dann zum Tragen, wenn es sich um größere Datenmengen und damit auch um längere Laufzeiten für den Import handelt. Bei näherer Betrachtung kristallisieren sich insbesondere die nachfolgend aufgeführten Gründe für einen Einsatz von Pacemaker heraus.

 

 

Erweiterter Funktionsumfang

Pacemaker erweitert die Magento Standard Funktionalität hinsichtlich Ex- und Import um die Möglichkeit zusätzliche Entitäten, insbesondere Attribute Sets, Attribute und Kategorie zu importieren. In vielen Projekten, insbesondere wenn es um die Anbindung von Drittsystemen wie PIM oder ERP geht, ist es nahezu unerlässlich, dass auch diese Entitäten über ein externes System bereitgestellt und importiert werden können. Zusätzlich ist es in nahezu allen Projekten erforderlich, dass Lagerbestände und Preise in relativ engen Zeitabständen an den Shop übertragen werden müssen. Pacemaker bietet hierfür explizit die Möglichkeit an, auf ein Minimum reduzierten CSV Dateien zu verwenden. Das erhöht die Performance und lässt sich auf Seiten des zu integrierenden Systems einfacher umsetzen. 

Umgedreht besteht fast immer die Anforderung das Bestellung an das ERP zurück übermittelt werden müssen. Pacemaker stellt hierfür ein generisches Plug-In zur Verfügung, das die Übertragung z. B. an SAP über die BAPI mit Unterstützung für das OData Protokoll. Darauf aufbauend lassen sich Anpassungen und Erweiterung schnell, einfach und kostensparend umsetzen. 

Neben dieser Funktionalität bringt Pacemaker sogenannte Process-Pipelines mit, ein aus Systemen wie Gitlab übernommenes Entwurfsmuster, das es dem Shopbetreiber ermöglicht die Prozesse zu steuern und Abhängigkeiten zwischen Ihnen zu modellieren. Speziell im Fall von Magento, das aufgrund des EAV Modells und der sich daraus ergebenden komplexen Datenstruktur auf Indextabellen angewiesen ist, muss sichergestellt werden, dass Import- und Indizierungsprozesse nicht miteinander kollidieren, da es ansonsten zu inkonsistenten Daten kommen kann.

 

Geschwindigkeit & Speicherverbrauch

Aufgrund seiner streaming-basierten Architektur wird der Speicherverbrauch von Pacemaker auf ein Minimum begrenzt, die Geschwindigkeit hingegen auf das Optimum erhöht. Der eigentliche Import erfolgt dabei in mehreren Schritten, wobei im ersten Durchlauf lediglich die einfachen Produkte, die die Basis für alle weiteren Schritte darstellen angelegt werden. Zusätzlich werden die notwendigen Informationen für das Anlegen von zusätzlichen Produkttypen wie z. B. Konfigurierbare Produkte aus der ursprünglichen Datei extrahiert und wiederum als CSV Artefakte exportiert. Diese Artefakte werden dann in den folgenden Schritten, die im Bedarfsfall auch parallel erfolgen können, verarbeitet.

Um sicherzustellen das sich Geschwindigkeit und Speicherverbrauch in dem von uns angestrebten Bereich befinden messen wir diese Indikatoren bei jedem Minor-Release. Anhand der folgende Tabelle erhält man, anhand eines reellen Falls, einen Überblick über Leistungsfähigkeit von Pacemaker.

 

 -C+C+CCSD+CWCSD
Laufzeit2.100 s1.900 s1.300 s950 s
Speicherverbrauch5 GB10 GB5 GB15 GB

 

die nachfolgende Legende gibt dabei Aufschluss über den für den Import verwendeten Modus

  • -C: Ohne Cache
  • +C: Mit Cache
  • +CCSD: Mit Cache + Change-Set Detection
  • +CWCSD: Mit Cache + Cache Warming + Change-Set Detection

Die zu importierende CSV Datei hat dabei ~450.000 Zeilen und eine Größe von ~550 MB, die darin enthaltene Datenmenge hat dabei folgende Größenordnung

  • SKUs: ~14.300
  • Kategorien: ~100
  • Store-Views: ~30
  • Attribute: ~150
  • Optionswerte: ~3.700

bei der Messung wurde der Bilder Import bewußt nicht berücksichtigt, da der Kunde mehrere Millionen Bilder vorhält und Diese bei jedem Import erneut zugeordnet werden müssen und den Benchmark somit unbrauchbar machen würden. 

ACHTUNG: Generell ist es sehr schwierig aus einem Benchmark Rückschlüsse auf die Performance in einem anderen Fall zu schließen, da extrem viele Faktoren Einfluß auf die Geschwindigkeit eines Imports haben. Die tatsächliche Performance kann abhängig vom jeweiligen Fall somit erhebliche unterschiedliche Ergebnisse liefern.

 

Sicherheit & Skalierbarkeit

Neben höchsten Ansprüche an Performance und Speicherverbrauch stehen jedoch die Sicherheit und die Skalierbarkeit bei der Anbindung von Drittsystemen im Vordergrund. Durch die zunehmend schneller steigende Komplexität der Systemlandschaft wird es immer wichtiger, dass der Shopbetreiber oder sein Magento Partner die Hoheit über die laufenden Prozesse behält und damit sicherstellen kann, dass der Im- und Export von Daten zu den gewünschten Zeitpunkten stattfindet, eine Priorisierung über flexible Konditionen möglich ist und sich Prozesse im Bedarfsfall eigenständig wiederholen, z. B. beim Ausfall eines Drittsystems.

Dabei entkoppelt Pacemaker die Entscheidung ob eine Pipeline ausgeführt wird von Ihrer tatsächlichen Ausführung. Diese erfolgt nämlich über die Message-Queue und sogenannte Runner (Consumer) die auf einem beliebigen Rechner laufen und die Prozesse asynchron abarbeiten. Somit lassen sich alle durch Pacemaker kontrollierten Prozesse bei Bedarf schnell und einfach auf mehrere Rechner verteilen und erhöhen damit die Möglichkeiten zur Skalierung des Systems signifikant.

 

Transparenz & Visualisierung

Gerade bei lang laufenden Prozessen, die fast immer über CRON Jobs getriggert werden, fehlen dem Shopbetreiber als auch dem Solution Partner der Überblick was genau wann läuft. Insbesondere dann, wenn Probleme auftreten sind häufig viele Stunden Detektivarbeit notwendig um die Ursache zu finden und eine passende Lösung bereitstellen zu können. Durch fehlerhafte Daten wie z. B. falsche Lagerbestände durch die die Produkte vielleicht nicht mehr im Shop gelistet werden können so schnell hohe Ausfällen entstehen. 
 

Pacemaker unterstützt dabei diese Probleme lösen. Zum Einen dadurch, dass es alle Beteiligten bereits in der Entwicklung dabei unterstützt die Prozesse in möglichste kleine und eigenständige Schritte zu zerlegen, zum Anderen dadurch, dass es die Ausführung dieser Schritte transparent macht. Durch die Visualisierung der laufenden und abgelaufenen Pipelines im Magento Admin bis hin zur Möglichkeit die Detailinformationen jedes Schrittes einzusehen und Diesen zu Debugging-Zwecken wiederholen zu können (vorausgesetzt die Daten lassen das zu) macht Pacemaker bislang unsichtbare Prozesse sichtbar.

 

Standardisierung & Einsparungspotenzialen

Der Einsatz von Pacemaker hat zu einer standardisierten Herangehensweise bei der Integration von Drittsystemen geführt. Diese Standardisierung, unterstützt durch Importformate für nahezu alle relevanten Entitäten, vordefinierte und out-of-the-box verwendbare Pipelines, Best Practices, einer umfangreichen und ständig weitergepflegten Dokumentation sowie einem schnellen Support reduziert die Risiken, minimiert die Kosten und garantiert somit einen schnellen ROI.

Wenn wir von Standardisierung sprechen ist im Pacemaker Kontext auch gemeint, dass immer wiederkehrende Abläufe in Pipelines abgebildete werden. Diese Vorgehensweise erlaubt es sie bei Bedarf in beliebigen Projekten wiederverwenden zu können und Diese mit Pacemaker auszuliefern. Die Standardisierung führt somit auch dazu, dass das Know-How festgehalten und anderen Entwicklern und Shopbetreibern zugänglich gemacht wird. Die Definition einer Pipeline erfolgt im XML Format, ist somit auch für Nichtentwickler verständlich und kann aber wie Quellcode verwaltet werden.

 

Insbesondere in mittleren und größeren Projekte kann der Einsatz von Pacemaker somit dazu beitragen, dass das Projektrisiko gemindert und Budget für andere Funktionalitäten frei wird. Durch den 1st-Class Support wird dabei sichergestellt, dass die Entwickler schnell und unkompliziert Unterstützung bei der Lösung eventuell auftretender Probleme bekommen.

 

Unsere Erfahrungen mit Pacemaker

Als einer der führenden Magento Solution Partner setzen wir Pacemaker seit mehreren Jahren erfolgreich in nahezu allen unseren Projekten ein. Es hat sich gezeigt, dass wir durch die Standardisierung in der Herangehensweise in der Lage sind Kosten und damit auch Risiken bei der Integration von Drittsystemen erheblich zu reduzieren. Das dadurch freiwerdende Budget lässt sich zum Vorteil des Kunden für die Weiterentwicklung des Shops oder für Marketing Maßnahmen einsetzen, die mittel- und langfristig den Erfolg des Shops sicherstellen.

Natürlich wollen Entwickler gerne eigene Lösungen entwickeln, das ist spannend und macht Spaß. Die Frage die sich Shopbetreiber und Solution Partner dabei stellen müssen: Ist es effektiv und zielführend das Rad, in diesem Fall Tools für die Integration von Drittsystemen in Magento, immer wieder neu zu erfinden? Oder macht es vielmehr Sinn auf eine etablierte Lösung zu setzen und dadurch Kosten und Risiko für das Projekt signifikant zu reduzieren.

Mit Pacemaker stellen wir eigenen Kunden, über unser Solution Partner Programm indirekt aber allen Magento Shopbetreibern, eine Lösung zur Verfügung, die bereits heute vielfach eingesetzt, intensiv getestet und Ihre Vorteile in der Praxis bewiesen hat. Pacemaker ist in drei Editionen verfügbar. Neben der frei verfügbaren Community Edition die für kleinere Projekte häufig schon ausreicht sind mit der Professional und der Enterprise Edition auch bei größeren Projekten nahezu keine Grenzen gesetzt. 

Aus unserer Sicht hat Pacemaker somit alle Voraussetzungen um sich als DIE Standardlösung für die Integration von Drittsystemen im Magento Ökosystem zu etablieren.