
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.