Unabhängigkeit von einzelnen Technologien und Plattformen durch Microservices
Ein Microservice ist eine Software-Architektur, die auf vielen, kleinen, abgeschlossenen Services basiert. Und stellt eine Teilfunktion eines größeren Systems dar. Generell erfüllen sie nicht mehrere Funktionen gleichzeitig sie spezialisieren sich auf eine Aufgabe: Beispielsweise kann ein Microservice für Predictive Maintenance, unabhängig von Oberfläche oder Technologie, anhand bestehender Maschinendaten Ausfälle vorhersagen. Ein anderer Microservice kümmert sich dann um die Visualisierung der Daten, während wiederum eine weitere Anwendung Daten einer Maschine ausliest und sie in einen Datenspeicher schreibt.
Ein Microservice ist zudem immer in sich abgeschlossen und kann auf Basis einer beliebigen Technologie erstellt werden. Lediglich die Schnittstellen zur Kommunikation mit anderen Systemen müssen definiert, können aber auch programmiersprachenunabhängig implementiert werden. So besteht die Möglichkeit sie unabhängig vom gesamten System anzupassen, zu erweitern oder zu ersetzen. Damit entsteht Unabhängigkeit von einzelnen Technologien oder Plattformen.
Im Gegensatz dazu steht eine monolithische Software, die alle Funktionen in sich vereint und zentralisiert. Hier wird alles auf einer Plattform oder mit einer Technologie entwickelt, was Abhängigkeit zur speziellen Plattform, Programmiersprache, Protokollen oder Unternehmen erzeugt.
Gerade im IIoT Umfeld ist Unabhängigkeit wichtig, da sich bisher wenige Standards oder Plattformen etabliert haben und Unternehmen flexibel und unabhängig auf Entwicklungen reagieren müssen.
Predictive Maintenance (AI)
Durch den Einsatz künstlicher Intelligenz lassen sich Wartungszeiten- und Kosten drastisch verringern. Wir informieren über die Möglichkeiten und helfen bei der Implementierung von intelligenten Lösungen, die notwendige Wartungen Ihrer Produkte identifizieren und präventiv Ausfälle verhindern können.
Asset Management & Equipmet Efficiency
Die Digitalisierung und Vernetzung wichtiger Assets Ihres Unternehmens verbessert die Skalierbarkeit, Effizienz und Auslastung Ihrer Anlagen. Wir beraten Sie zu konkreten Möglichkeiten und implementieren Lösungen, die Ihre bestehende IT nahtlos ergänzen.
Datenvisualisierung
Zur Steigerung der Produktivität müssen Daten auf einfache Art und Weise sichtbar und interpretierbar gemacht werden, ohne dass große Vorkenntnisse beim Anwender vorhanden sind. Dabei kann Visualisierung unterschiedliche Formen annehmen: von virtuellen Abbildern der Maschine bis hin zur einfachen Darstellung von Sensorwerten und deren Verlaufskurven.
So flexibel lassen sich Microservices einsetzen.
Da es sich bei Microservices um eine losgelöste Software-Architektur handelt, können sie in allen Branchen und Bereichen eingesetzt werden. Sie bieten dabei große Vorteile gegenüber monolithischer Software.
Etwa in der Getränkeindustrie: Eine Getränkeabfüllanlage wird mit einer Condition Monitoring Software betrieben, die monolithisch in Java, beispielsweise von der Monolith AG, implementiert worden ist. Es treten jedoch Probleme auf: Wenn für diese Anlage eine Tablet-App entwickelt werden soll, muss man den Monolithen erst anpassen, denn ohne Authentifizierungs-Service kann kein Zugriff auf die User-Vergabe erfolgen. Um die Abfüllgeschwindigkeit zu analysieren, soll zusätzlich ein Algorithmus geschrieben werden, der ebenfalls direkt an die Maschine angebunden sein muss. Hierbei ist eine Schnittstelle zum Monolithen erforderlich. Diese ist jedoch nicht vorhanden, da es in der Regel keinen einzelnen Service für die Datenhaltung gibt. Wie kann diese Herausforderung gelöst werden? Das Unternehmen muss entweder die Monolith AG beauftragen (Lock-In Effekt) oder sich an eine Agentur wenden, die in Java entwickeln kann. Im letzteren Fall müssen sich die Programmierer der Agentur zunächst in das monolithische System einarbeiten, was einen hohen Zeitaufwand und gesteigerte Kosten bedeutet.
Mithilfe von Microservices ergibt sich ein völlig anderes Szenario: Sind definierte Microservices für die Abfüllanlage verwendet worden, kann jede beliebige Firma beauftragt werden. Einzige Voraussetzung: Die Schnittstelle muss bekannt sein. Somit bleibt das Unternehmen weitestgehend unabhängig und flexibel. Der modulare Aufbau ermöglicht eine flexible Anpassung der Software an die aktuellen Bedürfnisse. Der Einsatz von Microservices ist für ein Unternehmen also kosteneffizient und zeitsparend.
Diese Voraussetzungen müssen erfüllt sein.
Es bedarf nur weniger Voraussetzungen, um Microservices nutzen zu können. Zur Implementierung eines Microservices ist es notwendig, dass die Schnittstelle zur Kommunikation mit anderen Systemen zuvor definiert wurde. Ein Microservice ist immer in sich abgeschlossen und kann deshalb auf Basis einer beliebigen Technologie erstellt werden. Durch die eigene Datenhaltung gewährleisten Microservices weitere Unabhängigkeit von anderen Systemen.
Microservices decken nur einen sehr überschaubaren Bereich ab. Daher können sie einfach ersetzt oder neu gebaut werden. Für ein SCRUM-Team ist es beispielsweise möglich, einen Service innerhalb von einem Monat ohne Probleme entwickeln. Zudem sind Microservices horizontal skalierbar. Sie können also durch zusätzliche Rechenkapazität unendlich skaliert werden, ohne dass eine Software-Anpassung notwendig ist. Um den Status insgesamt beobachtbar und sicher zu machen, sollten Logging, Monitoring und Sicherheits-Methoden implementiert sein.
Der Nutzen für die Anwender steht bei einem Microservice stets im Fokus. Bei der Implementierung ist deshalb darauf zu achten, frühestmöglich eine benutzbare Version zu liefern, die iterativ verbessert werden kann. Nach der Implementierung können Microservices nachträglich angepasst, erweitert oder auch ersetzt werden – und das unabhängig vom gesamten System.
Für die Umsetzung empfiehlt es sich, mit einem kleinen Team zu arbeiten. Das ist nach SCRUM eine maximale Personenanzahl von sieben Mitgliedern. Die Dauer der Umsetzung sollte ebenfalls überschaubar sein und maximal ein bis zwei Monate in Anspruch nehmen.