KODIS-TechnologieStack

Im Rahmen unserer öffentlichen und industriellen Forschungs- und Beratungsprojekte setzen wir auf ein anwendungsnahes und innovatives Technologieumfeld. So kommen bei uns modernste Cloud- als auch Datenanalyse-Technologien zum Einsatz.

Grundlagen und Basistechnologien

Ob mit oder ohne KI-Verfahren – Die anwendungsnahe Entwicklung und Erprobung intelligenter Services auf Basis umfassender Datenanalysen benötigen leistungsfähige Basistechnologien:

Wir betreiben in unserem eigenen Rechenzentrum Kubernetes-Cluster und können so auf direkte Erfahrungen im Cloud-Bereich zurückgreifen und Demonstratoren und Prototypen selbständig testen. Kubernetes erlaubt das automatisierte Verteilen, Skalieren und Testen von Anwendungen in Containern.

Die von uns bevorzugt eingesetzte Programmiersprache für Datenanalysen und Prototypenentwicklung ist Python. Sie erlaubt es uns schnell und effektiv in Projekten voranzukommen und auf einen großen Pool von Bibliotheken im Bereich »Data-Science« und »KI« zurückzugreifen.

Als moderne Programmiersprache mit Integrationsmöglichkeiten in Python und beispielsweise vorhandenen C-basierten Projekten im Maschineneinsatz wenden wir Rust an. Sie kommt für uns dann zum Einsatz, wenn wir mit Python-basierten Algorithmen an Performancegrenzen kommen oder wir im Bereich der Embedded-Hardware unterwegs sind.

Die interaktive Entwicklungsumgebung JupyterLab kommt vor allem bei der Proof-of-Concept-Entwicklung und ersten Datenanalysen mit Python zur Anwendung. JupyterLab unterstützt das strukturierte wissenschaftliche Arbeiten und Dokumentieren. 

Datenverarbeitung in Echtzeit

Die Auswertung und Vorbereitung von Sensordaten erfordern eine darauf abgestimmte Infrastruktur. In Projekten, bei denen die Datenauswertung in Echtzeit notwendig ist, wie beispielsweise die Live-Anzeige und Prognosen von Parkplatzinformationen oder Gebäudeinformationen kommen daher folgende Technologien zum Tragen:

Apache Flink erlaubt eine Datenanalyse und Aggregation in Echtzeit von kleinen bis zu Big-Data Systemen. Im Einsatz bei unseren Datenauswertungen können wir unsere Algorithmen skalieren und die integrierten Backup- und Snapshot-Funktionen für wiederholende Versuche verwenden.

Apache Kafka ist eine Streaming-Plattform für eine verteilte Datenspeicherung und Datenanalysen. Verschiedene Services können auf die gleiche verteilte Datenbasis in Echtzeit zugreifen und so können unterschiedliche Experimente parallel durchgeführt und evaluiert werden. 

NATS.io stellt eine Lösung für eine Event-basierte Kommunikation zwischen Microservices bereit. Dazu gehören einerseits die Speicherung von Daten nach einem Streaming-Prinzip als auch die Kommunikation mit Remote-Procedure-Calls und Load-Balancing.

Erprobung intelligenter Services und KI

Auf Basis der Echtzeit-Dateninfrastruktur und der dabei erzeugten Datensammlungen können intelligente Services konzeptioniert und in Proof-of-Concepts validiert und erprobt werden. Dazu greifen wir auf folgende Technologien zurück:

Unsere bevorzugten KI-Frameworks im Praxiseinsatz sind TensorFlow/PyTorch.

Für die Entwicklung KI-basierter Services und das Trainieren von Modellen und Algorithmen im Bereich Deep-Learning setzen wir auf Server mit leistungsfähigen Grafikkarten und passendem Kubernetes-Cluster in unserem eigenen Rechenzentrum. 

Beispiele für die Verwendung der Technologien

Hier finden Sie Projekte, in denen diese Technologien zum Einsatz kommen:

 

Hier finden Sie Beispielprojekte mit Datenauswertung in Echtzeit:

 

Hier finden Sie weitere Beispielprojekte: