System Center

Virtualizzazione delle applicazioni con Microsoft SoftGrid

Ahmer Sabri and Kedar Shah

 

Panoramica:

  • Vantaggi della virtualizzazione delle applicazioni
  • Panoramica sull'architettura SoftGrid
  • Trasmissione di pacchetti software

Il concetto di virtualizzazione del software, nelle varie forme, è stato introdotto negli anni 60. Tuttavia, il settore IT ha impiegato alcuni decenni prima di iniziare a comprendere tutte le potenzialità della virtualizzazione delle

applicazioni. Al giorno d'oggi, ce ne stiamo rendendo sempre più conto e abbiamo fatto dei progressi notevoli in merito.

Microsoft ha confermato l'importanza della virtualizzazione delle applicazioni con l'acquisizione di Softricity nel luglio 2006. Grazie a questa acquisizione, è nata Microsoft® SoftGrid, una soluzione per la virtualizzazione delle applicazioni. Con SoftGrid, le applicazioni vengono fornite da un centro dati o da un altro percorso di rete e vengono eseguite in locale su client remoti in un ambiente virtuale. Le applicazioni virtualizzate vengono eseguite in silo e funzionano indipendentemente dal sistema operativo e dalle altre applicazioni sul desktop locale.

I vantaggi derivanti dalla virtualizzazione delle applicazioni con SoftGrid sono davvero tanti, forse troppi per essere trattati esaurientemente in questa sede. Tuttavia, di seguito sono indicati alcuni dei vantaggi più facilmente riconoscibili:

Semplificazione del test di compatibilità e regressione Eseguendo parallelamente più versioni della stessa applicazione su un unico computer senza conflitti, è possibile ridurre in modo drastico la complessità, i tempi e i costi associati al test e alla distribuzione di nuove applicazioni (vedere la figura 1).

Figura 1 Semplificazione della distribuzione delle applicazioni con SoftGrid

