Nach einer sehr interessanten und anstrengenden Woche auf der Synergy 2017 in Orlando, möchte ich natürlich auch etwas dazu schreiben. Anders als in vielen anderen Blogs, möchte ich aber nichts zur Synergy und den vielen Ankündigungen und Sessions schreiben. Denn ich habe auf der Synergy einen echten Geek mit einem interessanten Produkt kennengelernt (danke @turbokenji).
Wie der Titel es schon vermuten lässt, geht es um Turbo.net. Im Wesentlichen ist Turbo.net ein Framework das es erlaubt, Windows Anwendungen in einem Container zu installieren und somit schnell und portabel auf allen Desktops sowie in der Cloud bereitzustellen. Im Gegensatz zu anderen Virtualisierungslösungen, die eine vollständige Kopie des Host-Betriebssystems erfordern, emuliert die Turbo-Container-Technologie nur die für die Ausführung der Anwendung erforderlichen Funktionen. Turbo-Container haben die gleichen Leistungsmerkmale wie native Anwendungen, aber ohne Änderungen an der Systeminfrastruktur.
Der Kern der Turbo.net Technology ist der Turbo VM Kernel. Dieser Kernel ist eine minimale Implementierung von Kern Betriebssystem APIs, einschließlich Dateisystem-, Registry-, Prozess- und Threading-Subsysteme. Vom Umfang ist das weniger als ein Megabyte Speicher und hat somit fast Null Performance Overhead. Der Turbo-Kernel wird vollständig im User-Space-Bereich implementiert, d.h. Turbo-Anwendungen können ohne Treiberinstallation oder Administratorrechte laufen. Und gilt selbst dann, wenn die Anwendung im Container erweiterte Rechte benötigt.
Anwendungen in einem Turbo Container interagieren mit einer virtualisierten Dateisystem-, Registry- und Prozessumgebung, die im Kernel enthalten ist, und nicht direkt mit dem Host Betriebssystem. Anfragen werden intern innerhalb der virtualisierten Umgebung abgewickelt, können aber auch basierend auf Ihrer Konfiguration umgeleitet oder überschrieben werden.
Wie fangen wir jetzt an?
Zuerst benötigen wir auf der Turbo.net Website natürlich einen Account. Für die ersten Versuche reicht uns der kostenlose Account völlig aus. Wir sind zwar nicht in der Lage, die Anwendungen aus der Cloud auszuführen, aber dafür müssen wir auch nichts zahlen.
Im Wesentlichen benötigen wir nur eine Client Komponente, die wir uns direkt auf der Website herunterladen können.
Prinzipiell ist der Turbo.net Client eine reine Konsolen-Anwendung. In der aktuellen Version bekommen wir jedoch einen Launcher sowie eine Verknüpfung zu einer Tubo.net Shell. Starten wir den Launcher, werden wir aufgefordert uns mit unserem Benutzer und dem dazugehörigen Passwort anzumelden. Der Launcher selbst ist dann in unserer Taskbar zu finden.
Klicken wir hier nun auf das Turbo.net Icon in der Taskbar, bekommen wir unsere Anwendungen angezeigt. An dieser Stelle sollte bei einem neuen Account noch nicht viel zu sehen sein. Aber unter Browse All können wir alle bereits auf Turbo.net vorhandenen Anwendungen finden und starten. Ich starte hier unter Productivity > Editors zum Beispiel mal Notepad++.
Vor dem Start der Anwendung können wir natürlich (über die drei Punkte) festlegen, ob die Anwendung auf lokale Daten und/oder das lokale Netzwerk zugreifen darf. Die Synchronisierung mit Turbo.net können wir zwar abschalten, macht aber nicht viel Sinn denn so bekommen wir auch immer die neueste Version.
Sobald wir die Anwendung nun anklicken, wird Notepad++ heruntergeladen und ausgeführt.
Im Screenshot sehen wir das gestartete Notepad++ und zum Vergleich mal den Windows Taskmanager. In meinem Fall läuft Notepad++ bei mir sogar zweimal sowie der Firefox und das XenCenter – und das alles ohne Installation auf dem Zielsystem.
Wie bereits erwähnt, können wir Anwendungen auch über eine normale CMD Konsole starten.
Anwendungen in das Startmenü integrieren
Der Start von Anwendungen über die Konsole oder den Launcher ist an dieser Stelle nicht wirklich Benutzerfreundlich. Auch das ist zum Glück sehr einfach. Mit dem folgenden Kommando können wir jede Anwendung auch als Startmenü Eintrag bereitstellen:
turbo installi notepadplusplus
Die Anwendung taucht jetzt nicht nur im Startmenü auf, sondern kann auch über die Suche gefunden werden. Zusätzlich kann der Container auch über Uninstall or change a program wieder entfernt werden.
Citrix XenApp oder Microsoft RDSH
Das Bereitstellen von Anwendungen funktioniert nicht nur auf lokalen Maschinen. Wir können mit Turbo.net auch Anwendungen auf Terminalserver bereitstellen. Hierfür müssen wir lediglich den Turbo.net Client für alle Benutzer auf dem Terminalserver installieren.
turbo-plugin.exe –all-users –silent
Nun noch alle Anwendungen unseres Accounts hinzufügen.
turbo subscribe –all-users <org or user id>
Und nach einer kurzen Wartezeit tauchen alle Anwendungen im Startmenü auf. Nun können wir mit dem Citrix Studio alle Anwendungen wie gehabt veröffentlichen, da sich diese ja wie nativ installierte Anwendungen verhalten.
Ein Hinweis noch.
Natürlich funktioniert das auch mit dem kostenlosen Account. Dies sollte aber nur zu Demo oder PoC Zwecken verwendet werden. Im produktiven Umfeld sollte eine Organisation angelegt werden, dass macht dann auch das Verwenden von eigenen Anwendungen und Repositories leichter.
Die elegantere Lösung ist aber, die XenApp 7.x oder 6.5 Farm direkt mit Turbo.net zu verbinden. Dafür stehen eigene Kommandos (xa7-subscribe und xa6-subscribe) zur Verfügung.
> turbo-plugin.exe –all-users –silent
> turbo login –api-key=xxx
Logged in as username
> turbo try turbocitrix/xa7-subscribe — username -deliveryGroup Default -apikey xxx -waitonexit
Using VM 11.8.817.5 from local
Using image clean:25 from local
Using image vcredist:2008 from local
Using image xa7-subscribe:2016.02.26 from local
Running new container xa7-subscribe#3d2a1d9f with visibility private
Checking if Turbo client is installed…
Subscribe to username…
Aptana Studio subscribed
Mozilla Firefox subscribed
7-Zip subscribed
Atom subscribed
Audacity subscribed
Dia subscribed
LibreOffice Writer subscribed
LibreOffice Base subscribed
Beyond Compare subscribed
NPP Notepad++ subscribed
Google Chrome subscribed
LibreOffice Calc subscribed
Aptana Studio published
Mozilla Firefox published
Atom published
Dia published
LibreOffice Writer published
LibreOffice Base published
Beyond Compare published
NPP Notepad++ published
Google Chrome published
LibreOffice Calc published
Deployment successful
Eigene Anwendungen bereitstellen
Natürlich können neben den bereits vorhandenen auch eigene Anwendungen bereitgestellt werden. Dies funktioniert entweder ebenfalls über die Kommandozeile oder aber über das Tool TurboStudio.
Fazit
Auf den ersten Blick eine wirklich gute Lösung, die sich jeder einmal selbst anschauen sollte. Ich persönlich werde mit Turbo.net noch einiges in meinem Lab machen und natürlich darüber berichten. Wer hier noch weiterführende Informationen benötigt, der findet diese in der wirklich hervorragenden Dokumentation.