Microsoft Application Virtualization (App-V) permette di distribuire e gestire le applicazioni sui client della nostra rete senza la necessità di doverle installare localmente. In questo modo è possibile ridurre il numero delle operazioni legate proprio alla gestione delle applicazioni, al testing, agli aggiornamenti e al supporto help-desk. Le applicazioni girano in un ambiente virtualizzato che si integra con il sistema operativo, senza "sporcarlo", e permettendo addirittura di far girare versioni diverse dello stesso software contemporaneamente, nonostante possano essere incompatibili.
I componenti chiave di un'infrastruttura basata su Application Virtualization 4.5 sono quelli mostrati in figura 1.
Figura 1 - Componenti dell'infrastruttura di App-V
In particolar modo l'elemento di base per la distribuzione delle applicazioni è il System Center Application Virtualization Management Server, che usa come client sia Application Virtualization for Desktops che Application Virtualization for Terminal Services, come mostrato in figura 2.
Figura 2 - Elementi di base dell'infrastruttura App-V
Le applicazioni vengono poi trasformate in virtuale grazie all' Application Virtualization Sequencer, che installato su una macchina a parte, è il programma che si occupa durante l'installazione delle applicazioni di registrare tutti i file, le dll, le configurazioni e i servizi necessari al corretto funzionamento dell'applicazione, per poterle poi trasformare in una serie di file da distribuire ai client attraverso il System Center Application Virtualization Management Server, come mostrato in figura 3.
Figura 3 - Distribuzione di un'applicazione virtualizzata
Quando installiamo un'applicazione su un computer diverse modifiche vengono apportate al sistema operativo tramite l'aggiunta di cartelle, di chiavi di registro, di servizi e configurazioni varie. Se invece usiamo un'applicazione virtualizzata abbiamo bisogno di installare solo l'Application Virtualization Client sul computer e questo ci permette di poter creare più facilmente le immagini dei sistemi operativi da distribuire.
Supponiamo che sul nostro computer abbiamo installato Microsoft Office 2007. Durante l'installazione sono state effettuate diverse modifiche al nostro computer, come ad esempio la scrittura di diverse chiavi di registro, come mostrato in figura 4.
Figura 4 - Chiavi di registro inserite da Microsoft Office 2007
L'installazione di Office 2007 rende impossibile l'utilizzo di Office 2003 sulla stessa macchina, in quanto ci sono noti problemi di incompatibilità. Se però distribuiamo Office 2003 attraverso Application Virtualization possiamo facilmente superare questo ostacolo. Dopo aver sequenziato Microsoft Office 2003 su una postazione di Sequencing (il più possibile simile alla postazione di destinazione), trasferiamo i file in una cartella del System Center Application Virtualization Management Server e abilitiamo la distribuzione del software, come mostrato in figura 5.
Figura 5 - Abilitazione alla distribuzione di Microsoft Office 2003
A questo punto sarà sufficiente scegliere dove pubblicare il collegamento all'applicazione (sul desktop, nella barra di avvio veloce, in una cartella del menù Avvio, ecc.) e decidere a quale gruppo di Active Directory deve essere disponibile l'applicazione.
Quando l'utente effettuerà il login sul client, vedrà apparire i collegamenti all'applicazione e dopo aver deciso di eseguirla, l'applicazione verrà trasferita in streaming dal System Center Application Virtualization Management Server all' Application Virtualization for Desktops Client. Dopo aver completato il trasferimento l'applicazione viene eseguita in un ambiente virtuale, chiamato SystemGuard, che utilizzerà il registro di sistema della macchina in sola lettura ed andrà ad inserire tutte le informazioni collezionate in fase di sequencing. In figura 6 è mostrato in che modo il SystemGuard esegue l'applicazione virtualizzata e la rende visibile al sistema operativo:
Figura 6 - Esecuzione di un'applicazione virtualizzata in SystemGuard
Il risultato sarà quello di avere entrambe le applicazioni sullo stesso computer, anche aperte contemporaneamente, senza che ci sia nessun tipo di incompatibilità. Questo perché Office 2003 virtualizzato è eseguito nel proprio ambiente virtuale e non interferisce con le applicazioni installate localmente sul pc. Sul computer non vengono nemmeno create le cartelle di installazione del programma o aggiunte delle chiavi di registro. Se l'utente vuole personalizzare l'aspetto dei propri programmi le modifiche verranno registrare nel proprio profilo e saranno successivamente disponibili alla riapertura del programma. In figura 7 possiamo vedere il risultato finale della nostra operazione: Office 2003 e Office 2007 aperti contemporaneamente su un computer con Windows Vista:
Figura 7 - Apertura contemporanea di Office 2003 e Office 2007 sulla stessa macchina
Conclusioni
Questa panoramica su Application Virtualization offre lo spunto per poter capire la differenza tra un'applicazione installata ed una virtualizzata. La semplicità di utilizzo e l'economicità sono sicuramente un punto di forza di questa nuova tendenza nella gestione delle infrastrutture IT, che porta all'immediata risoluzione di una cospicua percentuale di problemi riscontrabili sulle postazioni utente, con l'aumento della retro-compatibilità verso applicazioni più datate e con la possibilità di eseguire diverse versioni dello stesso programma contemporaneamente e senza problemi. Fantastico!
Links
http://www.microsoft.com/windows/products/windowsvista/enterprise/default.mspx