Docker für IT/OT-Architekturen: Vorteile und Best Practices

Inhalt

Die Konvergenz von Information Technology (IT) und Operational Technology (OT) stellt Unternehmen vor neue Herausforderungen beim Deployment industrieller Softwaresysteme. Traditionelle OT-Systeme sind monolithisch, schwer zu aktualisieren und oft an proprietäre Hardware gebunden. Docker für IT/OT-Architekturen bietet einen Ausweg: Container-Technologie ermöglicht modulares, versioniertes und reproduzierbares Deployment von Unified Namespace (UNS)-Komponenten – von Message Brokern bis zu Edge-Gateways. Dieser Artikel zeigt, welche konkreten Vorteile Docker in industriellen Umgebungen bietet, welche Architekturmuster sich bewährt haben und welche Best Practices IT/OT-Architekten bei der Implementierung beachten müssen.

Docker Logo

 

Was ist Docker? – Grundlagen für den OT-Kontext

Docker ist eine Plattform zur Entwicklung, Verteilung und Ausführung von Anwendungen in isolierten Containern. Im Gegensatz zu virtuellen Maschinen (VMs), die jeweils ein vollständiges Betriebssystem enthalten, teilen sich Container den Kernel des Host-Betriebssystems. Das Ergebnis: deutlich geringerer Ressourcen-Overhead und schnellere Startzeiten.

Container vs. Virtuelle Maschinen

Eigenschaft Docker Container Virtuelle Maschine
Startup-Zeit < 1 Sekunde 30-60 Sekunden
Ressourcen-Overhead Minimal (MB) Hoch (GB)
Isolation Prozess-Ebene Hardware-Ebene
Portabilität Hoch Mittel
Density 100+ Container/Host 10-20 VMs/Host

 

Docker-Kernkonzepte

Für den Einsatz von Docker in IT/OT-Architekturen sind vier Konzepte zentral:

  • Images: Unveränderliche Templates, die eine Anwendung und alle Abhängigkeiten enthalten. Ein Image für Eclipse Mosquitto enthält beispielsweise den MQTT-Broker, Konfigurationsdateien und alle benötigten Bibliotheken.
  • Container: Laufende Instanzen eines Images. Ein Container ist isoliert, hat eigene Netzwerk-Interfaces und kann jederzeit gestoppt, neu gestartet oder gelöscht werden – ohne das Host-System zu beeinflussen.
  • Volumes: Persistente Datenspeicher, die unabhängig vom Container-Lifecycle existieren. Kritisch für OT-Anwendungen: MQTT-Broker-Persistenz, Datenbank-Daten oder Logfiles werden in Volumes gespeichert.
  • Networks: Docker-eigene Netzwerke zur Kommunikation zwischen Containern. Ermöglicht Isolation: Ein OT-Container kann in einem separaten Netzwerk laufen als ein IT-Dashboard-Container.

Für OT-Umgebungen sind drei Eigenschaften besonders relevant: Determinismus (identische Laufzeitumgebungen über Standorte hinweg), Isolation (fehlerhafte Komponenten beeinflussen andere Container nicht) und Reproduzierbarkeit (schnelle Wiederherstellung nach Hardwareausfällen durch Image-basiertes Deployment).

 

Warum Docker für IT/OT-Architekturen?

Die Einführung von Docker für IT/OT-Architekturen ist kein Selbstzweck. Container-Technologie löst konkrete Probleme, die in industriellen Umgebungen regelmäßig auftreten.

Vorteil 1: Konsistente Deployment-Umgebungen

Ein klassisches Problem in der OT: Ein Protokoll-Konverter funktioniert auf dem Entwicklungssystem einwandfrei, versagt aber im Werk, weil dort eine andere Bibliotheksversion installiert ist. Docker eliminiert dieses „Works on my machine“-Problem. Ein Container-Image enthält die exakte Laufzeitumgebung – identisch in Entwicklung, Test und Produktion.

OT-Relevanz: Bei der Inbetriebnahme neuer Standorte entfällt die manuelle Konfiguration. Das gleiche docker-compose.yml deployiert den kompletten UNS-Stack: Message Broker, OPC UA Connector, Edge Gateway für Data Harmonization und Grafana für Monitoring.

 

Vorteil 2: Versionierung und Rollback

Docker-Images werden versioniert wie Software-Artefakte. Ein MQTT-Broker läuft mit Image eclipse-mosquitto:2.0.18. Nach einem Update auf 2.0.19 treten Probleme auf? Ein Rollback auf die vorherige Version dauert Sekunden:

