Are technology questions themselves

The technology behind a cloud-based WMS - 12 questions for Kilian Hammesfahr

In an interview with Kilian Hammesfahr we talk about cloud-based software architectures, technologies used and challenges in development. Kilian is significantly involved in the conception and development of the cloud-based WMS (Warehouse Management System) TOPAZ, with which manual warehouses can be managed quickly, easily and cost-effectively.

Kilian, how old are you and where are you from?

I am 31 years old and live in Regensburg.

How long have you been working at System Logistics GmbH in Wackersdorf and what did you do before that?

I have been working at System Logistics for over 5 years. Before that, I studied mechanical engineering and automation technology with a focus on software development in Aachen.

What are your main tasks?

As a developer, I accompanied the TOPAZ from the idea to the finished product. I was involved in the concept phase right from the start and was concerned with building a software architecture that enables stable and smooth operation in the cloud.

Kilian, why is cloud technology ideally suited for a service like TOPAZ?

With TOPAZ we offer a simple and uncomplicated service that enables a quick entry into digital warehouse management. This also means that, if possible, no software needs to be installed at the customer's site. This is of course very easy with cloud technology. All you need is internet access and a browser-enabled device.

Can you explain the technical implementation in more detail?

TOPAZ is a cloud service that is hosted at AWS (Amazon Web Services) in Frankfurt and is set up with a microservice architecture. We mainly use Java with Spring Boot in the backend and JavaScript and React in the frontend. The user interface runs entirely in a web browser. As a user, I don't have to install any software on my device.

What does the software infrastructure look like?

We operate TOPAZ in a Kubernetes cluster that is hosted by AWS. Although we would have had the option of operating our components directly in services provided by AWS, we wanted to build our infrastructure as independently of the cloud provider as possible. In the Kubernetes cluster, we operate TOPAZ with a microservice architecture. We can scale individual micso services depending on the workload and thus react to inquiries in a tailor-made manner and in real time.

But not only TOPAZ itself is operated by us in the cloud. We also use the advantages of the cloud for the development of TOPAZ. Our CICD (Continuous Integration and Continuous Deployment) pipeline runs in a Kubernetes cluster. This saves us expensive on-site servers and can also develop from anywhere in the world.

Can you explain the software architecture and the associated advantages as well as the programming challenges?

When developing TOPAZ, we always wanted a Cloud native application to develop. Because the operation of software in the cloud only makes sense and is cost-efficient if you consistently use the advantages of the cloud: The scalability of resources depending on the specific workload of the system is a very important aspect here. As a consequence, TOPAZ consists of microservices in the backend. Each service takes on very specific tasks of intralogistic processes.

One of the challenges here is communication between the microservices. When exchanging data between the basically completely independent services, we have to ensure that the communication interfaces are always compatible with one another. What seems simple with a manageable number of microservices becomes a complex challenge as the number increases.

But also in the front end, i.e. the user interface, we have taken a new, innovative path. Most of the systems that are being developed today have a microservice architecture in the backend, but in the frontend there is a large monolith that combines all aspects of the application in one software. We have taken the microservice approach further and built a microfrontend architecture based on the new HTML web component standard. This means that there are also microfrontends, analogous to the subject-specific microservices. Of course, this is not apparent to the user. For us as developers, however, there is the advantage that changes and extensions only have a limited impact on the overall system. Possible errors can only affect a small part of the software. The system is overall more stable and robust. On top of that, the code is much clearer, so that we can usually implement new functions more quickly.

How was the software engineering implemented?

With the number of micso services and frontends that we have in TOPAZ, it is important to keep track of things and to test them continuously. It is almost impossible to do this manually. With our CICD pipeline in the cloud, however, we have the option of performing a large part of the necessary tests automatically. This saves time and gives us as developers the security that the system is running stably. With every code change, the tests are repeated automatically and give us quick feedback on errors or weaknesses. Another task of the pipeline is the deployment, i.e. the provision of the functional changes. Thanks to the high degree of automation, we can provide new functions at the touch of a button. Provided, of course, that all tests were successful in advance.

If something does not work as expected during operation, we are notified immediately thanks to an alerting mechanism and can react immediately.

What were your biggest challenges in developing the TOPAZ?

So far we have mainly developed on-premise warehouse management systems that have been tailored to customer requirements. With TOPAZ, we have now developed software that is completely standardized and that does not run on the customer's premises, but in the cloud. Here we had to rethink many areas and familiarize ourselves with many new technologies. Since we aligned the architecture to the cloud, many known and proven approaches no longer worked, so that we had to take completely new and unknown paths in many places.

What specific customer benefits result from the technical implementation?

Since TOPAZ is a cloud solution, the customer does not have to provide any server hardware. There are no initial investments or the running costs for maintenance and operation. In addition, the application works on any browser-enabled device. So you don't have to invest in expensive hardware such as forklift terminals at the beginning. We can also provide new functions and improvements without having to shut down the system. The customer can use TOPAZ around the clock without having to worry about maintenance intervals.

What do you personally like about cloud technology?

In recent years, cloud providers have developed many services that make it incredibly easy to make software available to a large group of customers. Many services, including those from the field of AI (artificial intelligence), have intuitive APIs (application programming interfaces), which enable us as developers to solve even complex questions and requirements with relatively little effort.

Where will the cloud technology be in 5 years?

Technologies are developing rapidly. I think that the FaaS approach (Function as a Service) will continue to prevail. The basic provider takes on all aspects of the infrastructure and operations. As a developer, I only provide the code, which is then automatically executed on the cloud provider's infrastructure when it is needed.

Thank you for the talk!