TurnKey, Bitnami, Jumpbox: quando usare una virtual appliance (e quando no)

TurnKey, Bitnami, Jumpbox: quando usare una virtual appliance (e quando no)

TurnKey, Bitnami, Jumpbox: quando usare una virtual appliance (e quando no)

Quest’oggi un cliente mi chiedeva un parere su Turnkey Linux: ha senso utilizzare questo tipo di virtual appliance in una infrastruttura aziendale?

Per chi non lo conoscesse, Turnkey Linux offre un catalogo di immagini Linux su cui sono già installate e configurateapplicazioni pronte all’uso. Si tratta per lo più di applicazioni opensource per il content management, lo sviluppo applicativo ma anche strumenti di CRM, ERP, collaboration e Project Management. E’ sufficiente scaricare il template, deployarlo nel proprio sistema di virtualizzazione (VMware o VirtualBox) ed accendere la VM. L’installazione comprende l’intero stack di componenti necessari all’applicazione (es. Apache, PHP, Mysql, strumenti di gestione, plugin) già configurati, ottimizzati ed integrati tra loro. Al primo avvio un wizard permette di impostare i parametri di rete della macchina e le password di amministrazione, ed in pochi secondi l’applicazione è up and running.

Al di là dell’apparente velocità e semplicità con cui possono essere installate, le virtual appliance possono divenire nel lungo periodo piuttosto costose da gestire, per svariati motivi: dalla difficoltà di integrarle con l’infrastruttura esistente (es. se è già presente un database server) alla difficoltà di mantenerle aggiornate o di sottoporle a backup.

Ecco alcuni consigli per valutare se utilizzare una virtual appliance e se procedere con una installazione manuale.

Quando usare una virtual appliance?

Può essere una buona idea utilizzare una virtual appliance:

  • Nella fase di valutazione di un prodotto o tecnologia (NB. per molti prodotti esistono degli ambienti di demo direttamente online, come ad esempio opensourcecms.com);
  • Come ambiente di supporto allo sviluppo delle applicazioni (ad esempio ho bisogno di un server LDAP da dare in pasto ad un team di programmatori appena assunti);
  • Quando non è richiesta una stretta integrazione con l’esistente (es. un servizio standalone);
  • A scopo didattico: le virtual appliance sono in genere ottimizzate seguendo le best practicedella community; analizzare la loro configurazione interna può rivelare molte informazioni utili ed istruttive per eseguire successivamente una installazione custom.

Quando eseguire una installazione custom?

E’ consigliabile tirarsi su le maniche e installare da zero quando:

  • c’è bisogno di mantenere uniformità con l’infrastruttura esistente (ad es. scegliendo un sistema operativo o un DBMS specifici, diversi da quelli offerti virtual appliance);
  • nell’infrastruttura sono già presenti alcuni componenti di basecentralizzati (es. Web Server, DB Server, ecc.) che, per facilità di gestione, si preferisce non duplicare;
  • c’è bisogno di garantire un livello elevato di sicurezza (evitando componenti non necessari e utenze di servizio superflue);
  • si prevede la necessità di una forte personalizzazione della applicazione e della configurazione;
  • si prevede la necessità di una architettura multi-server per distribuire il carico applicativo o garantire l’alta affidabilità.

In sostanza nella maggior parte degli ambienti di produzione, il deploy di una virtual appliance può velocizzare il delivery iniziale di un servizio, ma nel lungo periodo può portare a qualche problema di gestione in più.