Project Context

The project VISP (V1-V3) was developed for Fresenius plants by Diovision. It is a high-availability system for monitoring and controlling medication production, digitalizing and securing the entire process from employee login at the machine to batch control.

Technical Evolution: From Monolith to Microservices

The system grew over several generations:

  1. V1/V2: Initially as a Node.js monolith with RabbitMQ for communication with industrial endpoints.
  2. V3: Complete restructuring of the backend architecture to a highly scalable microservice architecture. Here, Apache Kafka was introduced as the central event bus (with Avro schemas), while RabbitMQ continued to function as a specialized broker at the “Edge”.

Hardware-Close: Custom Yocto Linux & netPI

A critical success factor was the connection of hardware to the production machines. Hilscher netPI Industrial Nodes were used. Since standard control via Portainer/Docker did not offer sufficient access to hardware resources for the required performance, I developed a Custom Yocto Image.

This deep Linux customization enabled the direct integration of:

For efficient management and automation of the software rollout to the numerous netPI devices in the plants, Ansible was used.

Logic & Safety in Production

The system implements complex business logic for quality assurance:

Tech Stack Overview