arrow-leftarrow-rightarrow-to-bottomcamera-circlecamerachevron-leftchevron-rightclose-2file-altglobegrid-bgimageinfolinklistlogo-systemlogistics-payofflogo-systemlogisticsplay-circlesearchsocial-facebook-fsocial-facebooksocial-instagramsocial-linkedin-insocial-linkedinsocial-twittersocial-youtubetagthtimesuploadvideo
Die Technologie hinter einem cloudbasierten WMS - 12 Fragen an Kilian Hammesfahr

Die Technologie hinter einem cloudbasierten WMS - 12 Fragen an Kilian Hammesfahr

Im Interview mit Kilian Hammesfahr sprechen wir über cloudbasierte Softwarearchitekturen, verwendete Technologien und Herausforderungen bei der Entwicklung. Kilian ist maßgeblich an der Konzeption und Entwicklung des cloudbasierten WMS (Warehouse Management Systems) TOPAZ beteiligt, mit welchem manuelle Lager schnell, einfach und kosteneffizient verwaltet werden können.

 

Kilian, wie alt bist Du und woher kommst Du?

Ich bin 31 Jahre alt und wohne in Regensburg.

Seit wann arbeitest du bei der System Logistics GmbH in Wackersdorf und was hast Du vorher gemacht?

Bei System Logistics arbeite ich bereits seit über 5 Jahren. Davor habe ich Maschinenbau & Automatisierungstechnik mit Schwerpunkt Softwareentwicklung in Aachen studiert.

Was sind deine Hauptaufgaben?

Als Entwickler habe ich das TOPAZ von der Idee bis hin zum fertigen Produkt begleitet. Schon zu Beginn war ich in die Konzeptphase eingebunden und habe mich damit beschäftigt, eine Softwarearchitektur aufzubauen, die einen stabilen und reibungslosen Betrieb in der Cloud ermöglicht.

Kilian, wieso eignet sich die Cloud Technologie ideal für einen Service wie das TOPAZ?

Mit TOPAZ bieten wir einen einfachen und unkomplizierten Service, der einen schnellen Einstieg in die digitale Lagerverwaltung ermöglicht. Dazu gehört auch, dass möglichst keine Software beim Kunden vor Ort installiert werden muss. Das ist mit der Cloud Technologie natürlich sehr einfach. Man benötigt lediglich einen Internetzugang und ein browserfähiges Gerät.

Kannst Du die technische Umsetzung detaillierter erklären?

TOPAZ ist ein Cloud Service, der bei AWS (Amazon Web Services) in Frankfurt gehostet wird und mit einer Microservice Architektur aufgebaut ist. Wir verwenden im Backend hauptsächlich Java mit Spring Boot und im Frontend JavaScript und React. Die Benutzeroberfläche läuft dabei vollständig in einem Webbrowser. Als Anwender muss ich keinerlei Software auf meinem Gerät installieren.

Wie sieht die Software Infrastruktur aus?

Wir betreiben TOPAZ in einem Kubernetes Cluster, das bei AWS gehostet wird. Zwar hätten wir auch die Möglichkeit gehabt, unsere Komponenten direkt in von AWS bereitgestellten Services zu betreiben, jedoch wollten wir unsere Infrastruktur möglichst unabhängig vom Cloudanbieter aufbauen. Im Kubernetes Cluster betreiben wir TOPAZ mit einer Microservice Architektur. Wir können einzelne Micsoservices je nach Auslastung skalieren und so maßgeschneidert und in Echtzeit auf Anfragen reagieren.

Aber nicht nur TOPAZ selbst wird von uns in der Cloud betrieben. Wir nutzen die Vorteile der Cloud auch für die Entwicklung von TOPAZ. Unsere CICD (Continuous Integration and Continuous Deployment) Pipeline läuft in einem Kubernetes Cluster. So sparen wir uns teure Server vor Ort und können obendrein von überall auf der Welt entwickeln.

Kannst Du die Softwarearchitektur und die damit verbundenen Vorteile sowie die Herausforderungen bei der Programmierung erläutern?

Bei der Entwicklung von TOPAZ hatten wir stets den Anspruch, eine Cloud Native Application zu entwickeln. Denn der Betrieb einer Software in der Cloud ist erst dann sinnvoll und kosteneffizient, wenn man die Vorteile der Cloud konsequent nutzt: Die Skalierbarkeit von Ressourcen abhängig von der konkreten Auslastung des Systems ist hier ein ganz wichtiger Aspekt. Als Konsequenz besteht TOPAZ im Backend aus Microservices. Jeder Service übernimmt dabei ganz spezifische Aufgaben intralogistischer Prozesse.

Eine der Herausforderungen hierbei ist die Kommunikation der Microservices untereinander. Beim Datenaustausch zwischen den im Grunde vollkommen unabhängigen Services müssen wir sicherstellen, dass die Kommunikationsschnittstellen immer kompatibel zueinander sind. Was bei einer überschaubaren Anzahl an Microservices noch einfach erscheint, wird bei steigender Anzahl zu einer komplexen Herausforderung.

