zuruck zur Themenseite

Artikel und Hintergründe zum Thema

Edge Computing

Wolfgang Wanner | Günter Herkommer,

So leistungsfähig ist die Linux-Container-Technologie

Während in den 'Smart Factories' Daten möglichst in Echtzeit zu erfassen, zu analysieren und zur Verfügung zu stellen sind, gelten bei verteilten (M2M-)Anwendungen andere Prioritäten – allen voran das Handling der ­Anwendungsdaten und die Sicherheit der Kommunikation.

© Bild: Computer&AUTOMATION, Quellen: Fotolia, ps-ixel  /  Wikipedia

Ein Blick zurück in die Geschichte: Im Jahr 1991 hatte Linus Torvalds in Helsinki einen Kernel zum Zugriff auf die großen Unix-Server seiner ­Universität entwickelt, hardwarenah und unabhängig von einem Betriebssystem. Etwas später erkannte er, dass er ein Betriebssystem geschaffen hatte und stellte dieses seiner ‚Community‘ zur Verfügung. Seither hat sich Linux zum wohl am besten gepflegtesten Open-Source-Betriebssystem mit garantierten Sicherheits-Updates, Bug­fixes und einer Vielzahl an Programmen entwickelt. Vor allem im Umfeld der Embedded-Programmierung ist es ‚das‘ Tool der Wahl.

© Quelle: Computer&AUTOMATION, Quelle: Insys

Auch viele industrielle (IT-) Anwendungen beruhen heute auf Linux, das mit den so genannten LXC-Containern eine Ressourcen-schonende Lösung zur Verfügung stellen kann. Kurz erklärt handelt es sich dabei um Virtualisierungen auf der Ebene des Betriebssystems. Der Begriff ‚Container‘ soll symbolisieren, dass hierbei voneinander isolierte Linux-Systeme nebenei­nander auf einem Host laufen. Nicht zu verwechseln ist dieses Verfahren mit virtuellen Maschinen (VM), die Nachbildungen ganzer Rechnersysteme sind und einander nicht bedingen, selbst wenn mehrere VM auf einer Hardware betrieben werden. LXC hingegen sind virtuelle Umgebungen, die jeweils ihre eigenen Prozesse besitzen, aber untereinander kommunizieren können. Dabei nutzen sie den Kernel des Hostsystems. Die LXC-Technologie findet seit vielen Jahren Verwendung und ist eine absolut standardisierte, stabile Art der Linux-Virtualisierung. So bietet unter anderem auch Microsoft Azure die Möglichkeit, Linux-Container laufen zu lassen.

Die Sicherheit bei Anwendungen und der Kommunikation ist nach wie vor eine der Kernanforderungen vieler Projektverantwortlicher im Kontext mit M2M-Anwendungen. LXC bringt hierfür ideale Voraussetzungen mit: Jeder Container stellt im übertragenen Sinn ein eigenes virtuelles Netzwerkgerät mit eigener IP- und MAC-Adresse dar – vergleichbar mit einem am Router angeschlossenen PC oder einer Steuerung. Sämtliche Möglichkeiten wie Netzfilter (Firewall, NAT), VPN oder die Netzwerk-Segmentierung bis hin zur Applikation im Container sind damit gegeben. Zudem kann jeder Container bei Bedarf verschlüsselt werden.

Anzeige

Sicher vernetzen per LXC

Die modulare MRX-Routerserie gibt es als LAN- und LTE-Version mit je drei oder fünf Slots, integrierter LCX-Umgebung sowie aufrüstbar mit zusätz­lichen Steckkarten.

© Insys

Die modulare Router-Plattform MRX von Insys icom beispielsweise stellt diese LXC in einer so genannten ‚SmartBox‘ zur Verfügung und kombiniert damit die Kommunikation und eine Anwendungsumgebung in einer kompakten Lösung. Die SmartBox ist eine vom Router-Betriebssystem völlig unabhängige Umgebung, in der Nutzer beliebige Container anlegen können. Durch die Integration dieser virtuellen Anwendungsumgebung in den MRX-Profirouter von Insys icom lässt sich eine Auto-Update-Funktion optional nutzen, mit der sich sämtliche Router-Firmware und -Konfigurationen wie auch Container, Anwendungen und deren Konfigurationen updaten lassen.

Dieses Feature ist ein enormer Sicherheitsvorteil, da nur ein Server gepflegt werden muss. Zudem besteht kein Zwang, öffentliche Repositories zu nutzen. Die Container erlauben dabei keinen Zugriff auf die eigentliche Routing- und Sicherheitsfunktionen. Sie sind damit auch bei Hacking-Attacken per se keine Gefahr für andere Container und das restliche System. Realisieren lassen sich Anwendungen wie IT-Monitoring und -Management oder beispielsweise eigene lokale Mail-Server für den verschlüsselten Versand von unverschlüsselten E-Mails älterer Steuerungen an Provider. Verfügbare LXC-Anwendungen sind dabei dank Open Source sehr flexibel an die eigene Infrastruktur anpassbar.

Das Handling von ­Applikationsdaten

Web-basierte Bedienoberfläche der Router-Firm­ware: Ein Debian Con­tainer wurde angelegt und kann nun weiter konfiguriert werden.

© Insys

Beim Handling von Applikationsdaten unterscheidet man drei Ebenen. Die reine virtuelle Umgebung, Development Container und Application Container. Letztere beherbergen entweder native Applikationen, wie beispielsweise Datenlogger, Gateways, Monitoring oder die Anbindung von Legacy-Geräten, oder auch Applikationen mit Linux-Distributionen wie Debian. Das bedeutet, dass Projekte, die auf einer Hardware wie zum Beispiel einem Raspberry Pi entwickelt wurden, in kürzester Zeit auf professionelle, industrietaugliche Hardware portierbar sind. Auf der Website www.insys-icom.de/knowledge/smartbox etwa sind neben Debian weitere Images – wie Node Red, Nagios, SQL sowie andere Datenbanken – und nicht zuletzt Soft-SPSen zum Download verfügbar.

