Produktfeeds in der AWS Cloud

Automatisierter Import von Produktdaten aus verschiedenen Quellen mit der Power und Flexibilität der Cloud

Korte Media Distribution - erfolgreicher Multichannel Vertrieb von Markenposten- und Sortimentsware über verschiedene Online-Kanäle und Marktplätze hinweg.

Das Unternehmen

In seiner nun mehr als 10 jährigen Betriebsgeschichte entwickelte sich die Korte-Media Distribution von einem Dienstleister für Onlinemarketing und Websiteerstellung zu einem erfolgreichen Multichannel Vertriebsunternehmen. Das Kerngeschäft besteht hierbei in der Vermarktung von Markenpostenwaren und Sortimentsware über verschiedene Onlinekanäle und Marktplätze.

Gründung
2009
Vertriebskanäle
25

Ausgangssituation

Notwendigkeit eines mitwachsenden Systems

Als erfolgreiches Multichannel Vertriebsunternehmen sah sich Korte-Media Distribution vor der Herausforderung eine Lösung zum automatischen Importieren und Updaten einer großen und wachsenden Anzahl von Produktdaten aus verschiedenen Datenquellen für ihre Vertriebskanäle zu finden. Zunächst wurde eine Low-Code-Lösung "Synesty" verwendet, aber aufgrund der Abhängigkeit und fehlenden Transparenz in Fehlerfällen wurde eine Eigenentwicklung in PHP durchgeführt. Mit der wachsenden Anzahl von Produkten und Lieferanten und den daraus resultierenden Lastspitzen auf der Datenbank wurde die Entscheidung getroffen, in die AWS Cloud zu wechseln, um notwendige Kapazitäten schnell hochzufahren und kostenoptimiert nur das zu bezahlen, was verbraucht wird. Des Weiteren bestand die Überlegung zum Wechsel in eine performantere Programmiersprache

Herausforderung

Relaunch mit Ausbau und Erhalt bestehender Funktionen

Mit dem Wechsel in die AWS Cloud sollte ebenfalls die vorhandene Synchronisationssoftware von einem CSV Import auf den Import per REST-API umgestellt werden. Gleichzeitig wurde ein Wechsel von der Skriptsprache PHP hin zu der Programmiersprache Go/Golang besprochen. Kurzum bestand eine Herausforderung darin, bestehende Software neu zu schreiben und dabei bestehende Funktionalitäten sicherzustellen. Des Weiteren konnten durch den laufenden Betrieb über die letzten Jahre Schwächen ausgemacht werden, welche es zu berücksichtigen galt. Neben diesen rein technischen Herausforderungen sind die üblichen Herausforderungen bei einem Wechsel in die Cloud nicht zu vernachlässigen. So galt es aufgrund der bereits gemachten Erfahrungen mit den bestehenden System, die möglichen und dabei kosteneffizientesten Services der AWS Cloud zu evaluieren.

Lösung

Microservice Architektur in der AWS Cloud

Als umgesetzte Lösung erfolgte eine Microservice Architektur, in welcher eine zentrale Logik Produktdaten in einem vordefinierten Format erwartet, um diese in das Zielsystem einzuspielen und jeder einzelne anzubindende Lieferant als ein eigener Service implementiert werden kann. Die einzelnen individuell benötigten Logiken der Lieferanten sind somit voneinander entkoppelt und können durch die zentrale Logik Produkte in das Zielsystem importieren. Dies ermöglicht es ohne Komplikationen neue Lieferanten an das System anzubinden und vorhandene Lieferanten bei Bedarf wieder zu löschen. Des Weiteren kann die Logik für den Import der Daten zentral an neue Bedingungen angepasst werden. Soll beispielsweise in ein neues oder zusätzliches System importiert werden, muss nicht die Logik jedes einzelnen Lieferanten verändert werden.

Durch den Einsatz von einzelnen Services der AWS Cloud zum Orchestrieren und zeitgesteuerten Starten der einzelnen Services entfällt die Wartung und Pflege eines eigenen Servers und Datenbanksystems und erhält zudem eine skalierbare, performante und Ausfallsichere Lösung. Das Aufsetzen der kompletten AWS Cloud Betriebsumgebung erfolgte automatisiert durch individuell erstellte Skripte. Durch diesen "Infrastructure as Code"(IaC)-Ansatz erhält man eine reproduzierbare Betriebsumgebung.

Fazit

Zukunftsfähige Lösung mit der Power der AWS Cloud

Der Umzug der Software in die AWS Cloud und den Umbau auf die Programmiersprache Go/Golang hat sich auch im Nachhinein als die richtige Entscheidung erwiesen. Die Prozesse laufen seitdem zuverlässiger und in Fehlerfällen sind diese deutlich besser nachvollziehbar. Bei Lastspitzen durch die Verarbeitung größerer Datenmengen skaliert das System dank eingestellten Skalierungsautomatismen der AWS Cloud zuverlässig. Eine überforderte Datenbank, welche Fehlerfälle verursacht, gehört nun der Vergangenheit an. Auch die Verwendung der Programmiersprache Go/Golang trägt seinen Teil bei. Aufgrund der leichtgewichtigen und performanten Programmiersprache bleiben die hochgefahrenen Container klein, benötigen wenig Speicher und Prozessor Ressourcen. Des Weiteren sorgt Go/Golang aufgrund ihrer Performance für möglichst geringe Laufzeiten. Alle dieser drei Faktoren sorgen für geringe Kosten bei der Verwendung der AWS Cloud. Alle Parteien sind mit der Umsetzung zufrieden, nicht zuletzt allein deswegen hat sich der Umzug und Umbau gelohnt. Die bereits langjährige Zusammenarbeit geht durch den Wechsel in die Cloud ins nächste Zeitalter.