docker-compose down
docker-compose up -d eclipse-mosquitto:2.0.18

OT-Relevanz: In produktionsnahen Systemen ist schnelles Rollback kritisch. Während traditionelle Software-Updates Stunden Downtime verursachen, ermöglicht Docker Zero-Downtime-Updates über Blue-Green-Deployments.

 

Vorteil 3: Isolation und Sicherheit

Ein kompromittierter Container bleibt isoliert. Selbst wenn ein Angreifer einen Dashboard-Container übernimmt, hat er keinen direkten Zugriff auf den Message Broker-Container – sofern die Netzwerk-Segmentierung korrekt konfiguriert ist.

OT-Relevanz: Defense in Depth ist ein Kernprinzip für sichere UNS-Architekturen. Docker ermöglicht Trennung nach Security-Levels: Edge-Connectoren mit direktem OT-Zugriff laufen in einem separaten Netzwerk als IT-seitige Analytics-Container.

 

Vorteil 4: Ressourceneffizienz

Ein Edge-Gateway mit 8 GB RAM kann problemlos fünf bis zehn Container betreiben: Message Broker, OPC UA Connector, Modbus-Gateway, Telegraf für Metriken und i-flow Edge für lokale Datenverarbeitung. Der gleiche Stack mit VMs würde dedizierte Hardware erfordern.

OT-Relevanz: Edge-Hardware ist teuer. Docker maximiert die Nutzung vorhandener Ressourcen und reduziert die Anzahl benötigter Geräte pro Produktionslinie.

 

Vorteil 5: Skalierung und Orchestrierung

Wenn ein Message Broker an Kapazitätsgrenzen stößt, ermöglicht Docker horizontale Skalierung: zusätzliche Broker-Instanzen werden automatisch gestartet. Orchestrierungs-Tools wie Kubernetes automatisieren diesen Prozess.

OT-Relevanz: Globale Produktionsnetzwerke mit Dutzenden bis hunderten Edge-Gateways erfordern zentrale Verwaltung. Docker Swarm oder Kubernetes ermöglichen Deployment und Monitoring aller Container von einer zentralen Stelle aus.

 

Anwendungsfälle: Docker im UNS-Stack

Docker in IT/OT-Architekturen ist kein theoretisches Konzept. Die folgenden Anwendungsfälle zeigen beispielhaft, wie Container-Technologie konkret in Unified Namespace-Implementierungen eingesetzt wird.

Message Broker (NATS, MQTT)

Der Message Broker ist das Herzstück eines UNS. NATS als Docker-Container bietet mehrere Vorteile: minimaler Ressourcen-Footprint, High-Performance Messaging und flexible Persistenz über JetStream. Als Alternative wird häufig MQTT mit Eclipse Mosquitto eingesetzt. Einen detaillierten Vergleich finden Sie hier.

docker run -d \
--name nats-server \
-p 4222:4222 \
-p 8222:8222 \
-v ./nats/config:/etc/nats \
-v nats_data:/data \
nats:2.10-alpine \
-c /etc/nats/nats-server.conf

Die Konfiguration liegt in einem Volume – Updates des Broker-Images überschreiben sie nicht. JetStream-Persistenz, TLS-Zertifikate und Access Control bleiben erhalten. NATS eignet sich besonders für Cloud-Native UNS-Architekturen mit hohen Durchsatzanforderungen.

 

Edge-Gateways (OPC UA, Modbus, Siemens S7 Connectoren)

Protokoll-Konverter sind prädestiniert für Container-Deployment. Ein OPC UA-Connector liest Daten aus einer SPS, transformiert sie in JSON und publiziert sie via MQTT oder NATS ins UNS. Als Container:

  • Einfache Updates ohne SPS-Unterbrechung
  • Mehrere Connectoren auf einem Gateway (OPC UA + Modbus + S7)
  • Restart Policies: Bei Fehlern automatischer Neustart

Typisches Multi-Container-Setup: opcua-connector, mqtt-broker, telegraf (Monitoring) – orchestriert über Docker Compose.

 

Datenverarbeitung (i-flow Edge)

Data Harmonization ist eine Kernanforderung im UNS: Rohdaten aus SPSen werden normalisiert, Einheiten konvertiert und mit Kontext angereichert. i-flow Edge eignet sich dafür – und ist als Container besonders praktisch. Updates des Containers überschreiben existierende Konfigurationen und Verarbeitungs-Pipelines nicht.

 

