Virtual Appliance: soluzioni pronte all’uso

di Andrea Chiarelli

23 Aprile 2009 09:00

logo PMI+ logo PMI+
Che cos'è una Virtual Appliance e quali sono i vantaggi principali sia rispetto alla modalità tradizionale di fornitura del software sia rispetto alla modalità Saas

Uno dei principali obiettivi dei produttori di software è stato da sempre la possibilità di mettere l’utente immediatamente in grado di utilizzare la loro applicazione senza perdersi in dettagli tecnici legati alla installazione e configurazione. Questo è particolarmente vero nel caso di soluzioni software di una certa complessità. Seguendo questo principio hanno avuto origine i programmi di installazione più o meno evoluti, i wizard di configurazione, fino ad arrivare alle soluzioni “estreme” di fornitura del software in modalità ASP (Application Service Provider) o Saas (Software As A Service), in cui le fasi di installazione e configurazione semplicemente non esistono per l’utente finale.

Tuttavia non sempre le soluzioni ASP o Saas sono applicabili o comunque desiderabili da parte degli utenti. Una alternativa valida a questi approcci è l’adozione delle Virtual Appliance, soluzioni software pronte all’uso e basate sulle tecnologie di virtualizzazione.

Virtual Appliance e macchine virtuali

Le tecnologie di virtualizzazione dell’hardware hanno ormai raggiunto un livello di affidabilità e una diffusione tale da renderle disponibili ed utilizzabili da parte della maggior parte degli utenti. Creare una macchina virtuale, cioè un insieme di informazioni che rappresentano i componenti hardware di un computer (CPU, RAM, hard disk, ecc.), è ormai un’attività abbastanza semplice entro determinati limiti.

Inoltre, diversi produttori di software di virtualizzazione mettono a disposizione pacchetti entry level gratuiti per iniziare a prendere confidenza con questa tecnologia non proprio nuovissima ma sicuramente interessante per le implicazioni pratiche.

Uno dei vantaggi di una macchina virtuale rispetto ad una fisica consiste nel fatto che, non essendo altro che un insieme di file, può essere spostata facilmente da un computer ad un altro senza pregiudicarne il funzionamento né i dati e programmi in essa installati. Questo aspetto è la caratteristica fondamentale che rende apprezzabili le Virtual Appliance.

Una Virtual Appliance è, infatti, una soluzione software installata e pre-configurata su una o più macchine virtuali e pronta per essere utilizzata da parte dell’utente. Da un punto di vista concettuale, una Virtual Appliance non è molto diversa da un elettrodomestico o un altro dispositivo di uso comune progettato per svolgere un compito specifico, come può essere ad esempio una lavatrice, un forno a microonde, un timer per la programmazione della caldaia, ecc. Si tratta di oggetti la cui installazione e utilizzo non richiede competenze tecniche specifiche. Questo è anche l’obiettivo delle Virtual Appliance: essere pronte all’uso senza la necessità di competenze tecniche specifiche per l’installazione e la configurazione. In altre parole, soluzioni software chiavi in mano.

Soluzione software pronta all’uso

Per utilizzare una Virtual Appliance è sufficiente acquisire l’insieme dei file che formano la specifica macchina virtuale ed eseguirla all’interno dell’ambiente di virtualizzazione per cui è stata progettata. Nella maggior parte dei casi, il primo avvio di una Virtual Appliance richiede un intervento minimo di configurazione per adattarla alle caratteristiche della propria rete locale. Il resto della eventuale configurazione e/o personalizzazione del software viene in genere effettuato tramite una intuitiva interfaccia Web. Fatti questi interventi iniziali l’applicazione è realmente pronta all’uso.

L’ambito di applicazione di una Virtual Appliance è praticamente infinito: esistono Virtual Appliance che mettono a disposizione funzionalità di web server o di posta elettronica, di content management o di database management, di firewall o di VPN.

Ed è possibile scaricarle da numerosi repository online: Virtual Appliance Marketplace, rBuilder Online, VirtualAppliance.net, JumpBox, solo per citarne qualcuno.

Virtual Appliance e software tradizionale

I vantaggi dell’adozione di una Virtual Appliance rispetto all’adozione di un software secondo le modalità tradizionali sono evidenti:

  • nessuna necessità di installazione del software né di librerie o pacchetti correlati
  • nessuna necessità di configurazioni complesse per far interagire le varie componenti del software
  • nessuna necessità di test di integrazione e nessun problema di conflitto con risorse hardware o software pre-esistenti

Questo si traduce in un significativo risparmio di tempo nella messa in opera dell’applicazione. Inoltre non sono richieste competenze tecniche specifiche altrimenti necessarie per installare e configurare l’applicazione ed eventuali pacchetti software di base o correlati.

A questi vantaggi si aggiungono naturalmente i vantaggi intrinseci delle tecnologie di virtualizzazione. tra cui:

  • indipendenza dall’hardware
  • scalabilità delle risorse hardware
  • portabilità dell’applicazione da una macchina ad un’altra
  • disaster recovery semplificato

Tutte caratteristiche che rendono le Virtual Appliance competitive rispetto alla distribuzione del software secondo i metodi tradizionali.

Virtual Appliance e Saas

Una delle alternative più recenti alla distribuzione del software è il suo utilizzo come servizio, secondo il modello Software As A Service (Saas). Si tratta in realtà di una forma di distribuzione delle funzionalità più che del software vero e proprio ed offre indubbiamente diversi vantaggi per l’utente finale, alcuni dei quali analoghi a quelli offerti dall’adozione di una Virtual Appliance. Mi riferisco all’assenza di installazione e configurazione dei software di base e quindi al fatto che è possibile utilizzare da subito l’applicazione senza perdersi in dettagli tecnici.

È naturale che i due modelli di distribuzione del software soddisfino esigenze diverse. È da evidenziare, tuttavia, che le Virtual Appliance possono sopperire a tutte quelle circostanze in cui un software in modalità Saas non è in grado di soddisfare pienamente.

Ad esempio, una Virtual Appliance che risiede all’interno dell’infrastruttura di rete aziendale non è soggetta ad eventuali blackout di connettività che possono paralizzare l’attività in caso di applicazioni critiche. Inoltre, rispetto ad una soluzione Saas, il fatto di avere “in casa” l’applicazione offre la possibilità di un maggior controllo sulla riservatezza dei dati trattati.

Infine, una applicazione Saas difficilmente potrà fornire funzionalità di controllo della rete locale, come ad esempio quelle offerte da un firewall o un proxy, che invece possono essere egregiamente svolte da una Virtual Appliance.

Possiamo dire che le Virtual Appliance riescono a coniugare i vantaggi di immediato utilizzo del software in modalità Saas con i vantaggi dell’avere il software all’interno della propria azienda.

Conclusioni

Un obiettivo comune di sviluppatori e utenti è quello di semplificare le attività di contorno all’utilizzo delle funzionalità di un software. Le Virtual Appliance vanno in questa direzione fornendo un modello interessante ed efficace di distribuzione del software di una certa complessità. L’eliminazione delle fasi di installazione, configurazione e verifica consente all’utente di utilizzare da subito il software ed allo sviluppatore di eliminare le problematiche di conflitto con ambienti hardware e software di base diverse da installazione ad installazione.

Inoltre, la combinazione con i vantaggi derivanti dalle tecnologie di virtualizzazione rendono le Virtual Appliance un modello competitivo nel futuro della distribuzione del software.