Figura 1** Semplificazione della distribuzione delle applicazioni con SoftGrid **(Fare clic sull'immagine per ingrandirla)

Semplificazione della gestione dei sistemi L'IT esercita grande controllo sull'ambiente in cui vengono eseguite queste applicazioni e ciò semplifica la gestione di un ambiente desktop ideale.

Riduzione del numero di chiamate al supporto tecnico Con ambienti desktop gestiti in modo più efficace e un minor numero di confitti (grazie alle applicazioni virtualizzate in esecuzione in un silo controllato), gli utenti hanno bisogno di effettuare meno chiamate al supporto tecnico.

Ottimizzazione della protezione del desktop Le applicazioni non vengono mai installate nel sistema operativo, migliorando in tal modo la protezione generale del sistema. Le applicazioni vengono fornite solo agli utenti autorizzati, eliminando il rischio di un accesso non autorizzato. Inoltre, per la maggior parte delle applicazioni viene eseguito il rendering in un contesto di protezione standard.

Mobilità Le preferenze dell'utente (il profilo e altre impostazioni) vengono archiviate sulla rete, permettendo agli utenti di accedere alle loro applicazioni e preferenze, nonché ai diversi controlli, da un PC qualsiasi.

Ottimizzazione della tolleranza di errore e del ripristino di emergenza Le applicazioni vengono trasformate in file di dati che possono essere archiviati e replicati come qualsiasi altro tipo di dati aziendali. Le applicazioni e i relativi aggiornamenti possono essere sincronizzati automaticamente tra siti attivi e BCP (Bulk Copy Program) utilizzando strumenti di terze parti e abilitando l'accesso istantaneo alle applicazioni in caso di situazioni di emergenza.

In definitiva, queste caratteristiche semplificano l'amministrazione del sistema, riducono i costi e consentono alle organizzazioni di adottare le nuove tecnologie in modo più rapido e affidabile. Verrà ora esaminato attentamente il funzionamento di SoftGrid.

Come vengono fornite le applicazioni virtualizzate

L'architettura SoftGrid è costituita da numerosi componenti che funzionano in modo complementare. Tra questi componenti sono inclusi l'archivio dati, il server applicazioni virtuali, il sequencer, la console di gestione, il servizio Web di gestione e l'applicazione client, che funzionano congiuntamente ai componenti standard dell'infrastruttura, ad esempio Active Directory® (vedere la figura 2). Verrà ora fornita una panoramica sull'architettura SoftGrid e verrà illustrato il funzionamento congiunto dei diversi componenti.

Figura 2 Architettura SoftGrid globale

Figura 2** Architettura SoftGrid globale **(Fare clic sull'immagine per ingrandirla)

L'archivio dati di SoftGrid agisce come un repository centrale per l'intero ambiente di virtualizzazione. Installato sia su SQL Server™ (versione 2000 o 2005) che su Microsoft SQL Server Desktop Engine (MSDE), l'archivio dati mantiene record, applicazioni, configurazione, dati relativi al Contratto di licenza, informazioni di reporting e informazioni di registrazione.

Le applicazioni virtualizzate vengono fornite al computer dell'utente e visualizzate in un client. SoftGrid offre due tipi di approccio, ovvero Microsoft Application Virtualization for Desktops e Microsoft SoftGrid Application Virtualization for Terminal Services. Ogni approccio offre specifici vantaggi, pur presentando dei punti deboli a livello di prestazioni, che verranno trattati nella sezione Installazione del client.

Uno dei componenti cruciali dell'ambiente SoftGrid è SoftGrid Virtual Application Server (SVAS). Tale componente viene utilizzato per gestire le richieste degli utenti relative alle applicazioni e trasmettere i dati delle applicazioni su specifica richiesta degli utenti.

SVAS viene eseguito come servizio Windows® denominato Microsoft System Center Virtual Application Server e presenta requisiti hardware molto modesti. Per impostazione predefinita, tutti i dati delle applicazioni (che verranno trattati a breve) si trovano nella directory \Programmi\Softricity\SoftGrid Server\content.

Generalmente, l'esperienza con SoftGrid inizia quando un utente accede a una workstation. SoftGrid Client acquisisce il token di protezione dell'utente e l'appartenenza al gruppo di dominio e passa queste informazioni a SVAS tramite un canale sicuro. SVAS assegna l'accesso utente alle applicazioni, se nella directory dell'appartenenza ai gruppi dell'applicazione esiste l'ID di protezione (SID) dell'utente, e per ciascuna applicazione viene inserito un collegamento sul desktop dell'utente (o in qualsiasi altra posizione definita dall'amministratore, ad esempio il menu Start, la barra degli strumenti Avvio veloce e così via).

La consegna effettiva di un'applicazione viene generalmente avviata quando un utente fa clic sull'icona del collegamento, associata a un file .osd (Open Software Description). Si tratta di un file XML che contiene informazioni sul pacchetto di applicazioni. Il client recupera il nome del server applicazioni virtuale dal file .osd e avvia una connessione. A questo punto, SVAS autentica il client e contatta l'archivio dati per determinare la conformità della licenza. Una volta autenticato l'utente, SVAS trasmette i dati delle applicazioni al client sotto forma di blocchi (per impostazione predefinita, ogni blocco di dati è di 32 KB, ma è possibile configurare le dimensioni desiderate al momento dell'organizzazione della sequenza).

Ricordare che al client non viene trasmessa l'intera applicazione. Al contrario, SoftGrid trasmette solo la parte necessaria per avviare l'applicazione sul client. In genere, è una parte che va dal 20% al 40% del codice totale, anche se la percentuale varia a seconda dell'applicazione. Ad esempio, per poter essere avviata, l'applicazione Microsoft Word 2003 richiede che al client vengano trasmessi solo 15 MB di dati e non l'intero pacchetto di 800 MB. Se l'utente accede a una parte dell'applicazione che non è già nella cache del client, al client verrà trasmesso il codice necessario. Per evitare la situazione tipica dei lunedì mattina, quando troppe richieste simultanee intasano la rete, le organizzazioni possono decidere di effettuare il pre-cache delle applicazioni comuni sui desktop degli utenti.

Active Directory

SoftGrid utilizza i gruppi e gli utenti dei domini Active Directory (o Windows NT® 4.0) per effettuare il provisioning delle applicazioni agli utenti autorizzati. In un ambiente multidominio, è possibile effettuare il provisioning delle applicazioni agli utenti utilizzando le appartenenze ai gruppi appropriate (SoftGrid supporta le appartenenze ai gruppi locali, globali ed universali) e le relazioni di trust con il dominio in cui è installato SVAS.

Al momento dell'installazione di SVAS, viene richiesto di specificare diversi gruppi e account del servizio, che semplificano l'integrazione con Active Directory e che verranno utilizzati in un secondo momento a scopi amministrativi. Pertanto, è necessario creare tre gruppi e account prima dell'installazione: un account del browser di SoftGrid, un gruppo Administrators di SoftGrid un gruppo Utenti di SoftGrid.

L'account del browser di SoftGrid è responsabile dell'esplorazione di Active Directory e, quindi, richiede i diritti di sola lettura per tutti i domini di Active Directory in un ambiente multidominio. Il gruppo Administrators di SoftGrid viene utilizzato per concedere l'accesso amministrativo alla console di gestione di SoftGrid e al servizio Web di gestione di SoftGrid. Infine, il gruppo Utenti di SoftGrid viene utilizzato per assegnare i criteri dei provider predefiniti, che consentono di concedere a tutti gli utenti del dominio l'accesso alle applicazioni pubblicate tramite la console di gestione.

Ambiente virtuale

SystemGuard è il componente di base di SoftGrid Client, che viene eseguito sul desktop locale. SystemGuard deve garantire un ambiente virtuale completamente operativo per l'esecuzione in isolamento delle applicazioni. In questo ambiente di silo sono inclusi i componenti del sistema operativo virtualizzato (Registro di sistema, file, caratteri, file INI, file COM, servizi incorporati e variabili di ambiente), necessari per il corretto funzionamento dell'applicazione (vedere la figura 3).

Figura 3 Ambiente virtualizzato per l'esecuzione in isolamento dell'applicazione

Figura 3** Ambiente virtualizzato per l'esecuzione in isolamento dell'applicazione **

SystemGuard crea le chiavi virtualizzate del Registro di sistema per ciascuna applicazione eseguita. Queste chiavi non sono accessibili da parte delle altre applicazioni in esecuzione sul sistema operativo locale e non risultano visibili agli strumenti di modifica del Registro di sistema come regedit. Le letture e le scritture del Registro di sistema vengono reindirizzate alle chiavi virtuali come necessario. Tuttavia, ricordare che le applicazioni virtualizzate possono accedere al Registro di sistema locale per reperire le informazioni non contenute nelle chiavi virtualizzate del Registro di sistema.

In modo analogo, SystemGuard crea un file system virtualizzato verso il quale reindirizza la maggioranza delle letture e scritture dell'applicazione. Questo file system virtualizzato è isolato e fornisce l'ambiente necessario per eseguire più versioni della stessa applicazione su un unico client.

Tuttavia, è necessario ricordare che mentre le applicazioni risultano isolate dal sistema operativo locale, l'utente continua a disporre dell'accesso a tutti i servizi locali, quali la stampa, le funzioni taglia e incolla e le unità di rete.

Creazione di un pacchetto di applicazioni

A questo punto, ci si potrebbe chiedere in che modo è possibile creare un ambiente indipendente completamente operativo in cui eseguire l'applicazione virtualizzata. A tale scopo, si utilizzerà SoftGrid Sequencer. Questo strumento basato su procedure guidate consente di riunire le applicazioni in un pacchetto all'interno di un ambiente virtuale da consegnare al client per l'esecuzione.

L'organizzazione in sequenza prevede tre passaggi: installazione, configurazione e test ed esecuzione. Nel primo passaggio, l'installazione, SoftGrid Sequencer utilizza un processo di controllo attivo per monitorare l'installazione dell'applicazione e valutarne le dipendenze. Una volta completato, la fase di configurazione e test viene utilizzata per apportare eventuali modifiche alla configurazione predefinita con il fine di garantire le prestazioni desiderate per la prima esecuzione. Infine, durante la fase di esecuzione, SoftGrid Sequencer compila ed ordina il blocco di codice necessario per avviare l'applicazione. Feature Block 1 (FB1) è il codice essenziale richiesto per avviare l'applicazione e consente di eseguire l'applicazione senza dover scaricare l'intero pacchetto.

Una volta che l'applicazione è stata organizzata in sequenza, vengono creati quattro file: un file dell'applicazione abilitato per la virtualizzazione (.sft), un file Open Software Description (.osd), un file icona (.ico) e un file di progetto (.sprj). Questi file vengono quindi copiati nella directory content di SVAS. In alternativa, un amministratore può pubblicare i file .ico e .osd sui client utilizzando un server HTTP.

Mentre SoftGrid effettua il provisioning di applicazioni da eseguire in modo indipendente in ambienti isolati, SystemGuard permette l'interazione delle applicazioni. È necessario esaminare attentamente le eventuali dipendenze tra un'applicazione e l'altra e organizzare le applicazioni in sequenza nel caso in cui vi sia interazione tra le stesse. Generalmente, questo processo è noto come adattamento. Ricordare che non tutte le applicazioni che richiedono l'interazione possono essere organizzate in sequenza. L'adattamento è un processo abbastanza complicato e dovrebbe essere eseguito solo dopo aver esaminato le dipendenze con attenzione, dato che a volte l'organizzazione in sequenza di due o più applicazioni compromette la virtualizzazione.

Semplificazione dell'amministrazione

La console di gestione di SoftGrid fornisce un unico strumento per eseguire tutte le attività amministrative. Per impostazione predefinita, la console di gestione è installata su SVAS, ma può essere installata su qualsiasi altro server o workstation. È uno snap-in MMC 3.0 e utilizza il servizio Web di gestione di SoftGrid per stabilire la connessione all'archivio dati di SoftGrid (vedere la figura 4), fornendo agli amministratori autorizzati l'accesso completo ai dati archiviati nel database a scopi gestionali. La connessione tra la console di gestione e il servizio Web di gestione di SoftGrid utilizza la comunicazione remota di Microsoft .NET Framework, rendendo possibile l'installazione della console di gestione e del servizio Web sullo stesso server o su server diversi. La figura 2 illustra come queste diverse parti sono combinate e forniscono l'accesso all'intera implementazione di SoftGrid. Ricordare che le organizzazioni più grandi dovrebbero eseguire più istanze del servizio Web di gestione di SoftGrid.

Figura 4 Il servizio Web di gestione di SoftGrid fornisce la connessione all'archivio dati

Figura 4** Il servizio Web di gestione di SoftGrid fornisce la connessione all'archivio dati **(Fare clic sull'immagine per ingrandirla)

Il servizio Web di gestione di SoftGrid viene eseguito su Windows 2000 o versione successiva con IIS 5.0 o versione successiva. È richiesto .NET Framework 2.0 o versione successiva, oltre a Microsoft Data Access Components (MDAC) 2.7 o versione successiva per la connettività all'archivio dati.

La console di gestione fornisce un unico strumento amministrativo dal quale le applicazioni possono essere pubblicate, terminate e così via. Le attività sono organizzate in nove categorie principali o contenitori, come illustrato nel menu della figura 5.

Figura 5 Gestione di SoftGrid da un'unica console di gestione

Figura 5** Gestione di SoftGrid da un'unica console di gestione **(Fare clic sull'immagine per ingrandirla)

