Profil-Profis im Kommen
Im SBC-Umfeld (Server-Based Computing) haben Benutzerprofile in den letzten ein, zwei Jahren immer mehr an Bedeutung gewonnen. In zentralisierten Umgebungen enthält ein Profil die Konfiguration der Arbeitsumgebung eines Benutzers. Angesichts neuer Methoden der Anwendungsbereitstellung ist ein effizientes Management der Benutzerprofile heute unverzichtbar.
Obwohl Profilprobleme in Terminalserverumgebungen schon seit vielen Jahren bekannt sind, haben die Unternehmen sie häufig als Designschwäche der servergespeicherten Profile von Windows-basierten Arbeitsplätzen akzeptiert und den damit verbundenen Mehraufwand im Benutzer-Support hingenommen. Viele Hersteller sahen das Problem ausschließlich in den Produkten von Microsoft und warteten auf eine Lösung durch den Hersteller. Doch durch neue Strategien in der Anwendungsbereitstellung gibt es nun zwingende Gründe, sich dem Thema zu widmen und Abhilfen zu entwickeln.
Neue Herausforderungen
Seit Kurzem etabliert sich die Virtualisierung von Desktops mittels Lösungen wie Citrix Xendesktop oder Vmware Virtual Desktop Infrastructure (VDI) als Alternative zur klassischen Anwendungsbereitstellung. Dabei erhält der Benutzer Zugriff auf eine virtuelle oder physische Maschine, die im Rechenzentrum dediziert bereitsteht. Dieser Desktop erlaubt dem Benutzer einen größeren Spielraum im Umgang mit den Ressourcen der Maschine im Vergleich zum veröffentlichten Desktop auf Terminalservern. Zudem genießt der Anwender größere Freiheiten mit dieser Infrastruktur, da die gegenseitige Beeinflussung von Benutzern nicht aufwändig verhindert werden muss. Die Technik der virtuellen Desktops ermöglicht eine deutliche Vereinfachung des Lifecycle-Managements eines Arbeitsplatzsystems, da die Pflege ausschließlich im Rechenzentrum erfolgt. Dort entfallen alle Herausforderungen durch schmale Netzwerkverbindungen und räumliche Trennung.
Ausgehend vom virtuellen Desktop haben Benutzer Zugriff auf ihre Anwendungen, die sowohl lokal auf dem virtuellen Desktop als auch auf Terminalservern zur Verfügung stehen können. Die Benutzerumgebung setzt sich also aus verschiedenen Techniken zur Anwendungsbereitstellung zusammen. Es entsteht die Notwendigkeit, die Einstellungen im Profil des Benutzers plattformübergreifend sowohl auf dem virtualisierten Desktop als auch auf dem Terminalserver gleichzeitig bereitzustellen.
Aufgrund der Designschwächen servergespeicherter Profile ist der automatische Abgleich der Benutzereinstellungen nur mit Lösungen für das User-Profile-Management möglich. Nur so kann der Benutzer die verfügbaren Anwendungen effizient einsetzen, da das Augenmerk nicht auf der Anpassung, sondern auf der Nutzung der Arbeitsumgebung liegt.
Zusätzlich steht mit dem Application Streaming eine Technik zur Verfügung, die es erlaubt, Anwendungen isoliert voneinander zu betreiben. Zu den einschlägigen Lösungen zählen Microsoft App-V, Citrix Application Streaming oder auch Vmware Thinapp. Zum einen beheben solche Streaming-Lösungen Bereitstellungskonflikte (DLL-Konflikte), zum anderen können die Anwendungen nun sowohl auf Arbeitsplatzrechnern und Terminalservern als auch auf mobilen Endgeräten ohne Netzwerkverbindung laufen. Abhängig von der eingesetzten Streaming-Lösung kann die Handhabung von Benutzereinstellungen mit servergespeicherten Profilen nicht unverändert erfolgen. Stattdessen ist der Einsatz einer Profillösung unabdingbar, um dieselbe Anwendung in den unterschiedlichen Szenarien nutzen zu können.
Typische Profilprobleme
Die servergespeicherten Profile in Microsoft Windows weisen mehrere Designschwächen auf, die den Einsatz in modernen Szenarien zur Anwendungsbereitstellung erschweren, wenn nicht gar verhindern. In Terminalserverumgebungen lassen sich aufgrund des Designs der Landschaft oder aufgrund von Fehlkonfigurationen mehrere Sitzungen pro Benutzer verursachen. Die Folge ist das mehrfache Laden je einer Kopie des Benutzerprofils auf den betroffenen Terminalservern. Die Auswirkung zeigt sich erst beim Abmelden von den einzelnen Sitzungen, weil das Profil immer als Ganzes auf dem Netzlaufwerk abgelegt wird. Dadurch überschreibt die Kopie des Profils einer Sitzung die zuvor zurückgeschriebene, wodurch Einstellungen des Benutzers verloren gehen. Dieses als "Last Writer Wins" ("der letzte Schreibzugriff gewinnt") bekannte Problem ist zwar in vielen Terminalserverumgebungen lösbar, lässt sich aber bei der Bereitstellung virtueller Desktops nicht umgehen: Da die Anmeldung an einem solchen Arbeitsplatz ein Profil benötigt, verursacht bereits die Nutzung von Anwendungen einer Terminalserverfarm das mehrfache Laden des Benutzerprofils.
Zudem ist oft zu beobachten, dass die Größe des Benutzerprofils stetig ansteigt und dadurch immer mehr Daten während der An- und Abmeldung zu übertragen sind. Die Verlängerung der Anmeldezeit verursacht Verzögerungen, weil der Benutzer nicht in der Lage ist, mit seiner Arbeit zu beginnen. Neben der Größe des Profils bereiten Profilinkonsistenzen großen Aufwand im Support. Ein Absturz oder ein Programmierfehler können einen unvollständigen Schreibvorgang einer Anwendung in das Benutzerprofil verursachen, wodurch Brüche im logischen Zusammenhang der Konfigurationsoptionen entstehen.
In der modernen Anwendungsbereitstellung spielen mehrere Windows-Versionen eine Rolle: Der Benutzer arbeitet auf einem Windows-basierenden Client-Betriebssystem, sei es ein Arbeitsplatzrechner oder ein virtueller Desktop, während Terminalserveranwendungen mithilfe von Windows Server ausgeführt werden. Benutzerprofile sind über Plattformgrenzen hinweg allerdings nicht austauschbar. Dasselbe gilt für unterschiedliche Sprachversionen.
In der heutigen Arbeitswelt spielt außerdem Mobilität eine große Rolle, und die Anwender wollen Reisezeiten sinnvoll nutzen können. Benutzer eines tragbaren Computers dürfen nicht in ihren Möglichkeiten eingeschränkt sein, überall und auch ohne Zugang zum Firmennetzwerk zu arbeiten. Mobile Benutzer benötigen ebenfalls die Einstellungen ihres Benutzerprofils und müssen in die Lage sein, offline zu arbeiten und bei Konnektivität zum Firmennetzwerk eine Synchronisation durchzuführen.
Eine Reihe von Abhilfen, die Windows seit geraumer Zeit zur Verfügung stellt, widmen sich diesen Nachteilen servergespeicherter Profile. Allerdings löst weder ein einzelner Ansatz noch eine Kombination dieser Ansätze die Probleme hinreichend.
Die Verwendung mehrerer Profile pro Benutzer schwächt die meisten der genannten Profilprobleme ab. Die Konsequenz ist aber, dass Einstellungen mehrfach vorzunehmen sind und es für den Benutzer nicht ersichtlich ist, warum eine gesetzte Konfiguration in einer anderen Situation nicht vorhanden ist. Dieser Ansatz hat zur Folge, dass Benutzer einen Teil ihrer Zeit damit verbringen müssen, Einstellungen mehrfach vorzunehmen. Dies verursacht viele Support-Anrufe und stellt die Effizienz der IT-Infrastruktur in Frage. Zudem multipliziert sich der benötigte Speicherplatz auf den Fileservern mit der Anzahl der Profile pro Benutzer.
Nachteile traditioneller Abhilfen
Die Nutzung von Ordnerumleitungen gehört heute zum Standardvorgehen beim Aufbau von Umgebungen zur Anwendungsbereitstellung: Dateien werden aus dem Benutzerprofil an alternative Orte umgeleitet, zum Beispiel in das Heimatverzeichnis des Benutzers. Dadurch reduziert sich die Profilgröße, und Anwendungsdaten werden über Plattformgrenzen hinweg verwendbar. Zusätzlich vermindert dies die Folgen von "Last Writer Wins", da nur die im Benutzerprofil verbliebenen Dateien betroffen sind. Allerdings wirkt sich die Ordnerumleitung nur auf Dateien aus, sodass die Registrierung weiterhin dem Problem des "Last Writer Wins" unterliegt.
Die Benutzerprofilgröße lässt sich zusätzlich durch die Definition von Kontingenten (Quotas) kontrollieren. Abhängig von der Konfiguration kann das Erreichen der festgelegten Grenze entweder eine Warnung verursachen oder sogar einen Verlust der vorgenommenen Einstellungen zur Folge haben. Da eine sinnvolle Profilgröße allerdings schwer zu bestimmen ist, führen Kontingente oft zu Support-Anfragen, wenn der verfügbare Speicherplatz ausgeschöpft ist.
Viele Anwendungen erzeugen eine Vielzahl von kleinen Dateien, die im Benutzerprofil abgelegt werden und Schwierigkeiten verursachen, so zum Beispiel Cookies und der Verlauf des Internet Explorers. Zum einen benötigt die Übertragung dieser Dateien während der An- und Abmeldung deutlich mehr Zeit als eine vergleichbare Datenmenge in wenigen Dateien, zum anderen belegt dies wertvollen Speicherplatz auf den Dateiablagen, was durch höhere Blockgrößen auf Fileservern verschärft wird. Die sehr große Anzahl von Dateien über alle Benutzerprofile hinweg bereitet auch den Backup-Systemen Schwierigkeiten, da deren Datenbank an Kapazitätsgrenzen stoßen kann.
Die vorgestellten Lösungsansätze betreffen das Design der Umgebung und bedürfen einer detaillierten Planung, bevor eine Umsetzung beginnen kann. Als weitere Abhilfe im Betrieb einer Application-Delivery-Umgebung greift der Support oft zur Profillöschung. Dieser Schritt löst zwar Inkonsistenzen im Profil oder gibt den belegten Speicherplatz frei, verursacht allerdings zusätzlichen Arbeitsaufwand, da der Benutzer im Profil gespeicherte Einstellungen erneut vornehmen muss. Die Wiederherstellung eines früheren Backups des Profilverzeichnisses muss daher als bevorzugte Lösung angesehen werden.
Eine Profillösung dient dem Erhalt und der Bereitstellung der Benutzerkonfiguration in SBC-Landschaften. Dabei wird als Basis ein Profil mit Grundeinstellungen verwendet, die allen Benutzern gemein sind. Die Konfiguration jedes Benutzers wird unabhängig von diesem Profil in einem privaten Container gespeichert. Während der Anmeldung werden die Einstellungen aus diesem Container in das Basisprofil geladen und bilden somit die gesamte Konfiguration des Benutzers.
Meldet sich ein Benutzer ab, ermittelt diese Lösung die Änderungen, die der Benutzer während der Sitzung an seiner Konfiguration vorgenommen hat. Diese Änderungen führt eine Profillösung mit den im Container vorhandenen Einstellungen zusammen; sie bilden nun die neue Benutzerkonfiguration. Das Zusammenführen muss so geschehen, dass unabhängige Einstellungen unterschiedlicher Sitzungen erhalten bleiben und im Container gespeichert werden.