Time-Series-Datenbanken (InfluxDB, TimescaleDB)

Historisierung von UNS-Daten erfordert Time-Series-Datenbanken. InfluxDB als Container ermöglicht:

  • Separate Volumes für Daten und Konfiguration
  • Backup-Strategien über Volume-Snapshots
  • Upgrade-Tests in isolierten Umgebungen

Kritisch: Memory- und CPU-Limits setzen, um Ressourcen-Starvation auf Edge-Devices zu verhindern.

 

Visualisierung (Grafana, Custom Dashboards)

Grafana-Container mit vorkonfiguriertem Dashboard-Setup lassen sich über hunderte Standorte hinweg replizieren. Ein Dashboard-Template als JSON-File wird ins Image gebacken – jeder neue Standort erhält identische Visualisierungen.

docker run -d \
-p 3000:3000 \
-v grafana-storage:/var/lib/grafana \
grafana/grafana:latest

 

Architekturmuster für Docker in IT/OT

Die Wahl des richtigen Architekturmusters hängt von Skalierung, Verfügbarkeitsanforderungen und Netzwerkstruktur ab.

1. Single-Host-Setup (Edge Gateway)

Das einfachste Muster: Ein Edge-Gateway mit Docker Compose orchestriert alle Container lokal.

Typische Komponenten:

  • NATS oder MQTT-Broker (Eclipse Mosquitto)
  • Protokoll-Konverter (z.B. i-flow Edge)

Use Case: Einzelne Produktionslinie mit 10-50 Maschinen. Keine Redundanz erforderlich.

Vorteile: Einfach, wartbar, keine externe Orchestrierung nötig.

Grenzen: Single Point of Failure. Bei Ausfall des Gateways stoppt die Datenerfassung.

 

2. Multi-Host-Setup mit Docker Swarm

Docker Swarm verteilt Container über mehrere Hosts. Services können repliziert werden – fällt ein Host aus, startet Swarm die Container auf einem anderen Node neu.

Use Case: Multi-Linien-Fabrik mit Verfügbarkeitsanforderungen. MQTT-Broker als Cluster mit drei Knoten.

Vorteile: Service Replication, automatisches Failover, Load Balancing.

Grenzen: Komplexer als Single-Host. Erfordert Netzwerk-Overlay-Konfiguration.

 

3. Kubernetes für Enterprise-Scale

Kubernetes orchestriert Container auf Rechenzentrumsebene. Horizontal Scaling, Rolling Updates und Service Meshes ermöglichen hoch verfügbare UNS-Infrastrukturen.

Use Case: Globale UNS-Architektur über 20+ Standorte. Zentraler Broker-Cluster im Rechenzentrum, Edge-Gateways bridgen lokal.

Vorteile: Maximale Skalierbarkeit, ausgereiftes Ökosystem (Helm Charts, Operators).

Grenzen: Hohe Komplexität. Erfordert dedizierte DevOps/Platform-Engineering-Teams.

 

4. Hybrid Edge-Cloud-Architektur

Die Realität vieler Produktionsnetzwerke: Edge-Gateways mit Docker Compose für lokale Verarbeitung, Kubernetes im Rechenzentrum für zentrale Services.

Datenfluss:

  1. Edge-Container sammeln Daten lokal (OPC UA, Modbus)
  2. Sofern für den Use-Case erforderlich aggregiert ein lokaler Edge Message Broker die Nachrichten (häufig MQTT)
  3. Bridge sendet gefilterte Daten an zentrales NATS Broker Cluster (Kubernetes)
  4. Cloud-Container verarbeiten Daten (Analytics, ML-Inferenz, Langzeit-Speicherung)

Vorteil: Beste Balance für Aufwand / Nutzen, Edge-Autonomie und zentraler Auswertung.

 

Best Practices für Docker in OT-Umgebungen

Bei der Implementierung von Docker für IT/OT-Architekturen unterscheiden sich die Anforderungen teils erheblich von klassischen IT-Deployments. Die folgenden Best Practices adressieren OT-spezifische Herausforderungen.

Security Best Practices

  • Principle of Least Privilege: Container niemals als root betreiben. Images sollten einen dedizierten User definieren. Beispiel Mosquitto: USER mosquitto im Dockerfile.
  • Network Segmentation: Separate Docker Networks für OT- und IT-Container. Ein Dashboard-Container darf nicht im gleichen Netzwerk laufen wie ein Connector mit direktem SPS-Zugriff.
  • Image Scanning: Verwenden Sie Tools wie Trivy oder Clair, um bekannte Sicherheitslücken in Images zu identifizieren – vor dem Deployment.
  • Secrets Management: Keine Passwörter oder API-Keys in Images hardcoden. Nutzen Sie Docker Secrets (Swarm) oder externe Secrets-Manager (HashiCorp Vault).
  • Read-Only Filesystems: Starten Sie Container mit --read-only Flag, wenn möglich. Schreibzugriff nur über explizite Volumes.

 