Di seguito è riportato un resoconto veloce dei tipi di attività di gestione disponibili in ogni contenitore. Il contenitore delle applicazioni consente all'amministratore di effettuare operazioni quali l'importazione dei file .sprj per pubblicare applicazioni più recenti, specificare la posizione del file .osd, rimuovere le applicazioni e così via. Per impostazione predefinita, questo contenitore include un pacchetto pubblicato da utilizzare per verificare la connettività del client al server applicazioni.

Quando si organizzano le applicazioni in sequenza, viene creata un'associazione di tipo di file. Una volta importato il pacchetto, le associazioni di tipo di file diventano disponibili nella console di gestione. Il contenitore delle associazioni di tipo file fornisce una posizione unica dalla quale gli amministratori possono modificare tutte le associazioni di tipo file.

Il contenitore dei pacchetti controlla le versioni dei pacchetti per gli aggiornamenti attivi; questi aggiornamenti delle applicazioni possono essere eseguiti senza la disconnessione dell'utente o l'arresto del server. L'amministratore può anche eliminare un pacchetto dalla console di gestione utilizzando questo contenitore. Ricordare che l'eliminazione di un pacchetto dal contenitore dei pacchetti rimuoverà il file .sft dalla console di gestione e dall'archivio dati, ma non lo eliminerà dalla directory content sul server applicazioni.

