La possibilità di utilizzare le tecnologie di Application Virtualization (App-V) con architetture basate sui i Remote Desktop Services di Windows Server 2008 R2 – che ci consentono di abilitare sia le funzionalità classiche di "Terminal Services" che la costruzione di architetture di Virtual Desktop Infrastructure (VDI) - permette alla nostra infrastruttura di poter essere molto dinamica e ci offre dei vantaggi decisamente notevoli. Inoltre l'uso di App-V è già concesso in licenza nelle RDS Client Access License (RDS CAL) e questo consente anche una ottimizzazione dei costi. Maggiori informazioni su RDS Licensing.

Prima di iniziare una nota: i componenti che fino a Windows Server 2003 R2 erano chiamati "Terminal Services", con Windows Server 2008 R2 hanno preso il nome di Remote Desktop Services (RDS), e in particolare il "terminal server" ora è il "Session Host", cioè la macchina su cui vengono ospitate le sessioni remote. La macchina invece che ospita le Virtual Machine di una infrastruttura VDI basata sui servizi RDS viene chiamata "Virtualization Host".

Il primo vantaggio che appare subito chiaro nell'utilizzo di App-V for Remote Desktop Services è ridurre i problemi di "siloing" tipici dei vecchi Terminal Services. Infatti, finora siamo stati costretti a utilizzare server terminal diversi nel caso di applicazioni che non possono essere installate sulla stessa macchina, oppure per avere due versioni diverse della stessa applicazione, oppure per separare gruppi di utenti che non erano autorizzati ad utilizzare applicazioni specifiche.

Utilizzando le tecnologie di Application Virtualization rendiamo indipendenti le applicazioni dal sistema operativo, non abbiamo più la necessità di "installarle", e quindi possiamo:

  • Prevenire il conflitto tra versioni diverse della stessa applicazione, o tra applicazioni incompatibili;
  • Accelerare la distribuzione delle applicazioni, senza rischi d'incompatibilità o di crash;
  • Aggiornare facilmente e velocemente le applicazioni;
  • Avere le stesse configurazioni utente per le applicazioni sia sui desktop che sui terminal server/session host;
  • Rendere disponibili a ciascun utente solo le applicazioni di cui ha bisogno e che è autorizzato ad utilizzare;
  • Gestire meglio i profili utente.

Se consideriamo anche la possibilità di sfruttare App-V anche con la soluzione di Virtual Desktop Infrastructure (VDI) offerta dai Remote Desktop Services, si capisce subito il vantaggio di usare App-V per il rapid application provisioning.

In particolare 'utilizzo di App-V in una soluzione VDI assicura gli stessi benefici che si hanno quando questa tecnologia viene utilizzata sui PC "classici" o in ambiente RDS/TS, e ne aggiunge anche altri:

  • Consente la creazione di immagini base VDI più "leggere", provviste solo del client App-V e non di tutti gli applicativi;
  • Riduzione dei costi relativi all'aggiornamento dell'immagine base, perché l'aggiornamento delle applicazioni avviene in streaming, senza la modifica dell'immagine VDI;
  • Deduplicazione dei dati inviati in streaming, grazie all'uso della Read-Only Cache di App-V.

Per realizzare questo articolo mi sono servito dell' infrastruttura mostrata nella figura 1.

Figura 1: Infrastruttura usata nel laboratorio

Per la creazione del laboratorio vi rimando ad un mio precedente articolo App-V – Creazione di un laboratorio di test.

App-V e Remote Desktop Services

L'installazione di Microsoft App-V per RDS 4.6 è molto simile all'installazione del client desktop. Dopo aver installato Windows Server 2008 R2 procediamo ad effettuare tutti gli aggiornamenti del sistema operativo e successivamente abilitiamo il ruolo Session Host dei Remote Desktop Services. Per la procedura di installazione vi rimando all'articolo Technet Guida dettagliata all'installazione di Remote Desktop Session Host.

