Joomla! e la virtualizzazione in locale... pro e contro Relatori: Andrea Adami Francesco Craglietto
Lavorare in locale...pro presentazioni di siti congelati (siti più scattanti, nessuna interferenza di terzi, non serve connessione) modifiche a template, css e ambiente di sviluppo (immediatezza, non altero la grafica online, sicurezza) valutazione di componenti, plugin, moduli, add-on (test di idoneità ed apprendimento al loro utilizzo) test di installazione/disinstallazione (impatto sul sistema di file, tabelle DB e corretta disinstallazione) modifiche a settaggi del server preclusi a remoto (php.ini, upload_max_filesize, max_execution_time ecc.) corsi in aula (immediatezza, sicurezza, non necessita connessione) creazione di snapshot per restore veloce (istantanee del sistema prima di modifiche e restore completo)
Lavorare in locale...contro gli ambienti non sono speculari!!! (il sito locale potrebbe comportarsi diversamente a remoto) serve una macchina recente con buone risorse (serve una RAM adeguata, min. 2 GB e una discreta capacità disco) possibilmente CPU ottimizzata per la virtualizzazione (hardware predisposto alla virtualizzazione es. Intel VT e AMD-V ) ottima conoscenza del sistema operativo virtualizzato (di solito Linux o Unix per similitudine con i server dei provider) eventuali costi aggiuntivi di licenze (ad es. per virtualizzare Windows )
software per lavorare in locale di virtualizzazione bolle applicative (XAMPP, WAMP, EasyPHP, LAMP, MAMP ecc.) (VMware, Xen, Microsoft Virtual PC, Qemu, Kvm, VirtualBox, Parallels Desktop,...ecc.) http://en.wikipedia.org/wiki/ Comparison_of_platform_virtual_machines
Che cosa è la virtualizzazione (definizione di Wikipedia) per virtualizzazione si intende la creazione di una versione virtuale di una risorsa normalmente fornita fisicamente qualunque risorsa hardware o software può essere virtualizzata: sistemi operativi, server, memoria, spazio disco
Terminologia VM: macchina virtuale PC: personal computer o server di rete CPU: microprocessore PC SO: sistema operativo GUEST: SO installato nella VM HOST: SO installato nel PC fisico Snapshot: salvataggio dello stato di una VM
Virtualizzare significa... Inserire uno strato software tra il sistema operativo normalmente installato sul PC e quelli ospitati
Virtualizzare significa... creare nuove VM in pochi minuti permettere l'esecuzione di SO quali Windows e Linux senza intaccare le funzionalità originali del PC fisico possibilità di duplicare le VM possibilità di spostare una VM da un PC fisico ad un'altro senza riconfigurare il SO possibilità di eseguire più macchine virtuali contemporaneamente catturare lo stato dell'intera VM e se necessario ripristinarlo in qualunque momento isolamento delle applicazioni critiche accesso remoto alle VM
La struttura tecnologica ogni VM è completamente isolata dal sistema host la VM dialoga con il SO host e l'hardware fisico solo attraverso lo strato software di virtualizzazione vantaggio: aumento della sicurezza svantaggio: riduzione delle prestazioni (il sistema operativo guest non accede direttamente alle risorse del sistema fisico) l'isolamento della VM ha come effetto positivo l'indipendenza della VM dall'hardware
Le Virtual Appliances sono macchine virtuali già create contengono applicazioni pre-configurate sono dotate di un OS minimale e quindi più sicuro sono installabili su ogni hardware sono testate consentono agli utilizzatori di concentrarsi subito sulle funzionalità applicative spesso sono gratuite (es.: http://turnkeylinux.org)
... ora passiamo alla pratica