Terminalprogramm (hier PuTTY): Der Aufruf eines Containers mittels dessen hinterlegter IP-Adresse ist über Port 22 möglich.

© Insys

Development Container bilden als Basis-Container mit Programmen und Skripten wie Python oder C++ die zweite Ebene und sind ideal auf die Bedürfnisse von Applikationsentwicklern ausgelegt. Auch die Linux-Distribution Debian stellt letztlich einen solchen, sehr umfangreich ausgestatteten Basis-Container dar. Mit Hilfe dieser Container lassen sich Anwendungen von Grund auf solide aufbauen. Der MRX-Router von Insys icom beispielsweise verfügt über eine Funktion zur schnellen und einfachen Anlage von funk­tionsfähigen Containern mit Shell-Zugriff (Minimalsystem) quasi per ‚Knopfdruck‘.

Die dritte, rudimentärste Ebene ist die virtuelle Umgebung. Sie stellt das Grundgerüst zur Erzeugung von Containern dar. Im Falle der bereits erwähnten ‚SmartBox‘ von Insys stellt diese Ebene diesbezüglich eine komplette Tool Chain inklusive aller Skripte bereit, mit der sich lauffähige Container schnell erstellen lassen. Vorcompilierte Standard-Programme wie Open SSL oder Busy-Box finden sich auf Git-Hub.

Embedded LXC: Die Kombination macht’s

Daneben gibt es mittlerweile mehr und mehr Geräte – wie zum Beispiel Steuerungen – mit integrierter Kommunikation, meist über Ethernet oder Mobilfunk. Eine häufige Problematik hierbei ist der Update-Prozess. Kommunikationsgeräte bedürfen aus Sicherheitsgründen einer deutlich häufigeren Aktualisierung als das bei Steuerungen der Fall ist. Dem steht allerdings entgegen, dass Prozessverantwortliche sich in der Regel davor scheuen, eine lauffähige Anwendung mit einem Update zu ‚beglücken‘, wenn es nicht unbedingt notwendig ist.

Ein Router mit integrierter, virtueller Umgebung auf Linux-Basis hingegen trennt Kommunikation und Anwendung strikt voneinander. Mehr noch: Die ­Container wie auch weitere am Router angeschlossene Geräte haben Zugriff sowohl auf die digitalen Eingänge und Schaltausgänge als auch auf die seriellen Schnittstellen des Routers. Gleichzeitig erhalten Applikationen damit eine Schnittstelle zum Versenden von Kurznachrichten (SMS). Eine Steuerung ohne digitale Eingänge könnte sich diese somit über den Router und einen entsprechenden Container, der als Gateway fungiert, erschließen. Denkbar ist auch die Realisierung einer Soft-SPS in einem Container. Weiterhin könnten hier Container als Datenlogger und zur Visualisierung geschaffen werden. Durch die IP-Fähigkeit ist schließlich ein direkter Zugriff auf die Visualisierung per Web-Browser möglich. Ebenso sind solche Ansätze mit Einplatinen-Computern wie einem Raspberry Pi realisierbar. Allerdings muss sich der Entwickler hier neben seiner eigentlichen Aufgabe – und zwar der Programmierung der Anwendung selbst – Gedanken über die Kommunikationsanbindung inklusive aller Sicherheitsanforderungen und deren Updates machen. Die Bedienfreundlichkeit ist ebenso eingeschränkt, da ein solcher Einplatinen-Computer nur die grundlegende Funktionalität mitbringt, ohne die Ansprüche an eine nutzerfreundliche Oberfläche zu erfüllen.

Aber die LXC-Container können noch mehr. Zum Router hin existiert eine API, über welche die Zustandsinformationen des Routers für Applikationen nutzbar gemacht werden. Außerdem ist eine komplette Konfiguration eines Routers aus einem Container he­raus denkbar, sofern der Anwender dies erlaubt. So lässt sich beispielsweise der Router mit einer einheitlichen Standardkonfiguration ausliefern. Nach der Erstinbetriebnahme übernimmt ein verschlüsselter Container die anwenderspezifische, sicherheitskritische Neukonfiguration.

Auf den Punkt gebracht: LXC ist ein mächtiges Verfahren für virtuelle Einheiten, die gemeinsam vorhandene Ressourcen nutzen, sich aber unabhängig voneinander mit Skripten und Pro­grammen bestücken lassen. Zusammen mit einem Router eröffnen sich den Nutzern völlig neue Möglichkeiten, verteilte ­Anwendungen lokal mit Intelligenz auszustatten. Gerade im professionellen Umfeld, bei dem viel Wert auf Bedienfreundlichkeit, Zuverlässigkeit und Sicherheit gelegt wird, ist die Kombination Router/LXC ein essenzieller Schritt auf dem Weg hin zum industriellen ‚Internet der Dinge‘.

Autor:
Wolfgang Wanner ist Leiter Marketing bei Insys Microelectronics.

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

SPS 2019

Neue Produkte in Nürnberg

Welche Produkt-Neuheiten präsentierten die Aussteller auf der SPS 2019? Computer&AUTOMATION zeigt einen Abriss dessen, was die Messebesucher in den Nürnberger Messehallen in diesem Jahr erwartete.

mehr...
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Jetzt Newsletter abonnieren