Persistenz und Daten

  • Volumes statt Bind Mounts: Named Volumes sind portabler und performanter. -v mosquitto_data:/mosquitto/data statt -v /home/user/data:/mosquitto/data.
  • Backup-Strategie: Automatisierte Volume-Backups über Cron-Jobs oder dedizierte Backup-Container. Kritisch für MQTT-Retained-Messages und Datenbanken.
  • Retained Messages: MQTT-Broker müssen Persistenz aktiviert haben (persistence true in mosquitto.conf), kombiniert mit Volume-Mapping für /mosquitto/data.
  • Datenbank-Volumes: InfluxDB oder TimescaleDB benötigen separate Volumes. Memory-Mapped-Files profitieren von SSD-backed-Storage.

 

Networking

  • Host Network Mode: Verwenden Sie --network host nur, wenn zwingend erforderlich (z.B. Multicast für OPC UA Discovery). Standardmäßig: Bridge-Netzwerke mit explizitem Port-Mapping.
  • Bridge Networks: Standard für Multi-Container-Setups. Container können sich über Service-Namen erreichen: mqtt://mosquitto:1883.
  • Port Mapping: Exponieren Sie nur Ports, die extern erreichbar sein müssen. Interne Container-zu-Container-Kommunikation läuft über Docker-interne DNS-Namen.
  • MQTT over TLS: Zertifikate via Volume mounten. Mosquitto-Config: cafile /mosquitto/certs/ca.crt, certfile /mosquitto/certs/server.crt, keyfile /mosquitto/certs/server.key.

 

Ressourcen-Management

  • Memory Limits: Setzen Sie --memory 512m für jeden Container. Verhindert Out-of-Memory-Kills auf ressourcenlimitierten Edge-Devices.
  • CPU Limits: --cpus 1.5 sorgt für Fair Sharing bei mehreren Containern auf einem Host.
  • Restart Policies: restart: unless-stopped für produktive Container. Automatischer Neustart nach Host-Reboot oder Container-Crash.
  • Health Checks: Definieren Sie Health Checks für kritische Services. Beispiel Mosquitto: mosquitto_sub -t '$SYS/#' -C 1 prüft Broker-Verfügbarkeit.

 

Updates und Lifecycle

  • Blue-Green Deployments: Bei kritischen Brokern: Starten Sie den neuen Container (Green) parallel zum alten (Blue), testen Sie die Funktionalität, dann Umschaltung. Zero Downtime.
  • Rolling Updates: In Kubernetes: kubectl rollout restart deployment/mosquitto startet Pods sukzessive neu – keine Unterbrechung.
  • Image-Versionierung: Verwenden Sie Semantic Versioning. eclipse-mosquitto:2.0.18, nicht latest. Reproduzierbarkeit ist wichtiger als Aktualität.
  • Automated Updates: Watchtower kann Container automatisch updaten – aber nur in Entwicklungsumgebungen. Produktion: manuelles Update nach Testphase.

 

Monitoring und Logging

  • Container Logs: Zentrales Logging über ELK-Stack oder Grafana Loki. Logs bleiben erhalten, auch wenn Container gelöscht wird.
  • Metrics: Prometheus Exporter für MQTT-Broker-Metriken (Verbindungen, Messages/sec, Topics). cAdvisor für Container-Ressourcen (CPU, RAM, Netzwerk).
  • Health Monitoring: Docker Health Checks kombiniert mit Alerting (Prometheus Alertmanager, PagerDuty). Benachrichtigung bei Container-Restarts.
  • Performance: InfluxDB-Telegraf-Grafana-Stack (TIG) für Langzeit-Monitoring. Identifiziert Performance-Degradation über Wochen.

 

Herausforderungen und Grenzen

Docker ist kein Allheilmittel. Bestimmte OT-Anforderungen lassen sich mit Container-Technologie nicht oder nur eingeschränkt erfüllen.

Real-Time-Anforderungen

