Quando si parla di virtualizzazione ci si riferisce quasi sempre alla virtualizzazione dei server e, per estensione, dei data center. La cosa è del tutto normale: le soluzioni di server virtualization sono al centro dell’attenzione delle imprese e dei Cio, avendo dimostrato di poter coniugare maggiore efficienza e minori costi in una quantità di progetti di successo. Un’attenzione che dalle grandi organizzazioni si sta allargando alle Pmi, che hanno capito come un progetto di consolidamento e virtualizzazione server si possa fare anche con investimenti ridotti (riutilizzando l’hardware esistente, purché non sia troppo obsoleto) e come possa dare rapidamente risultati concreti sul fronte della flessibilità delle operazioni a supporto del business, della sicurezza di tali operazioni, dello sviluppo di nuovi servizi e applicazioni e, non ultimo, del costo e dell’efficienza della funzione It.
Ma la virtualizzazione non è solo server. I suo concetto di fondo, ossia il disaccoppiamento del software di sistema e applicativo dall’hardware che vi sottende, si applica infatti anche al mondo del client computing, e cioè a tutte le infinite attività che gli utenti svolgono usando risorse locali. Tipicamente Pc, ma anche laptop e notebook, sempre più diffusi in molte imprese come dispositivo client d’elezione. Le tecnologie di client virtualization non sono oggi molto diffuse in azienda. Secondo stime Gartner di inizio 2009 rappresentano solo l’11% del mercato del software di virtualizzazione e meno dell’1% del mercato dei Pc professionali, cioè dell’hardware al quale sono indirizzate. Ma sono in rapidissima crescita. Sempre secondo Gartner, tra cinque anni, entro il 2014, il 15% di tutti i desktop professionali sarà virtualizzato, ed il picco di questa migrazione si avrà proprio tra il 2010 e 2011. Conviene quindi essere preparati.
Per meglio comprendere quali siano le promesse della virtualizzazione client e come le tecnologie correlate vi possano rispondere conviene, prima, fare una breve riflessione sui problemi che il client computing rappresenta per l’It aziendale. Problemi che nascono in buona sostanza dalla necessità di far convivere due mondi che sono intrinsecamente e crescentemente conflittuali. Da un lato abbiamo infatti degli utenti che sono sempre più esperti nell’uso di tecnologie che sono entrate a far parte della loro vita quotidiana e si aspettano quindi (soprattutto quando il client è un notebook che si portano appresso a casa e in viaggio) di poter fare sul lavoro ciò che sanno e possono fare nel privato. Dall’altro lato abbiamo una funzione It che deve fronteggiare crescenti esigenze di risposta al business con budget che nel migliore dei casi sono rimasti invariati.
Per garantire l’availability e le prestazioni delle applicazioni aziendali così come richiesto dagli utenti, con la sicurezza e nella compliance parimenti richiesta, la cosa migliore per l’It sarebbe che il mondo client restasse fermo, ‘congelato’ in una struttura di configurazioni standardizzate in modo da essere una costante e non una variabile del problema. Ma ciò non è possibile. Opporsi con regole e paletti ad un’evoluzione spinta dall’utenza (come, per esempio, la crescente richiesta di usare sul lavoro Pda, smartphone e altri dispositivi mobili sofisticati) significa solamente creare del malcontento e, soprattutto, diffondere l’idea di una funzione It che frena lo sviluppo dell’impresa. Che è la cosa peggiore che possa capitare. Per uscire da questa ‘impasse’ occorre cambiare il modello stesso del client computing, facendo in modo che gli asset e le funzioni dell’It aziendale possano coesistere con gli asset digitali preferiti dagli utenti e mantenendo, nel contempo, il pieno controllo delle risorse, una condizione ineludibile se si vuole che i confini dell’attività, e quindi della responsabilità, dell’It restino chiari e definiti. La client virtualization promette tutto questo; e, come vedremo, molto di più.
Come sappiamo, l’architettura standard di un Pc è data da un insieme di strati logicamente sovrapposti dei quali i tre principali sono l’hardware, il sistema operativo e le applicazioni. A causa delle reciproche interazioni tra questi elementi la configurazione d’ogni strato dipende strettamente da quella dello strato sottostante: il software applicativo dipende dal software di sistema e questo dal ‘ferro’. Ed è da tale interdipendenza che derivano gran parte dei problemi e della complessità di gestione di un parco Pc aziendale.
Agendo in modo analogo a quanto avviene nel mondo server, le soluzioni di client virtualization tagliano questi legami inserendo degli strati software a due livelli intermedi: tra l’hardware e il sistema operativo, nel qual caso si parla di desktop virtualization; e tra il sistema operativo e le applicazioni, nel qual caso di parla di application virtualization.
Secondo Gartner, che ha dedicato alla virtualizzazione delle piattaforme client specifiche analisi, le soluzioni di application virtualization, dove lo strato di virtualizzazione fa da ‘interprete’ tra il software di sistema e gli applicativi, ai quali presenta un’interfaccia standard che ne facilita l’installazione, stanno riscuotendo un notevole interesse per una serie di fattori. In primo luogo sono più immediatamente implementabili e risolvono i problemi correnti di gestione di un parco macchine relativi alla sostituzione o all’upgrading dell’hardware. Poi l’isolamento dell’applicazione dall’ambiente operativo impedisce che un attacco mirato a una data applicazione possa propagarsi alle altre, migliorando quindi la sicurezza dei dati. Non possono però risolvere i problemi di convivenza fra asset aziendali e personali di cui si è detto, e nel lungo termine l’impatto che vanno ad avere sulla infrastruttura It (lato client) dell’azienda è molto meno significativo che non quello della desktop virtualization. Quest’ultima infatti realizza una separazione totale tra la macchina fisica (hardware) e la macchina virtuale (VM), la quale comprende in sé l’applicazione, i dati ad essa associati e il sistema operativo. Di conseguenza, dato che la VM non è altro che un file che può essere registrato sia sul Pc dell’utente sia altrove, la desktop virtualization è la tecnologia che, permettendo agli utenti di definire sullo stesso dispositivo fisico più ambienti di elaborazione tra loro isolati, può realmente rendere il personal computing più gestibile, flessibile e sicuro. Ed è sulle sue modalità d’implementazione in una realtà aziendale che ci concentreremo nell’articolo a seguire.