Doch auch im Frontend, also der Benutzeroberfläche, sind wir einen neuen innovativen Weg gegangen. Die meisten Systeme, die heute entwickelt werden, besitzen zwar eine Microservice Architektur im Backend, im Frontend gibt es dann aber einen großen Monolithen, der alle Aspekte der Anwendung in einer Software vereint. Wir haben den Microservice Ansatz weitergedacht, und auf Basis des recht neuen HTML Webcomponent Standards eine Microfrontend Architektur aufgebaut. Das bedeutet, dass es analog zu den fachlich aufgeteilten Microservices auch Microfrontends gibt. Für den Anwender ist das natürlich nicht ersichtlich. Für uns als Entwickler ergibt sich aber der Vorteil, dass Änderungen und Erweiterungen nur begrenzte Auswirkungen auf das Gesamtsystem haben. Mögliche Fehler können nur Auswirkungen auf einen kleinen Teil der Software haben. Das System ist insgesamt stabiler und robuster. Obendrein ist der Code deutlich übersichtlicher, sodass wir neue Funktionen in der Regel schneller implementieren können.

Wie wurde das Software Engineering umgesetzt?

Bei der Anzahl an Micsoservices- und Frontends, wie wir sie im TOPAZ haben, ist es wichtig, den Überblick zu behalten und kontinuierlich zu testen. Rein manuell ist dies fast unmöglich. Mit unserer CICD Pipeline in der Cloud haben wir allerdings die Möglichkeit, einen Großteil der notwendigen Tests automatisiert durchzuführen. Das spart Zeit und gibt uns als Entwicklern die Sicherheit, dass das System stabil läuft. Bei jeder Codeänderung werden die Tests automatisch wiederholt und geben uns schnell Feedback über Fehler oder Schwachstellen. Eine weitere Aufgabe der Pipeline ist das Deployment, also das Bereitstellen der Funktionsänderungen. Hier können wir, dank des hohen Automatisierungsgrades, praktisch auf Knopfdruck neue Funktionen bereitstellen. Vorausgesetzt natürlich, dass im Vorfeld alle Tests erfolgreich waren.

Sollte im laufenden Betrieb dennoch einmal etwas nicht wie erwartet funktionieren, werden wir dank eines Alerting Mechanismus sofort benachrichtigt und können sofort reagieren. 

Was waren deine größten Herausforderungen bei der Entwicklung des TOPAZ?

Bisher haben wir hauptsächlich On-Premise betriebene Lagerverwaltungssysteme entwickelt, die auf die Kundenanforderungen maßgeschneidert wurden. Mit TOPAZ haben wir nun eine Software entwickelt, die vollständig standardisiert ist und zudem nicht beim Kunden, sondern in der Cloud läuft. Hier mussten wir an vielen Stellen umdenken und uns in viele neue Technologien einarbeiten. Da wir die Architektur auf die Cloud ausgerichtet haben, funktionierten viele bekannte und bewährte Ansätze nicht mehr, sodass wir an vielen Stellen komplett neue und unbekannte Wege einschlagen mussten.

Welcher konkrete Kundennutzen ergibt sich aus der technischen Umsetzung?

Da es sich bei TOPAZ um eine Cloud Lösung handelt, muss der Kunde keinerlei Serverhardware bereitstellen Hier entfallen sowohl Investitionen zu Beginn als auch die laufenden Kosten für Wartung und Betrieb. Darüber hinaus funktioniert die Anwendung auf jedem browserfähigen Gerät. Man muss also nicht zu Beginn in teure Hardware wie z.B. Staplerterminals, investieren. Zudem können wir neue Funktionen und Verbesserungen bereitstellen, ohne dass das System heruntergefahren werden muss. Der Kunde kann TOPAZ somit rund um die Uhr verwenden, ohne sich über Wartungsintervalle Gedanken machen zu müssen.

Was begeistert Dich persönlich an der Cloud Technologie?

Die Cloudanbieter haben in den letzten Jahren viele Services entwickelt, die es unglaublich einfach machen, Software einem großen Kundenkreis verfügbar zu machen. Viele Services auch aus dem Bereich KI (Künstliche Intelligenz) haben intuitive APIs (Application programming interface - Programmierschnittstellen), die es uns als Entwicklern ermöglichen, mit relativ überschaubarem Aufwand auch komplexe Fragstellungen und Anforderungen zu lösen.

Wo steht die Cloud Technologie in 5 Jahren?

Die Technologien entwickeln sich rasant. Ich denke, dass sich der FaaS Ansatz (Function as a Service) immer weiter durchsetzen wird. Dabei übernimmt der Cloundanbieter sämtliche Aspekte der Infrastruktur und des Betriebs. Als Entwickler stelle ich lediglich den Code bereit, der dann, wenn er benötigt wird, automatisch auf der Infrastruktur des Cloudanbieters ausgeführt wird.

Danke für das Gespräch!

  • English
  • Italiano
  • Español
  • Français
  • Deutsch
  • English
  • U.S. English
  • Español
  • English