Anwendungs-Streaming
Anwendungs-Streaming ist ein Bereitstellungsmodell für Software. Das Verfahren macht sich den Umstand zunutze, dass die meisten Anwendungen lediglich einen kleinen Teil ihres gesamten Programmcodes benötigen, um zu laufen.
Wie bei progressiven Downloads von Video oder Audio ist auch bei Applikations-Streaming für den Endbenutzer jederzeit ersichtlich, dass und wie weit der gestreamte Inhalt heruntergeladen ist. Der Server sendet dem Client genügend Informationen, um die Anwendung zu starten (im Allgemeinen nur 10 Prozent der Anwendung) und streamt dann im Hintergrund den Rest an den Client, während der Endnutzer bereits arbeitet. Applikations-Streaming verwendet das Real Time Streaming Protocol (RTSP) und kommt oft auf virtuellen Desktops zum Einsatz
Wie funktioniert Anwendungsstreaming?
Für das Streaming werden Software-Anwendungen in Pakete von der Größe weniger Bytes aufgeteilt. Danach überträgt die Streamingplattform diese nach und nach an den Client. Entsprechend ihrer Funktion sind die Blöcke in Kategorien unterteilt: Es gibt Startblöcke, prädiktive Blöcke und On-Demand-Blöcke. Wenn der User auf eine Desktop-Verknüpfung klickt, werden die Startblöcke an den Client gestreamt. Sobald die Startblöcke lokal verfügbar sind, startet die Anwendung und beginnt mit dem Streamen von prädiktiven Blöcken. Dabei handelt es sich um Blöcke, von denen das Streaming-System annimmt, dass der Nutzer sie wahrscheinlich als Nächstes benötigt. Klickt der Anwender auf ein Software-Feature, das noch nicht gestreamt wurde, werden die angeforderten On-Demand-Blöcke gesendet.
Der Netzwerkadministrator kann steuern, ob und welche Blöcke auf dem System gespeichert bleiben sollen. Dadurch ist die Anwendung sogar dann verfügbar, falls der Nutzer keine Netzwerkverbindung hat. Wenn der Administrator einen Patch oder eine neue Version der Software installiert, werden die Blöcke mit den Updates übertragen, sobald der User das nächste Mal die Anwendung aufruft.
Wozu benötigt man Anwendungs-Streaming
Anwendungs-Streaming ist überall da sinnvoll, wo auf den Client-Computern nicht viel Platz ist oder aus anderen Gründen die Anwendung nicht auf dem Gerät installiert sein sollte – zum Beispiel bei Thin-Clients, virtuellen Desktops oder bei Arbeitern, die nur gelegentlich von ihren eigenen Geräten aus zuhause Arbeitsaufgaben erfüllen.
Das bringt auch Kostenvorteile, denn auf diesem Wege ist nicht für jeden Client eine eigene Softwarelizenz nötig. Aus diesem Grund eignet sich das Anwendungs-Streaming vor allem für Anwendungen, die der zugehörige Anwender nicht ständig braucht, und auf die selten viele Anwender zeitgleich zugreifen müssen.
Ein weiterer Vorteil ist, dass die Anwendung nur einmal aktualisiert werden muss, wenn es Patches oder Updates gibt.
Anwendungsvirtualisierung versus Anwendungs-Streaming
Anwendungsvirtualisierung und Anwendungs-Streaming sind keine Gegensätze, sondern sie kommen sogar im Gegenteil regelmäßig gemeinsam zum Einsatz. Bei der Anwendungsvirtualisierung erhält die Anwendung eine Virtualisierungsschicht, über die sie mit dem Betriebssystem und der Hardware kommuniziert, auf der sie läuft. Dadurch lässt sie sich leichter zwischen verschiedenen Umgebungen verschieben. Diese Virtualisierungsschicht macht es erst möglich, eine Anwendung auf verschiedene Systeme zu streamen. Es ist also jede gestreamte Anwendung virtualisiert, aber nicht jede virtuelle Anwendung wird gestreamt.
Eine andere Praxis zum Nutzen virtualisierter Anwendungen – und das, was landläufig auch unter dem Begriff verstanden wird – ist, dass die Anwendung auf einem Server oder in der Cloud läuft, in einer virtuellen Maschine, und Nutzer über das Netzwerk auf sie zugreifen. In diesem Szenario ist der grundlegende Unterschied also, dass die Anwendung bei der Virtualisierung an einem zentralen Ort läuft und der Anwender nur die Ansicht auf sein Gerät überträgt, während beim Anwendungs-Streaming die Anwendung tatsächlich auf dem Endgerät selbst läuft.