Dal Server Manager scegliamo di installare i ruoli RDS Session Host, RDS Licensing e se vogliamo anche accedere da interfaccia web scegliamo il ruolo RDS Web Access, come mostrato in figura 2. 

Figura 2: Scelta dei ruoli RDS da installare

Terminata la configurazione dei Role Services e dopo aver scelto tutte le impostazioni relative al Licensing, ai gruppi a cui permettere l'accesso al server Session Host e al livello di autenticazione di rete, otterremo la schermata finale di conferma delle impostazioni scelte, mostrata in figura 3.

Figura 3: Scelta dei Role Services e delle features

Al termine dell'installazione è necessario riavviare il sistema, come richiesto in figura 4.

Figura 4: Riavvio del sistema per completare l'installazione di RDS

Procuratevi il pacchetto Microsoft App-V for RDS 4.6 scaricandolo direttamente dal sito Microsoft (vi ricordo che non è presente nel pacchetto MDOP 2011) ed anche il Microsoft Application Virtualization 4.6 Service Pack 1, che useremo per aggiornare il client dopo l'installazione.

L'installazione del client sul Session Host deve essere effettuata utilizzando l'RDS Install Mode. Vi raccomando perciò di scegliere dal Pannello di controllo Install Application on Remote Desktop Server.

Lanciamo il setup scegliendo l'Installer del client a 64 bit e procediamo con l'installazione dei prerequisiti, come mostrato in figura 5.

Figura 5: installazione dei prerequisiti per il client App-V

L'installazione prosegue automaticamente e se scegliamo di eseguire un'installazione personalizzata possiamo anche definire le cartelle di destinazione della cache e delle impostazioni degli utenti.

Se nelle proprietà sia del client App-V per i desktop, che del client session host/terminal server andiamo a definire come cartella in cui inserire le impostazioni dell'utente una share di rete, quando gli utenti avvieranno l'applicazione virtualizzata dalla propria postazione o dal terminal server troveranno le stesse impostazioni e personalizzazioni dei programmi. Questo agevola notevolmente l'esperienza dell'utente in quanto non vedrà differenze nei programmi se lavora da remoto. In figura 6 è mostrato il parametro utilizzato per la User-specific Data Location

Figura 6: Personalizzazione della posizione per le personalizzazioni degli utenti

È anche possibile definire quella che dev'essere la dimensione massima della cache nella quale verranno scaricati i package virtuali, come mostrato in figura 7.

Figura 7: dimensione massima della cache

Nella schermata successiva del wizard andiamo a configurare il server di streaming ed il protocollo utilizzato per trasferire le applicazioni dal server al client di App-V per RDS, come mostrato in figura 8. Un modo per potersi semplificare la vita è usare le Group Policy e gli Administrative Templates per App-V per poter configurare tutte le opzioni del client, evitando di dover fare configurazioni manuali. Procuratevi quindi i Microsoft Application Virtualization Administrative Template (ADM Template).

Figura 8: Server di streaming e caricamento delle applicazioni

Terminata l'installazione del client, è possibile aggiornarlo utilizzando il Microsoft Application Virtualization 4.6 Service Pack 1.

Al termine dell'installazione i nostri utenti saranno in grado di effettuare il login remoto al nostro RDS Session Host usando il loro client preferito, da un qualsiasi dispositivo (PC, SmartPhone, Tablet, Ecc.).

In figura 9 è mostrato lo streaming ed il primo avvio di Excel 2010 virtualizzato ed eseguito sul Session Host durante una sessione remota. Per poter pubblicare un'applicazione, dopo averne fatto il sequencing, usando il server di streaming vi rimando al mio articolo App-V Distribuire applicazioni virtualizzate.

Figura 9: Streaming ed esecuzione di Excel 2010 virtualizzato

Approfondimenti:

Application Virtualization Whitepapers

App-V 4.6 for RDS whitepaper

Application Virtualization TechCenter

Windows Server 2008 RDS CALs and App-V licensing