Come già menzionato, quando un utente avvia un'applicazione, SoftGrid Client verifica la disponibilità della licenza e procede all'avvio solo in presenza di una licenza in un archivio dati. Il contenitore delle licenze delle applicazioni è la posizione da cui gli amministratori possono associare le licenze alle applicazioni (sono supportate situazioni con numero illimitato di licenze, più licenze contemporanee e licenze denominate).

Il contenitore dei gruppi di server contiene un raggruppamento logico di server di virtualizzazione delle applicazioni e informazioni di registrazione. Gli amministratori possono aggiungere nuovi gruppi di server o modificare le proprietà (ad esempio, le porte utilizzate per la comunicazione o la memoria e i processi allocati) di un gruppo esistente.

Nel contenitore dei criteri dei fornitori, l'amministratore può creare un gruppo di regole denominate criteri. I criteri dei fornitori personalizzati vengono utilizzati per concedere agli utenti l'accesso a numerose applicazioni in presenza di diversi gruppi di condizioni. È possibile utilizzare il contenitore delle autorità account per specificare un dominio e le credenziali da utilizzare quando SoftGrid effettua l'accesso per leggere le informazioni incluse nella directory del dominio. Il contenitore degli amministratori di SoftGrid contiene i gruppi di utenti responsabili dell'amministrazione di SoftGrid. In questo contenitore, gli amministratori possono aggiungere o rimuovere gruppi per controllare le autorizzazioni di accesso.