Docker-Container laufen auf Standard-Linux-Kerneln. Das bedeutet: Prozess-Scheduling unterliegt dem Betriebssystem, nicht deterministischen Echtzeit-Garantien. Soft Real-Time (Reaktionszeiten < 100 ms) ist kein Problem – UNS-Komponenten wie MQTT-Broker oder OPC UA-Connectoren funktionieren problemlos. Hard Real-Time (< 1 ms, garantiert) erfordert RTOS oder bare-metal-Deployments.

Klarstellung: Die meisten UNS-Komponenten sind nicht echtzeitkritisch. Die Datenerfassung von einer SPS mit 100 ms Polling-Intervall profitiert von Docker, ohne RT-Anforderungen zu verletzen.

 

Komplexität

Docker fügt eine Abstraktionsschicht hinzu. OT-Teams, die bisher direkt auf Maschinen installiert haben, müssen Docker Compose, Volumes, Networking und Image-Management lernen. Initiale Lernkurve: 1-2 Wochen für Grundlagen, mehrere Monate für fortgeschrittene Orchestrierung.

Trade-off: Kurzfristig höhere Komplexität, langfristig deutlich reduzierter Wartungsaufwand. Ein gut konfiguriertes Docker-Setup ist wartungsärmer als manuell installierte Services.

 

Legacy-Systeme

Nicht alle OT-Software lässt sich containerisieren. Proprietäre Windows-Applikationen ohne Linux-Äquivalent sind problematisch. GUI-basierte SCADA-Systeme, die X11 erfordern, funktionieren in Containern nur mit erheblichem Zusatzaufwand.

Lösung: Hybride Architekturen. Legacy-Systeme bleiben bare-metal oder in VMs, neue Komponenten werden als Container deployed.

 

Edge-Device-Limitierungen

Alte Edge-Gateways mit 2 GB RAM oder ARM-CPUs ohne Docker-Support sind nicht Container-fähig. Docker Desktop erfordert moderne Hardware; ältere Industrie-PCs fallen durch.

Alternative: Lightweight-Container-Runtimes wie Podman (ressourcenschonender) oder balenaOS (speziell für Edge-IoT-Geräte).

 

Fazit

Docker für IT/OT-Architekturen ist mehr als ein Trend – es ist eine fundamentale Verbesserung der Art, wie industrielle Softwaresysteme deployed und betrieben werden. Container-Technologie löst reale Probleme: inkonsistente Laufzeitumgebungen, langwierige Updates, fehlende Modularität und mangelnde Skalierbarkeit. Drei zentrale Vorteile:

  1. Konsistente Deployments über Standorte hinweg: Ein docker-compose.yml funktioniert in Werk 1 genauso wie in Werk 20. Keine manuellen Installationsfehler, keine Versionskonflikte.
  2. Modulare UNS-Komponenten mit klaren Schnittstellen: MQTT-Broker, Connectoren, Datenbanken und Dashboards als isolierte Container – austauschbar, testbar, wartbar.
  3. Vereinfachte Updates und Wartung: Rollbacks in Sekunden, Blue-Green-Deployments ohne Downtime, zentrale Orchestrierung über hunderte Gateways hinweg.

Container-Technologie wird daher zum Standard für Edge-Deployments in Industrial IoT. Dabei ist Docker für IT/OT-Architekturen nicht die Zukunft, sondern bereits Gegenwart. Wer heute die Grundlagen legt, ist vorbereitet für die nächste Generation industrieller Softwarearchitekturen.

Über i-flow: i-flow ist ein Unternehmen für industrielle Software mit Sitz in Süddeutschland. Wir bieten produzierenden Unternehmen die weltweit intuitivste Software zur Vernetzung von Fabriken. Täglich über 750 Millionen Datenoperationen in produktionskritischer Umgebung demonstrieren die Skalierbarkeit der Software und das tiefe Vertrauen, das unsere Kunden in i-flow setzen. Unser Erfolg basiert auf enger Zusammenarbeit mit Kunden und Partnern weltweit, einschließlich renommierter Fortune-500-Unternehmen und Branchenführer wie Bosch.

Verwandte Artikel

Ihre Frage wurde nicht be­antwortet? Kontaktieren Sie uns.

Eine Frau mit braunen Haaren, einem dunkelblauen Hemd und einer hellen Hose steht lächelnd mit den Händen in den Taschen vor einem steinernen Gebäude mit großen Fenstern.

Ihr Kontakt:

Marieke Severiens (i-flow GmbH)
content@i-flow.io

Jetzt UNS-Architektur-Checkliste zur Bewertung von Rollen im UNS herunter­ laden.