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.