Ultimamente, il contenitore dei report consente agli amministratori di generare report per verificare l'integrità generale dell'ambiente SoftGrid. Sono disponibili i report relativi all'utilizzo dell'applicazione, al controllo del software, all'utilizzo del sistema, all'attività di utenti/gruppi e agli errori del sistema.

Installazione del client

SoftGrid Client viene installato sul sistema operativo del computer che verrà utilizzato dall'utente per accedere all'applicazione virtualizzata. Come già menzionato, sono supportati due tipi di client: Microsoft SoftGrid for Desktops o Microsoft SoftGrid for Terminal Services. Ogni approccio offre specifici vantaggi, pur presentando dei punti deboli a livello di prestazioni, relativi alla latenza di rete, al consolidamento della server farm e alla semplicità di gestione.

In un'implementazione desktop, le applicazioni sono disponibili in locale ed esiste una piccola dipendenza relativa alla disponibilità della rete e alla produttività. Quest'approccio è consigliato, ad esempio, per le organizzazioni che hanno succursali con un'infrastruttura IT limitata. Servizi terminal è l'opzione ideale per un'organizzazione che abbia già implementato i server terminal. Questo scenario utilizza in modo efficiente hardware e software, riducendo drasticamente il numero di server necessari. Tra l'altro, abilita un ambiente caratterizzato da assoluta mobilità. In genere, le grandi organizzazioni utilizzano una combinazione di infrastruttura desktop e server terminal. L'installazione e la configurazione dei diversi componenti sono simili per entrambi gli approcci quando si installa una distribuzione di SoftGrid.

Il client può essere distribuito utilizzando un metodo standard, ad esempio un'installazione manuale o una distribuzione automatizzata, tramite uno strumento quale Systems Management Server 2003. La figura 6 riporta i requisiti minimi per hardware e software necessari per l'installazione dei client.

