Mit dem Ziel, diese Einschränkungen, insbesondere die letzte, zu überwinden und die Vorteile des Unikernel-Konzepts einem breiteren Spektrum von Anwendungen zugänglich zu machen, führte Lynx Anfang 2022 eine Umfrage zu den verschiedenen öffentlich zugänglichen Unikernel-Optionen durch. So ließ sich feststellen, dass einige von ihnen zwar an eine bestimmte Compiler-Sprache gebunden sind, wie z.B. runtime.js (javascript), Clive (Go), LING (Erlang) und MirageOS (OCaml). Nur eine, OSV, kann viele Sprachen ausführen. Dies führte zu einer weiteren Erkundung dieser Option.
OSV ist ein modularer Open-Source-Unikernel, der entwickelt wurde, um eine einzelne, nicht modifizierte Linux-Anwendung sicher auf einem Hypervisor auszuführen. Er wurde entwickelt, um unveränderte x86-64- und Aarch64-Linux-Binärdateien auszuführen, was ihn effektiv zu einem Linux-binärkompatiblen Unikernel macht. Da es in IT-Infrastrukturanwendungen eingesetzt wird, verfügt OSV über ein angemessenes Maß an Beobachtungsfunktionen, einschließlich Protokollierung, Verfolgung und Fehlersuche. Die Verwendung einer BSD-Lizenz (Berkeley Software Distribution) ist einfach und eine Reihe von Peripheriegeräten und Protokollen, z.B. TCP/IPv4, PCIe, ACPI, werden unterstützt. Die Unterstützung von IPv6 war zum Zeitpunkt der Analyse noch nicht ausgereift.
Für Lynx konzentriert sich das anfängliche Interesse für den Unikernel auf die Sicherheit, da dieser Ansatz die Angriffsfläche drastisch reduziert. Außerdem erfordern diese Arten von Anwendungen keine garantierten Zeitvorgaben und Sicherheitszertifizierungsartefakte.
So kann beispielsweise ein Unikernel wie OSV für die Ausführung von Sicherheitskomponenten wie IDS (Intrusion Detection System) und VPNs (Virtual Private Network) verwendet werden.
IDS (Intrusion Detection System) und VPNs (Virtual Private Network) verwendet werden. Bild 2 zeigt, wie dies auf einem Xilinx-Entwicklungsmodul implementiert werden könnte. TIDS (Tactical Intrusion Detection System) und Dynamic Access Control (DAC) sind statistische Anomalie-Detektoren, die von der US-Armee in einigen ihrer Netze eingesetzt werden und den IP- und 1553-Datenverkehr überwachen. Die Verwendung einer Datendiode und eines Filters auf dem Unikernel würde es einem Kunden ermöglichen, eine Linux-VM zu ersetzen, was Speicherplatz spart und den Angriffsraum drastisch reduziert.
Ein struktureller Vorteil dieses Ansatzes ist, dass die Einführung eines Unikernels die Anzahl der Anwendungsfälle für Bare-Metal-Anwendungen reduziert. Obwohl der Unikernel die Möglichkeit bietet, den Speicherbedarf der Software erheblich zu reduzieren, gibt es dennoch einen Platz für Bare-Metal-Anwendungen, die sich mit spezifischen Einzelfunktionen befassen. Es wird auch weiterhin wesentlich effektiver sein, eine 500-Zeilen-Anwendung als Bare-Metal-Anwendung zu implementieren, z.B. für die Arbeit mit privaten Schlüsseln.
Ist die Unikernel-Technik somit bereit für den Einsatz in unternehmenskritischen Anwendungen, in der Luft- und Raumfahrt und im Verteidigungssektor? Obwohl sie einige überzeugende Vorteile bietet, gibt es eine Reihe von Bereichen, die hohe Anforderungen stellen und in denen die heutigen Unikernel-Architekturen etwas zu kurz kommen.
Noch sind Unikernels nicht ganz reif für die breite Anwendung in unternehmenskritischen Applikationen, Doch die Vorteile, die sie bieten, sind so bedeutend, dass Entwicklungsteams ermutigt werden, die Unikernel-Technik in bestimmten, begrenzten Kontexten zu nutzen. Damit sie dies tun können, werden Unikernel-Produkte benötigt, die mit kommerziell bewährten Echtzeitbetriebssystemen verbunden sind. Durch die Beibehaltung eines hohen Maßes an Kompatibilität zwischen dem Unikernel und dem eigenständigen Produkt können Entwickler Anwendungen frei zwischen den Umgebungen portieren. Dies erlaubt es, die Vorteile jedes einzelnen Systems erforschen und nutzen zu können, ohne dass es zu einer erheblichen Verdoppelung des Entwicklungsaufwands kommt.
Der Autor
Ian Ferguson
ist VP of Sales and Marketing bei Lynx Software Technologies. In dieser Funktion ist er auch für die Förderung des Lynx-Partnerschaftsprogramms verantwortlich, um das Engagement in den Bereichen Automobil, Industrie und IT-Infrastruktur zu forcieren. Ferguson war fast elf Jahre lang bei ARM tätig, wo er Teams in den Bereichen vertikales Marketing, Corporate Marketing und strategische Allianzen leitete. Er ist Absolvent der Universität Loughborough (UK) mit einem B. Sc. in Elektrotechnik.
iferguson@lynx.com