Ist von Containern die Rede, denkt ein Großteil der IT-Verantwortlichen gewiss an Docker. Und tatsächlich existieren diverse Gemeinsamkeiten mit Turbo.net, abgesehen davon, dass Docker früher auf Linux-Containern (LXC) basierte. Turbo.net wurde allerdings von Anfang an ausschließlich für Windows entworfen und unterstützt durch die "Turbo Application Virtualization Engine" sowohl Server- als auch Clientapplikationen ab Windows XP.
Anders als bei Docker lassen sich Turbo-Container aus mehreren Containern dynamisch erstellen und verwenden. Um beispielsweise einen Container für eine Java-Anwendung zu schaffen, die eine MongoDB-Datenbank verwendet, könnte ein Administrator einen Container mit der Java-Laufzeitumgebung und einen MongoDB-Datenbank-Container kombinieren und den Anwendungscode in einer Anwendungsebene in einem weiteren Container stapeln. Dieses Layering macht die Wiederverwendung von gemeinsam genutzten Komponenten wie Laufzeitumgebungen, Datenbanken und Plug-ins sehr einfach.
Der Hauptkomponente von Turbo.net ist der Turbo-VM-Kernel. Dieser stellt eine minimale Implementierung von Kern-Betriebssystem-APIs einschließlich Dateisystem-, Registry-, Prozess- und Threading-Subsystemen dar. Dieses System kommt mit weniger als 1 MByte Speicher aus und hat somit fast keinen Performance-Overhead auf die Anwendung. Der Turbo-Kernel wird dabei vollständig im User-Space-Bereich implementiert, was bedeutet, dass Turbo-Anwendungen ohne Treiberinstallation oder Administratorrechte laufen können. Und das gilt selbst dann, wenn die Anwendung im Turbo-Container erweiterte Rechte benötigt.
Anwendungen in einem Turbo-Container interagieren mit einer virtualisierten Dateisystem-, Registry- und Prozessumgebung, die im Kernel enthalten ist. Anfragen werden intern innerhalb der virtualisierten Umgebung abgewickelt, können aber auch – basierend auf
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.