Figure 6 Requisiti di sistema per i client di SoftGrid

Client Processore Memoria Spazio su disco Sistema operativo
Microsoft SoftGrid for Terminal Services PIII 850 MHz 1 GB di RAM (minimo 256 MB, a seconda del numero di utenti e applicazioni) 12 MB per l'installazione e 4096 MB per la cache • Windows 2000 Server o Advanced Server con Servizi terminal abilitato
• Windows Server 2003 con Servizi terminal abilitato
Microsoft SoftGrid for Desktops PIII 600 MHz 128 MB 12 MB per l'installazione e 2048 MB per la cache • Windows 2000 Professional o Windows XP
• Windows 2000 Server o Windows Server 2003

Sebbene l'installazione del client si riveli semplice, è necessario fornire alcune proprietà durante questo processo, ad esempio la posizione dell'installazione, le dimensioni della cache, la lettera da utilizzare per l'unità virtuale, la posizione dei file di dati delle applicazioni e così via. Una volta installato il client, alcune impostazioni aggiuntive possono essere specificate o modificate utilizzando la console di gestione del client.

Per avviare la console di gestione di client, andare al Pannello di controllo ed avviare SoftGrid Client Management da Strumenti di amministrazione. È possibile scegliere di connettersi al computer locale o remoto.

La figura 7 mostra la console di gestione del client, costituita da un contenitore principale e tre contenitore figlio. La scheda SoftGrid on localhost root consente di specificare la maggior parte dei parametri operativi, tra cui la directory di registrazione, la directory dei dati delle applicazioni, le impostazioni per la visualizzazione e l'esecuzione del client, la frequenza di visualizzazione dei messaggi informativi e di errore, le opzioni relative alla rete e alla connettività quando si esegue al disconnessione dal server di SoftGrid e le autorizzazioni.

Figura 7 Console di gestione del client

Figura 7** Console di gestione del client **

È possibile visualizzare e modificare le applicazioni nel contenitore delle applicazioni. Questo contenitore fornisce informazioni di stato relative all'applicazione locale, ad esempio se l'applicazione è in esecuzione, se è bloccata nella cache e quale percentuale dell'applicazione (file .sft) è stata trasmessa nella cache locale.

Il contenitore dell'associazione del tipo di file consente di visualizzare, modificare e rimuovere un'associazione di tipo di file. Per ulteriori dettagli, fare riferimento alle informazioni relative all'associazione del tipo di file nella sezione precedente.

Il contenitore della configurazione desktop consente di specificare, modificare e aggiornare manualmente le impostazioni del server applicazioni specificato durante l'installazione. Consente inoltre di selezionare se l'aggiornamento del client deve avvenire al momento dell'accesso dell'utente (questa è l'impostazione predefinita) e la lunghezza dell'intervallo di aggiornamento automatico.

Conclusioni

La virtualizzazione delle applicazioni con Microsoft SoftGrid fornisce un metodo efficace per ottimizzare l'affidabilità del sistema e semplificare la gestione. Sebbene implichi il funzionamento congiunto di una serie di parti, l'architettura si adatta perfettamente all'infrastruttura IT.

Microsoft SoftGrid for Desktops è disponibile per i clienti di Software Assurance come parte del Microsoft Desktop Optimization Pack. Per ulteriori informazioni, vedere windowsvista.com/optimizeddesktop. Microsoft SoftGrid for Terminal Services è disponibile come licenza CAL (Client Access License) autonoma per i clienti aziendali nei contratti multilicenza Microsoft. Per scaricare una versione di prova, accedere all'account dei contratti multilicenza presso https://licensing.microsoft.com e selezionare l'opzione relativa al Desktop Optimization Pack per SA nella sezione dei download dei prodotti.

Ahmer Sabri è uno specialista tecnico presso il gruppo dei servizi finanziari in Microsoft. È possibile contattarlo all'indirizzo ahmers@microsoft.com.

Kedar Shah è uno specialista tecnico presso il gruppo dei servizi finanziari in Microsoft. È possibile contattarlo all'indirizzo kedars@microsoft.com.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.