Seite 2 - Anwendungsbereitstellung mit Turbo.net

Lesezeit
6 Minuten
Bis jetzt gelesen

Seite 2 - Anwendungsbereitstellung mit Turbo.net

27.03.2020 - 10:32
Veröffentlicht in:
Administration per Kommandozeile
Turbo.net ist für den Administrator in erster Linie eigentlich eine reine Kommandozeilen-Anwendung. Auch wenn es noch weitere GUI-Tools gibt, möchten wir an dieser Stelle zeigen, was auf der Kommandozeile alles möglich ist. Hierfür öffnen Sie einfach die Windows-Befehlszeile und starten Opera mit dem folgenden Kommando:
turbo run opera Using VM 17.7.1217.14 from local
Using image clean:26 from local
Downloading image opera:35 from https://turbo.net/users/opera
Running new container opera#f64f8ceb with visibility private
Dabei handelt es sich eigentlich um den gleichen Vorgang wie auch der Start eines Containers über das Webinterface. Allerdings sehen Sie hier, dass der Container eine eindeutige ID hinter seinem Namen bekommen hat (#f64f8ceb). Mit dieser ID lässt sich der Container eindeutig identifizieren, da er im Normalfall auch die Änderungen des jeweiligen Benutzers im Verzeichnis "App Data" enthält. Abgesehen von dem in diesem Fall noch offenen CMD-Fenster, stellen sich alle Container wie lokal installierte Anwendungen dar.

An der Ausgabe sehen Sie auch die Sicherheitseinstellungen, in diesem Fall "private". Das bedeutet, dass diese Anwendungscontainer keinen Zugriff auf das lokale Dateisystem hat und isoliert läuft. Wollen Sie dem Container Zugriff auf das lokale Benutzerverzeichnis geben, starten Sie den Container mit dem zusätzlichen Parameter "--isolate=full+merge-user". Eine volle Integration mit dem lokalen Filesystem erreichen Sie mit dem Schalter "--isolation=merge":
turbo run opera --isolate=full+merge-user

turbo run opera --isolate=merge
Flexibilität dank Layering
Interessant macht die Lösung aber das Layering. Sie können hier zum Beispiel einen ganz bestimmten Browser mit einem definierten Java bereitstellen. Hierfür müssen Sie nicht erst alles installieren, sondern bauen den Container einfach aus bereits bestehenden Images zusammen:
turbo run jre:7.51,firefox:35
Mit diesem Kommando starten Sie einen Firefox in der Version 3.5, der gleichzeitig bereits eine Java JRE Version 7.51 integriert hat. Alternativ dazu können Sie auf dem gleichen Endgerät auch zusätzlich einen Firefox mit JRE 8.0 starten:
turbo run jre:8.0,firefox:35
Auf dem Endgerät laufen nun beide Browser mit unterschiedlichen Java-Versionen einträchtig nebeneinander.

Sie können nicht nur den Zugriff auf die lokalen Dateien steuern, sondern auch den Netzwerkzugriff. Über den Turbo.net-Client konnten Sie bereits den Zugriff auf das Host-Netzwerk einschränken. Mit der Kommandozeile lässst sich da noch ein wenig mehr machen.



Bild 2: Applikationen lassen sich flexibel in unterschiedlichen Ausprägungen nutzen, wie etwa hier Firefox mit unterschiedlichen Java-Versionen.

Um bei dem Beispiel mit dem Firefox zu bleiben, wollen wir natürlich nicht, dass unsere Benutzer mit einem alten Firefox und einer noch viel älteren Java-Version im Internet unterwegs sind. Vielleicht stellen Sie diesen Browser auch nur für den Zugriff auf eine ganz bestimmte Webanwendung bereit, die genau diese Kombination von Browser und Plug-ins benötigt:
turbo run jre:7.51,firefox:35 --route-block=ip 
--route-add=ip://*.google.com
Mit diesem Kommando starten Sie wie bereits zuvor beschrieben den Firefox mit JRE. Allerdings blockieren Sie hier die komplette Netzwerk-Kommunikation über IP und fügen eine Ausnahme für eine bestimmte URL hinzu. Der nun startende Firefox darf ausschließlich auf Domänen von Google zugreifen, alle anderen Domänen werden nicht zugelassen.

Wer etwas Zeit mitbringt, kann auch zwei Microsoft SQL Server – einmal SQL Server 2012 Express und einmal SQL Server 2014 Express – auf seinem Endgerät laufen lassen. Damit sich beide nicht sehen, wird das Netzwerk von beiden Containern isoliert. Gleichzeitig starten wir aber noch ein Management Studio in einem weiteren Container, das natürlich die beiden laufenden SQL Server administrieren darf:
turbo new sqlserver/sqlserver2012-express --d 
–-route-block=tcp,udp --n=sql1demo

turbo new sqlserver/sqlserver2014-express --d 
–-route-block=tcp,udp --n=sql2demo

turbo new sqlserver/ssms2014 --d –link=sql1demo:sql1demo 
--link=sql2demo:sql2demo
Die Container sind etwas größer, weshalb der Download etwas dauert. Wer aber die Kommandos ausführt, hat nun zwei laufende SQL Express Server in unterschiedlichen Versionen und kann diese mit dem Management Studio verwalten (User: sa, Passwort: password1). Der Parameter "--d" sorgt an dieser Stelle lediglich dafür, dass die Kommandozeile wieder freigegeben wird. Sonst müssten wir jedes Kommando in einem eigenen CMD-Prozess starten.


Eigene Anwendungscontainer erstellen
Natürlich zeigt der vorangegangene Teil bereits einige der Möglichkeiten, allerdings wird der Einsatz sicher eher eigene Anwendungen umfassen als bereits bei Turbo.net vorhandene. Die Installation von Anwendungen in einen Container ist ebenso einfach, wie eine lokale Installation. Für das folgende Beispiel verwendenw wir Sublime, einen einfachen Texteditor als Anwendung. Wir haben dafür auf der lokalen Festplatte die Installation im Verzeichnis "C:\Install" abgelegt. Mit dem folgenden Kommando erstellen Sie einen leeren Container und verbinde mir das lokale Verzeichnis "C:\Install" in diesen Container:
turbo new clean --mount="C:\Install"
Sie bekommen einen leeren Container angelegt und können auf den lokalen Ordner C:\Install zugreifen, der einfach als Verknüpfung bereitgestellt wurde.

Innerhalb des Containers können Sie nun wie gewohnt die "Setup.exe" aufrufen. Die Installation selbst verhält sich dabei genau wie eine lokale Installation. Es dauert allerdings ein paar Sekunden länger, bis der Setup-Wizard startet, danach wird die Anwendung einfach wie bisher installiert. Nach Abschluss der Installation müssen Sie noch überprüfen, wie die ausführbare Datei heißt. In unserem Beispiel ist es die Datei "sublime_text.exe". Nun können Sie den Container einfach mit "Exit" verlassen.

Um den Container als nutzbares Image bereitzustellen, müssen Sie diesen lediglich in Ihren Hub-Server einstellen. Dies geschieht mit den Kommandos:
turbo commit 6912a1ac sublime 
--startup-file="C:\Program Files\Sublime Text 2\sublime_text.exe"

Committing container clean#6912a1ac to image sublime
Commit complete


turbo push sublime

Pushing image sublime to /sublime
Push complete
Image is private

Nach dem Push-Kommando steht der Container allen Benutzern des jeweiligen Accounts zur Verfügung. Sollten Sie nicht mehr mit dem Desktop-Client angemeldet sein, müssen Sie uns natürlich zuerst mit dem nachfolgenden Kommando sowie unserem Benutzernamen und Passwort bei Turbo.net anmelden:
turbo login
Für die Automatisierung könnten Sie natürlich den Benutzernamen und das Passwort gleich dem Kommando mitgeben, in Skripten ergibt es aber wenig Sinn, Passwörter im Klartext zu speichern. Hierfür können Sie sich auf der Website von Turbo.net innerhalb Ihres Accounts einen API-Key erzeugen und diesen für die Anmeldung in Skripten verwenden.

Automatisierung mit Skripten
Automatisierung ist an dieser Stelle auch ein gutes Stichwort, denn die Installation von Anwendungen lässt sich mit Skripten vereinfachen. Turbo.net bringt eine sehr umfangreiche Skriptsprache mit, mit der Sie automatisch Installationen von Anwendungen durchführen. Interessant dabei ist, dass Sie auch Batch-Kommandos verwenden können. Der Ablauf eines Skripts könnte etwa wie folgt aussehen:
  1. Erstelle einen leeren Container
  2. Installiere Python (um etwas mehr innerhalb des Skripts machen zu können)
  3. Installiere Python Module
  4. Verwende Python um die aktuelle Version der Software herunterzuladen
  5. Installiere die Anwendung
  6. Entferne Python wieder
  7. Erstelle einen Image und lade ihn ins Repository

Es existieren mittlerweile für fast alle im Turbo.net Hub vorhandenen Anwendungen auch entsprechende Turbo-Skripte. Alle diese Skripte sind bei GitHub [2] erhältlich und können frei verwendet werden. Für den Start dieser Installation reicht ein einfaches Kommando:
turbo build /Pfad/zum/Skript/turbo.me
Nutzen als Entwicklungsumgebung
Mit den Beispielen im vorangegangenen Teil des Artikels haben wir bereits gesehen, wie schnell und einfach sich Anwendungen bereitstellen lassen. In Unternehmen, wo viele Anwendungen mit Abhängigkeiten bereitgestellt werden müssen, ergibt eine Entwicklungsumgebung meist mehr Sinn. Mit dem Turbo Studio stellt Turbo.net aber auch diese Variante bereit.

Das Turbo Studio erstellt im Wesentlichen, ähnlich den Turbo-Skripten, eine "Installationsanleitung" in Form einer XML-Datei. Anders jedoch als bei den Skripten können Sie die Anwendung und alles, was in den Container installiert werden soll, viel granularer konfigurieren. So ist es mögliche, zusätzliche Dateien und Registry-Keys in einer virtuellen Registry zu setzen und auch virtuelle Dienste innerhalb des Containers bereitzustellen.

Alles, was wir aus ähnlichen Produkten kennen, wie zum Beispiel Snapshot-Installationen oder auch das Scannen von vorhandenen Anwendungen ist mit dem Turbo Studio möglich. Nebenbei können auch portable Anwendungen oder auch MSI- und SVM-Anwendungen für Softwareverteilsysteme erzeugt werden.


Bild 3:Auf der Website von Turbo.net können Sie in Ihrem Account einen API-Key erzeugen und diesen für die Anmeldung in Skripten verwenden.

Bereitstellen der Anwendungen
Die erstellten Turbo-Container können natürlich vom entsprechenden Repository gestartet oder Synchronisiert werden. Auf der entsprechenden WebGUI existiert dafür ein Sync Device Button. Damit ist es möglich, alle vorhandenen Anwendungen auf das Endgerät zu synchronisieren. Dabei wird immer die aktuelle Version auf das Endgerät übertragen. Gleichzeitig wird natürlich auch die File Type Association (FTA) sowie die Shell Extensions installiert und die Anwendung im Startmenü dargestellt. Über die Kommandozeile könnte das auch, etwa für Sublime, manuell mit folgendem Kommando gemacht werden:
turbo install sublime --register-extensions
Nach dem Ausführen dieses Kommandos steht die Anwendung nicht nur im Startmenü zur Verfügung, sondern lässt sich auch über den "Software entfernen"-Dialog von Windows wieder entfernen. Für den Benutzer sehen Turbo.net-Anwendungen wie lokal installierte Anwendungen aus.

Wer bereits Citrix einsetzt, kann diese Anwendungen auch direkt in seine Infrastruktur integrieren. Alle Turbo-Anwendungen lassen sich über eine Erweiterung auch direkt in einer Citrix-XenApp-Umgebung bereitstellen. Dafür muss lediglich der Turbo.net-Client für alle Benutzer auf den jeweiligen Terminalservern installiert werden. Über die Erweiterung xa7-subscribe [3] (auch als xa6-subscribe für ältere Framen erhältlich) können Turbo-Container wie lokal installierte Anwendungen direkt im Citrix Studio bereitgestellt und über Storefront von den Benutzern verwendet werden.

Fazit
Tatsächlich stellen wir uns immer wieder die Frage, warum wir ein vollständiges Windows 10 als virtuellen Desktop betreiben müssen um lediglich Anwendungen für den Benutzer bereitzustellen. Zumal unser Benutzer ja bereits ein vollständiges Betriebssystem auf seinem Endgerät, das er für den Zugriff ohnehin benötigt, hat. Die Virtualisierung von Anwendungen und deren Bereitstellung könnte hier eine Antwort sein. In Turbo.net steckt noch viel mehr an Funktionalität als es sich in einem kurzen Artikel darstellen lässt.

Wer hier noch weiterführende Informationen benötigt, der findet diese in der wirklich hervorragenden Dokumentation [4]. Hier finden sich auch Konzepte zur Einbindung von Intunes zur Verteilung von Anwendungen als auch die Integration zum Beispiel in das Azure AD. Turbo.net ist vielleicht nicht für jede Anwendung geeignet, es vereinfacht aber die Bereitstellung von Legacy Apps und kann sicher auch die eine oder andere problematische Anwendung bereitstellen. Gerade die Isolation von Containern etwa für Browser und Webanwendungen ist für viele Unternehmen ein gern gesehenes Feature.


Seite 1: Funktionen und Einrichtung
Seite 2: Administration per Kommandozeile

<< Vorherige Seite Seite 2 von 2


Thomas Krampe/dr

[2] https://github.com/turboapps/turbome
[3] https://turbo.net/run/turbocitrix/xa7-subscribe
[4] https://turbo.net/docs

Ähnliche Beiträge

Seite 2 - New Work – und jetzt?

Technologien zum Remote-Onboarding
Gerade das Onboarding neuer Kollegen hat sich in Zeiten von New Work und mobilem Arbeiten verändert. Vor allem in den letzten zwei Jahren hat der erste Arbeitstag häufig nicht im Büro, sondern aus dem Remote-Office stattgefunden. Auch dann wird eine einfache Inbetriebnahme der Arbeitsgeräte erwartet – ohne den persönlichen Kontakt mit den IT-Teams.

New Work – und jetzt?

Flexible Arbeitsmodelle sind für viele Unternehmen zum Standard geworden. Das bringt viele Vorteile für die Mitarbeiter – aber auch immer größere Herausforderungen für IT-Administratoren. Denn sie sollen flexibles, sicheres Arbeiten mit hohem Nutzungskomfort ermöglichen, sind dabei aber mit verschiedensten, komplexen Systemumgebungen und einer kritischen Sicherheitslage konfrontiert. Lesen Sie, welche Strategien und Technologien bei der praktischen Umsetzung helfen.

Schatten-IT im Home Office verhindern

Seit Beginn der Pandemie boomt das Home Office. Mehr Flexibilität, ein geringeres Infektionsrisiko und hohe Produktivität sind die Folgen. Doch wie immer gibt es auch eine Kehrseite: Gefahren aufgrund von Schatten-IT. Mitarbeiter nutzen unautorisierte Soft- und Hardware, um ihren Aufgaben nachzugehen und öffnen Hackern damit oft unbewusst Tür und Tor. Der Online-Artikel zeigt die Risiken auf und beleuchtet, was IT-Verantwortliche tun können, um die eigene Infrastruktur wirkungsvoll zu sichern.