Wer in den letzten Monaten etwas näher die IT-, und speziell die IoT-Szene verfolgt hat, hat zwangsläufig den Begriff Edge Computing gehört. Worum geht es dabei?
Zunächst einmal bringt Edge Computing die Verarbeitung von IoT- und Maschinendaten und das Steuern verteilter Systeme wieder näher an den Ort des Geschehens. Im Zuge des Cloud Hypes der letzten Jahre ging der allgemeine Trend dahin, so viel an Datenverarbeitung wie möglich in die Cloud zu verlagern.
Das ist in vielen Bereichen durchaus sinnvoll, speziell wenn es um Anwendungen geht, die den Betrieb einer kostenintensiven zentralen Infrastruktur (Server usw.) erfordern, wie Unternehmens- und Web-Applikationen. Eine Verlagerung solcher Applikationen in die Cloud kann einiges an Flexibilität und Kostenersparnis bringen.
Aber nicht in allen Fällen ist der Weg in die Cloud der richtige, z. B. bei Systemen, wo rasches oder deterministisches Reaktionsverhalten (Echtzeit-Systeme) gefordert ist, oder wo große Datenmengen schnell verarbeitet werden müssen, um z. B. in Produktionsprozesse eingreifen zu können. Hier bietet sich Edge Computing als Alternative bzw. Ergänzung zu Cloud-basierten Systemen an.
Der Begriff Edge (Englisch für Kante) bezieht sich auf den Rand des Netzwerks bzw. des Internets, wo Geräte per WLAN, Ethernet oder LTE/4G/5G angebunden sind. Die Edge ist also quasi das Ende vom Cyberspace, vor dem Übergang in die „physikalische“ Welt, wobei Sensoren und Aktoren die Schnittstelle sind.
Edge-Systeme müssen in gewissem Maße frei programmierbar sein, um schnell auf sich ändernde Anforderungen reagieren zu können, ohne erst ein Firmware-Update durchführen zu müssen. Moderne DevOps-Praktiken kommen zum Einsatz, ebenso moderne Software-Architekturen basierend auf Micro- und Nanoservices.
Im Idealfall können auf Edge Devices Docker Container ausgeführt werden, was nahezu beliebige Applikationen ermöglicht, aber auf weniger leistungsfähigen Systemen derzeit nicht praktikabel ist. Edge Computing deckt einen ziemlich breiten Bereich an möglicher Hardware ab.
Am unteren Ende der Skala finden sich Geräte in der Leistungsklasse eines Raspberry Pi. Das inkludiert auch viele IoT Gateways oder z. B. Telematiksteuergeräte in Fahrzeugen.
Dann gibt es Geräte, wie Industrie-PCs oder leistungsstärkere Gateways, die durchaus die Leistungsfähigkeit kleinerer Server erreichen können. Und am oberen Ende finden sich ganze Server Racks, bis hin zu kleinen Edge-Rechenzentren.
Dementsprechend bunt ist dann auch die Software-Landschaft im Edge Computing. Hier findet sich alles, von Softwareframeworks, die auch auf kleineren IoT Gateways vernünftig laufen, wie z. B. macchina.io EDGE oder Eclipse Kura, bis hin zu komplexen Software Stacks aus dem Cloud-Umfeld, die viele Cloud-Technologien auch im Edge-Bereich verfügbar machen, z. B. EdgeX, KubeEdge, ioFog.
Der Ressourcenbedarf ist dabei nicht außer Acht zu lassen. Open Source Software hat sich auch in diesem Bereich weitgehend durchgesetzt. Nähere Informationen zur Evaluierung von Open Source Plattformen: macchina.io/blog/internet-of-things/technology-pathway-iot-platform/
Tritt die Edge jetzt also in Konkurrenz zur Cloud? Nein, denn Edge Computing ist als sinnvolle Ergänzung zum Cloud Computing zu sehen. Teil eines jeden Edge Computing-Systems ist auch eine Cloud-Komponente zur zentralen Verarbeitung der von den Edge-Systemen bereitgestellten Daten sowie zur Verwaltung der Edge Systeme.
Natürlich werden auch Verfahren der Künstlichen Intelligenz, wie z. B. neuronale Netze, im Edge Bereich eingesetzt. Zum Teil kommen dabei spezielle Mikroprozessoren zum Einsatz, welche die dafür notwendigen Rechenoperationen durch spezielle Hardware besonders schnell und effizient ausführen können.
Die dafür notwendigen Modelle werden typischerweise in der Cloud trainiert und dann auf dem Edge Device ausgeführt – ein weiteres Beispiel wie Cloud und Edge zusammenarbeiten.
Dem Thema Sicherheit kommt beim Edge Computing eine wichtige Rolle zu. Im industriellen Umfeld findet Edge Computing zwischen Cloud und der Feldebene statt, also am Übergang zwischen IT und OT (Operational Technology, also SPS und SCADA Systeme).
Diese beiden Bereiche liegen in Unternehmen üblicherweise in unterschiedlichen Verantwortungsbereichen, und das Verhältnis zwischen IT und OT ist oftmals ein „spannendes“. Während das Thema Sicherheit in der Cloud mittlerweile gut funktioniert, sieht es auf der Feldebene bzw. bei der Operational Technology nicht immer so rosig aus.
Die wesentlichen Aspekte der Sicherheit sind die Verschlüsselung von Daten, sowohl bei der Kommunikation (z. B. per TLS) als auch bei der Speicherung. Um Daten auf Edge Systemen verschlüsselt zu speichern braucht es natürlich geheime Schlüssel, und die Verwaltung und sichere Speicherung dieser Schlüssel ist aufwändig.
Hier kommen z. B. Trusted Platform-Module zum Einsatz. Authentisierung, Authentifizierung und Autorisierung, also das Nachweisen einer Identität (z. B. per Passwort oder Zertifikat), die Prüfung derselben sowie die Einräumung von Rechten, betrifft sowohl Personen, die auf Systeme zugreifen als auch Systeme selbst.
So muss ein Edge-System, welches Daten an ein Cloud-System sendet, nachweisen können, dass es tatsächlich jenes System ist, für das es sich ausgibt. Ein weiterer Aspekt ist auch Vertrauen bzw. Trust. Dazu zählt, dass ein Edge Device tatsächlich nur jene Software ausführt, die es auch ausführen soll.
Um dies zu gewährleisten, wird Software für Edge Devices kryptographisch signiert. Ein Laden bzw. Ausführen der Software ist nur möglich, wenn die Signaturen aller Softwarekomponenten erfolgreich verifiziert wurden und somit die Herkunft der Software bekannt ist.
Abschließend kann gesagt werden, dass Edge Computing, trotz aller Komplexität, die Informationstechnologie nachhaltig prägen wird. Entscheidend für jedes Unternehmen wird sein, für sich die idealen neuen Möglichkeiten herauszuarbeiten und diese als Mehrwert fürs Unternehmen bzw. für Kunden zur Umsetzung zu bringen – die entsprechenden Technologien stehen dafür bereits zur Verfügung.