Ich arbeite gerade an einer Monitoring-Plattform für industrielle Messtechnik und merke immer wieder, dass die eigentlich schwierigen Probleme nicht da liegen, wo man sie zuerst vermutet.
Im Grunde geht es darum, Messwerte von verschiedenen Geräten einzusammeln. Temperatur, Feuchte, Druck usw. Das Ganze läuft lokal beim Kunden, mit Geräten unterschiedlicher Hersteller und teilweise in GMP-regulierten Umgebungen.
Klingt erstmal überschaubar. Bis ein Gerät mal 40 Minuten offline ist.
Das Gerät misst in der Zeit weiter und speichert die Werte intern. Irgendwann ist der Speicher aber voll. Wenn die Verbindung wieder da ist, müssen die fehlenden Daten nachgeladen werden, während gleichzeitig schon wieder neue Messwerte reinkommen.
Und dann fangen die Fragen an. Was passiert mit doppelten Werten? Was, wenn die Geräteuhr nicht stimmt? Woher weiß ich überhaupt, ob wirklich alle Daten angekommen sind?
Gerade im GMP-Umfeld reicht es nicht, wenn die Kurve am Ende wieder gut aussieht. Man muss auch nachvollziehen können, was passiert ist, wenn etwas fehlt oder nachträglich geändert wurde.
Wir überlegen gerade, wie wir das architektonisch am sinnvollsten aufbauen. Aktuell geht die Richtung zu einem lokalen Edge-Dienst, PostgreSQL/TimescaleDB im Backend und wahrscheinlich .NET oder Go. Ist aber noch nichts in Stein gemeißelt.
Vielleicht kurz zum Hintergrund: Wir sind ein Corporate-Startup, haben bereits Kunden und reale Anlagen im Einsatz, stehen aber bei einigen grundlegenden Architekturentscheidungen noch ziemlich am Anfang.
Ich suche gerade jemanden, der Lust hat, sich nicht nur mit der Umsetzung, sondern auch mit solchen Fragen zu beschäftigen. Also jemanden, der auch mal sagt, dass eine Idee Quatsch ist, und eine bessere vorschlägt.
Mich würde aber auch unabhängig davon interessieren, wie andere solche Probleme gelöst haben. Gerade das Zusammenspiel aus Offline-Pufferung, Nachladen und sauberen Zeitstempeln finde ich spannender, als ich ursprünglich gedacht hätte.
Hat hier jemand schon mal etwas Ähnliches gebaut? Würde mich echt interessieren, wie ihr das angegangen seid.