Zum Hauptinhalt springen

Einführung

Im OctoMesh-Umfeld spielen Adapter und Pipelines eine entscheidende Rolle als das Bindegewebe zwischen der OctoMesh-Plattform und externen Datenquellen und Diensten. Diese kleinen, aber leistungsstarken Software-Bausteine sind darauf ausgelegt, Kommunikation und Datenaustausch über eine vielfältige Menge von Endpunkten hinweg zu ermöglichen, darunter APIs, Dateisysteme, Datenbanken, Message-Broker sowie weitere benutzerdefinierte oder standardisierte Protokolle. Um unterschiedlichen architektonischen Anforderungen und Bereitstellungsszenarien gerecht zu werden, unterscheidet OctoMesh zwei Haupttypen von Adaptern: Edge Adapter und Mesh Adapter.

Wir verwenden den Begriff „Plugs", wenn Daten in die OctoMesh-Plattform hineingeschoben werden, und „Sockets", wenn Daten aus der OctoMesh-Plattform herausgezogen werden. Aus technischer Sicht sind Plugs und Sockets dasselbe, aber die Terminologie hilft, zwischen den beiden Richtungen des Datenflusses zu unterscheiden.

Communication Controller Service​

Der Communication Controller Service ist ein Dienst, der für die Verwaltung der Kommunikation zwischen der OctoMesh-Plattform und den Communication Operators und Adaptern verantwortlich ist. Er stellt eine Reihe von APIs bereit, die es den Adaptern ermöglichen, sich zu registrieren, Nachrichten zu senden und zu empfangen und ihre Konfiguration zu verwalten. Der Communication Controller Service ist eine kritische Komponente der OctoMesh-Plattform und ermöglicht eine nahtlose Kommunikation und einen nahtlosen Datenaustausch zwischen der Plattform und den Adaptern.

Communication Operator​

Communication Operators sind für die Verwaltung des Lebenszyklus der Workloads eines Deployment Sites verantwortlich, einschließlich deren Erstellung, Aktualisierung und Löschung. Ein Workload ist entweder ein Adapter (ein Plug oder Socket, der OctoMesh mit einem externen System verbindet) oder eine Application (eine containerisierte Geschäftsanwendung, die neben der Plattform läuft und über einen Ingress öffentlich verfügbar gemacht werden kann). Jeder Communication Operator ist tenant-unabhängig und kann einen oder mehrere tenant-spezifische Deployment Sites bedienen. Ein Deployment Site ist der Ort, an den Workloads ausgerollt werden. Deployment Sites haben in Kubernetes üblicherweise einen eigenen Namespace.

Ein Communication Operator kann am Edge (auf einem entfernten K3s-Cluster nahe den Datenquellen) oder zentral (neben dem Communication Controller im zentralen Cluster, wo er auch Applications bereitstellen kann) laufen. Unabhängig vom Modus baut der Operator Container-Deployments nicht direkt: Er stellt jeden Workload aus einem Helm-Chart bereit, das er aus einem vom Workload referenzierten Helm-Chart-Repository bezieht (Repository-URL, Chart-Name und Chart-Version) und über helm upgrade --install installiert. Chart-Werte werden geschichtet — clusterweite Standardwerte vom Operator, die eigenen Basiswerte des Workloads und Workload-spezifische Overrides aus Refinery Studio.

Edge Adapter​

Edge Adapter sind darauf ausgelegt, lokal zu arbeiten, nahe an den Datenquellen oder innerhalb desselben lokalen Netzwerks. Diese Nähe ermöglicht einen schnellen Datenaustausch und eine reduzierte Latenz, wodurch sich Edge Adapter ideal für Szenarien eignen, in denen eine sofortige Datenverarbeitung und -reaktion entscheidend ist. Sie werden typischerweise On-Premises, in Edge-Computing-Umgebungen oder direkt auf Geräten bereitgestellt, die Daten erfassen oder erzeugen. Durch die lokale Verarbeitung von Daten helfen Edge Adapter zudem dabei, Datenschutz und Sicherheit zu wahren, indem sie die Exposition sensibler Informationen gegenüber externen Netzwerken minimieren.

Wesentliche Merkmale von Edge Adaptern:

  • Lokale Ausführung: Läuft nahe an den Datenquellen für schnellen Zugriff und schnelle Verarbeitung.
  • Reduzierte Latenz: Ideal für zeitkritische Anwendungen, bei denen Geschwindigkeit entscheidend ist.
  • Erhöhte Sicherheit: Begrenzt die Datenübertragung über Netzwerke hinweg und schützt sensible Informationen.

Mesh Adapter​

Mesh Adapter sind im Gegensatz dazu darauf ausgelegt, an zentralisierten Standorten wie Cloud-Umgebungen oder zentralisierten Rechenzentren zu laufen. Diese Adapter übernehmen Aufgaben, die sich für eine Zentralisierung eignen, wie das Aggregieren von Daten aus mehreren Edge Adaptern, das Durchführen großangelegter Datenverarbeitung und das Verwalten von Datenspeicherung und -verteilung auf höherer Ebene. Mesh Adapter ermöglichen die Skalierbarkeit und Robustheit, die für großangelegte Bereitstellungen erforderlich sind, unterstützen umfangreiche Datenoperationen und bieten eine globale Sicht auf das Data Mesh.

Wesentliche Merkmale von Mesh Adaptern:

  • Zentralisierte Verwaltung: Vereinfacht die Übersicht über Datenflüsse und Adapter-Performance über das gesamte Mesh hinweg.
  • Skalierbarkeit: Erleichtert die Ausweitung von Datenoperationen, ohne die Performance zu beeinträchtigen.
  • Globale Datenintegration: Integriert Daten aus mehreren Edge-Standorten und ermöglicht umfassende Analysen und Entscheidungsfindung.
  • Bereitstellung und Integration

Die Bereitstellung und Konfiguration dieser Adapter erfordert das Verständnis der spezifischen Anforderungen Ihrer Datenarchitektur und des betrieblichen Kontexts Ihrer Datenquellen. Mesh und Edge Adapter werden typischerweise über unsere automatisierten Provisionierungswerkzeuge bereitgestellt und können über zentrale Verwaltungskonsolen wie Refinery Studio oder octo-cli verwaltet werden, die es Administratoren ermöglichen, mehrere Adapter mühelos zu überwachen und zu steuern, und die Werkzeuge zur Überwachung, Fehlerbehebung und Analyse bieten.

Data Pipelines​

Adapter führen Data Pipelines aus, die dafür verantwortlich sind, Daten zwischen verschiedenen Datenquellen und -zielen zu bewegen. Diese Pipelines werden von der OctoMesh-Plattform orchestriert, die sicherstellt, dass Daten sicher, effizient und zuverlässig über das Mesh hinweg übertragen werden. Data Pipelines können so konfiguriert werden, dass sie verschiedene Datenformate, Transformationen und Routing-Regeln verarbeiten, wodurch komplexe Daten-Workflows automatisiert und optimiert werden können.

Eine typische Data Pipeline besteht aus den folgenden Komponenten:

  • Edge Pipeline: Der Teil der Pipeline, der Daten am Edge, nahe an der Datenquelle, verarbeitet und sie im Mesh veröffentlicht.
  • Mesh Pipeline: Der Teil der Pipeline, der Daten über das Mesh hinweg aggregiert, verarbeitet und verteilt.

Mesh Adapter führen Mesh Pipelines aus, während Edge Adapter Edge Pipelines ausführen. Die OctoMesh-Plattform orchestriert die Ausführung dieser Pipelines und stellt sicher, dass Daten effizient und sicher über das Mesh hinweg bewegt werden.