Docker – costruire i contenitori

Docker costruire i contenitori

Docker costruire i contenitori

Recentemente abbiamo parlato della virtualizzazione tramite Docker (vedi articolo Docker – cosi cambia la virtualizzazione) e, prima di proseguire sara’ meglio rifare una piccola introduzione.

Docker e’ indubbiamente una valida alternativa alla virtualizzazione tradizionale nel mondo Linux. Questo tipo di virtualizzazione, detta a “container” non emula un’ intero hardware come fanno invece gli hypervisor tipo VMware, Virtualbox, Xen o KVM, ma crea invece dei “contenitori” nel sistema operativo dove possono essere messe in esecuzione applicazioni di vario genere in modo del tutto separato una dall’altra.

Dato che con il cloud il ruolo del sistema operativo diventa sempre meno importante perchè si punta più sullo strato applicativo, PaaS, rendendo il tutto più flessibile. A questo punto se dovessimo far girare 1000 clienti su un ambiente condiviso, diventerebbe interessante disporre di una tecnologia di virtualizzazione che riduca al minimo fisiologico gli overhead.

La virtualizzazione classica non è così, perchè per ogni ambiente applicativo, riservato ad un cliente, si dovrebbe  lanciare una intera macchina virtuale con dentro l’intero sistema operativo. E allora perchè non condividere lo stesso sistema operativo e invece isolare solo gli ambienti di esecuzione delle applicazioni , tipo application server, DB ecc…

I container sono dunque alla base dei moderni servizi cloud di tipo PaaS (Platform as a service) che usano questo tipo di virtualizzazione per misurare il consumo di risorse ed assegnarne i limiti.

Ad esempio, se su uno stesso server fisico, con una soluzione di virtualizzazione di tipo hypervisor si possono ospitare, supponiamo 50 virtual machines, con la virtualizzazione a container si potra’ arrivare anche a 1000 container. Questo perchè un container di per sè è solo un contenitore di processi, mentre una virtual machine completa contiene tutto un ambiente operativo emulato.

Il container può anche essere portabile, infatti ci basta copiare la directory che contiene il filesystem modificato dall’utente dopo la creazione del container, un piccolo file di configurazione, ed il container diventera’ eseguibile su qualsiasi sistema che supporti LXC.

Il concetto è talmente interessante, che qualcuno ha pensato di fare un sistema operativo Linux interamente basato sui container, in cui non c’è nemmeno un package manager perchè si assume che gli applicativi saranno solo in forma di container. Coreos è nato proprio con il principio di supportare ambienti di esecuzione a container, togliendo dal sistema tutto quello che non è strettamente necessario per farlo funzionare.

INSTALLAZIONE

Abbiamo tre possibili metodi d’installazione :

1) Centos

sudo yum -y install docker-io

2) Debian/Ubuntu

sudo apt-get update 
sudo apt-get install docker.io 
sudo sudo apt-get install lxc-docker

3) Download con Curl

sudo curl -sSL https://get.docker.io/ubuntu/ | sudo sh

* Linkiamo docker alla nostra bash

ln -sf /usr/bin/docker.io /usr/local/bin/docker
sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

* Rendiamo docker attivo all’avvio

update-rc.d docker.io defaults

P.S.: Ci sono molti contenitori già disponibili nella community docker, che possono essere trovati attraverso una ricerca. Ad esempio con questo comando cerchero’ la parola debian:

# docker search debian

NAME    DESCRIPTION      STARS     OFFICIAL   AUTOMATED
debian  Debianbaseimage  310         [OK]
google/debian            31                     [OK]

….e molte altre che potrete leggere dall’output completo.

** Installiamo e facciamo provisioning con una immagine Centos

# docker pull blalor/centos  # GitHub blalor/docker-centos-base  image

oppure per chi fosse interessato ad una immagine con gia inserito il tool Ansible (per il Configuration Management ed IT Automation) di cui ho da poco parlato, potra’ scegliere quest’altra immagine.

sudo docker pull ansible/centos7-ansible # GitHub Ansible on Centos7
Pulling repository ansible/centos7-ansible
fff2afd18a57: Download complete

Avviamo un container docker

Attiveremo ora un contenitore centos-base con una shell bash, utilizzando il comando run. Docker eseguira’ questo comando in un nuovo contenitore, -i attribuisce stdin e stdout, -t assegna un terminale.

docker run -i -t centos /bin/bash

Questo è tutto! Adesso stai usando una shell bash all’interno di un contenitore centos.
Per scollegarsi dalla shell la sequenza di escape e’ : Ctrl-p + Ctrl-q.

Diamo un’occhiata ai processi attivi tramite :

# docker ps -a
CONTAINER   ID IMAGE          COMMAND     CREATED
fff2afd18a57     blalor/centos     /bin/bash         About an hour ago

Il Dockerfile
Per automatizzare la procedura di creazione e modifica di un container docker, possiamo utilizzare il Dockerfile, che è una delle parti principali di Docker, infatti attraverso il Dockerfile è possibile non solo fare il deploy istantaneo automatizzato di più istanze e più container, ma è anche possibile eseguire il provisioning di queste istanze, automatizzando task di gestione del sistema, installazione del software e molto altro.

Nel prossimo articolo vedremo un esempio utile, utilizzando ad esempio un’applicazione leggera, che puo’ lavorare molto bene in un contenitore, come NGINX, il noto server web/cached per la gestione di siti web/proxy ad alto carico.

#DockerContainerAvviato

Virtualizzazione e provisioning senza sforzo

Vagrant Virtualization Box

Vagrant Virtualization Box

La virtualizzazione ha sicuramente cambiato il modo di lavorare e di pensare alla gestione dei sistemi informatici aziendali o dei service provider, ed il cloud ha aggiunto un’ulteriore strato, sia di liberta’, ma anche di complicazione in piu’, nella gestione dei nuovi sistemi ad alta affidabilita’ che devono essere in grado di scalare nel minor tempo possibile ecc….

Queste esigenze hanno portato alla nascita di innumerevoli sistemi di virtualizzazione, tra i piu’ conosciuti sicuramente ci sono Xen, Vmware, Kvm, Virtuozzo, Virtualbox, Openvz …..! che per certi versi si trasformano in un incubo per gli amministratori di sistema, costretti ad avere diversi ambienti di gestione delle VM su diversi sistemi e con molteplici file di configurazione da settare.

Infatti quando ci troviamo ad amministrare un ambiente cloud con molte macchine, il rischio di dover aggiungere una macchina in più e doverla successivamente configurare in poco tempo per il deploy e la messa in produzione insieme a tutte le altre è molto alto. In più, se siamo all’interno di un’architettura che deve scalare rapidamente per rispondere in modo agile alle esigenze degli utenti (e chiaramente dell’azienda), dover attendere l’installazione del sistema operativo e poi del software non è certamente divertente. Per tutte queste esigenze, Vagrant potrebbe risultare la giusta soluzione che può semplificarci la vita, permettendoci di aggirare tutte queste “rogne”

Vagrant è un gestore di macchine virtuali che può usare parecchi hypervisor tra cui VirtualBox, il predefinito, ma anche VMWare, Xen e KVM. Attraverso questo software infatti potremo basarci su una struttura di base comune a tutte le macchine, che contiene il sistema operativo (anche se poi vedremo come personalizzare questa alberatura), e mantenere degli step comuni nella configurazione delle nostre istanze virtuali, per poi dedicarci solo alle rifiniture, risparmiando tantissimo tempo grazie alle capacità di elaborazione dei datacenter che abbiamo in-house o magari in cloud.

Per inizializzare il nostro primo progetto Vagrant, abbiamo solo bisogno di spostarci in una directory vuota e dare il comando (avendo già installato il software):

Installazione Vagrant

### Verificare di aver installati i seguenti pacchetti : rubygems ruby1.9.1-dev virtualbox-4.2 (o superiori)
# sudo apt-get install vagrant
# vagrant plugin install vagrant-vbguest

Le Box di Vagrant
Il primo concetto fondamentale da fare nostro, per quanto riguarda Vagrant, è quello del concetto di Box. Una Box per quanto riguarda questo ambiente di virtualizzazione infatti è una vera e propria scatola che contiene il sistema operativo, e tutto quello di cui abbiamo bisogno come i software di base ed ogni loro configurazione di base. Al punto di partenza abbiamo delle Box rese disponibili dai server di Vagrant, ma possiamo tranquillamente aggiungerne altre: tutto quello di cui abbiamo bisogno è un po’ di fantasia coi nomi, e di conoscere l’URL remoto tramite il quale scaricare la Box (ne trovate parecchie già fatte su Vagrantbox.es oppure su Hasicorp), con questa sintassi da riga di comando.

# vagrant init
# vagrant box add name url

che, traducendolo con un esempio reale:

# vagrant box add precise32 http://files.vagrantup.com/precise32.box

Che non farà altro che aggiungere al nostro progetto Vagrant una Box Ubuntu 12.04 a 32 bit.

Il Vagrantfile
Una volta scaricata la nostra Box di partenza, possiamo cominciare a configurare il nostro progetto Vagrant tramite il Vagrantfile che abbiamo a disposizione e che si presenta essenzialmente come un file Ruby con vari namespace, ma niente paura, non è necessario conoscere direttamente Ruby per la configurazione (anche se può aiutare), ed è possibile fare riferimento alla documentazione per conoscere i vari prefissi e le possibilità che abbiamo a disposizione. Ogni volta che eseguiamo un comando Vagrant, il Vagrantfile viene cercato in tutte le directory di livello superiore nell’albero.

Il file può avere grossomodo un aspetto del genere:

Esempio di un cluster di 7 Boxes. Preso da:
### https://github.com/patrickdlee/vagrant-examples

domain   = 'example.com'
 
nodes = [
  { :hostname => 'ex7proxy',   :ip => '192.168.0.42', :box => 'precise32' },
  { :hostname => 'ex7db',      :ip => '192.168.0.43', :box => 'precise32' },
  { :hostname => 'ex7web1',    :ip => '192.168.0.44', :box => 'precise32' },
  { :hostname => 'ex7web2',    :ip => '192.168.0.45', :box => 'precise32' },
  { :hostname => 'ex7static1', :ip => '192.168.0.46', :box => 'precise32' },
  { :hostname => 'ex7static2', :ip => '192.168.0.47', :box => 'precise32' },
  { :hostname => 'ex7cache',   :ip => '192.168.0.48', :box => 'precise32' },
]
 
Vagrant::Config.run do |config|
  nodes.each do |node|
    config.vm.define node[:hostname] do |node_config|
      node_config.vm.box = node[:box]
      node_config.vm.host_name = node[:hostname] + '.' + domain
      node_config.vm.network :hostonly, node[:ip]
 
      memory = node[:ram] ? node[:ram] : 256;
      node_config.vm.customize [
        'modifyvm', :id,
        '--name', node[:hostname],
        '--memory', memory.to_s
      ]
    end
  end
 
  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = 'puppet/manifests'
    puppet.manifest_file = 'site.pp'
    puppet.module_path = 'puppet/modules'
  end
end

Prima di arrivare a questo livello tuttavia, è necessario cominciare dalle basi: il primo file di configurazione di Vagrant che andremo a scrivere conterrà ben poche specifiche, e si baserà esclusivamente sulla Box che abbiamo scelto per la nostra prima macchina virtuale.

# Una singola Box.
#
Vagrant.configure(“2”) do |config|
config.vm.box = “precise32”
end

Esempio per una singola Box.

Vagrant.configure("2") do |config|
config.vm.box = "precise32"
end

Inoltre il Vagrantfile deve essere soggetto a version control (tramite git ad esempio) per tenere traccia di ogni modifica e rendere il tutto facilmente riportabile in una nuova architettura

Avviamo la Box

# sudo vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'precise32'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] Booting VM...
[default] Waiting for machine to boot. This may take a few minutes...
[default] Mounting shared folders...
[default] -- /vagrant

Adesso che abbiamo il nostro progetto funzionante, basterà dare

# vagrant ssh
Last login: Fri Apr 15 05:43:58 2011 from 10.0.2.2
[vagrant@localhost ~]$

per collegarci ed esserne subito operativi all’interno della nostra box.

Provisioning
Vagrant non è solo un sistema per avviare velocemente delle macchine virtuali, infatti ci permette anche di controllarle, e di controllarne le impostazioni nel tempo, insieme al software installato. Possiamo quindi gestire la configurazione automatica secondo le nostre esigenze delle varie Box che abbiamo, attraverso una struttura di provisioning abbastanza flessibile che supporta normali shell script (Bash), il buon vecchio Puppet, ma anche Chef e Ansible.

Tramite questa infrastruttura possiamo modificare il Vagrantfile per eseguire quindi qualsiasi istruzione, che sia configurata per script Puppet oppure attraverso Bash. Ad esempio, possiamo utilizzare la piccola struttura riportata di seguito, che proviene direttamente dalla documentazione di Vagrant e che mostra come sia facile scriversi uno script di configurazione da mandare poi in pasto alla propria Box.

$script = <<SCRIPT
echo I am provisioning...
date > /etc/vagrant_provisioned_at
SCRIPT
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: $script
end

Non solo VirtualBox

Una volta imparato a usare Vagrant, avremo comunque basato tutto il nostro lavoro su VirtualBox. Tuttavia, potremmo anche avere qualcosa in contrario sull’uso di VirtualBox, e voler usare altri provider che ci permettano un’amministrazione più efficace o semplicemente il riciclo di competenze che già abbiamo. Ad esempio, Vagrant supporta tramite plugin anche l’integrazione con VMWare o con Xen; questi plugin sono installabili attraverso il gestore integrato nel software, semplicemente tramite un singolo comando, esattamente come in un classico gestore di pacchetti:

# vagrant plugin install vagrant-vmware-fusion

Oppure se invece di VMWare Fusion usate la variante Workstation:

# vagrant plugin install vagrant-vmware-workstation

Una volta installato il plugin, ed ovviamente il software di providing delle macchine virtuali che vogliamo testare, ci bastera’ modificare il Vagrantfile, con istruzioni come queste nell’ esempio:

Esempio tratto da [ http://puppetlabs.com/blog/new-vmware-provider-gives-vagrant-a-boost ]

config.vm.provider :vmware_workstation do |v|
v.vmx["memsize"] = "2048"
end

Vagrant può ovviamente essere configurato per essere alla base di una complessa configurazione in ambiente cloud, o della propria infrastruttura più modesta.

Se questo primo articolo vi ha incuriositi, la documentazione ufficiale, passo passo, vi sta aspettando : VAGRANT DOC

Nel prossimo articolo vedremo come sfruttare le potenzialita’ di Vagrant + Docker.

#VagrantVirtualizzazioneeProvisioning

Proxmox Virtual Environment

 

 

logo_proxmoxProxmox VE è un software open source, ottimizzato per le prestazioni e l’usabilità a cui viene aggiunta´ anche la massima flessibilità, grazie alla possibilita` di utilizzo di ben due tecnologie di virtualizzazione – KVM (per la Full Virtualization) e OpenVZ (per la Paravirtualization).

Proxmox VE si basa su Debian 5 e non necessita di particolari prerequisiti software. Dal punto di vista hardware richiede i 64 Bit e c’è una ampia lista di hardware ufficialmente supportato.

Con Proxmox VE possiamo migrare phisical machine (PM) su virtual machine (VM) oppure VM su altre VM, possiamo inoltre aggiungere degli storage e gestire il backup delle macchine virtuali. Il Cluster di Proxmox VE ci permette anche di migrare VM tra nodi e di amministrare da un’unica console centrale i vari nodi e, le VM distribuite nei vari nodi.

New Virtual Environment 3.3

Il 15 Settembre 2014 Proxmox Server Solutions ha annunciato l’uscita  della versione 3.3 di Proxmox Virtual Environment (VE).
Questa versione e` molto interessante poiche’ aggiunge diverse novita’ , in particolare questa versione ha come focus la sicurezza dell’infrastruttura virtuale, e introduce tra le altre cose il Proxmox Ve Firewall e la doppia autenticazione (two-factor authentication).
E’ stata  implementata inoltre una console in HTML5, un plug-in per lo storage ZFS e un’interfaccia ottimizzata per l’utilizzo con il mobile, ovvero la Mobile touch interface.

Ma vediamo nel dettaglio in cosa consistono le principali novità:

Proxmox VE Firewall
E’ stato progettato per proteggere l’ infrastruttura IT, ed è completamente integrato nell’interfaccia web, permettendo cosi’ all’utente di creare regole per gli host, i cluster e le singole macchine virtuali e containers.  Per semplificare la gestione sono state introdotte macro, security groups, settaggi per IP e aliases.
La configurazione del firewall viene salvata a livello di cluster e le regole sono valide e applicate per tutti i nodi che compongono il cluster, permettendo l’isolamento completo  delle singole macchine virtuali.
Questo fa si che, al contrario delle soluzioni firewall centralizzate, Proxmox VE Firewall è un po’ piu’ dispendioso in termini di banda ma evita allo stesso tempo i single point of failure.

Two-factor authentication
Questa nuova feature aggiunge un’ ulteriore livello di sicurezza, introducendo una seconda fase di autenticazione per l’accesso all’interfaccia web amministrativa di Proxmox VE.
In aggiunta all’ inserimento del classico nome utente / password, viene utilizzata una one-time password (OTP) che sarà richiesta per ogni nuova sessione di login. Una volta generata rimarrà valida per 30 min (valore di default, modificabile a piacimento).

HTML5 Console 
E’ la nuova console di default di Proxmox VE, multi piattaforma (Windows/Linux/Osx), utilizzabile anche su piattaforme mobile e, sostituisce l’installazione del plug-in Java e dello Spice viewer.

Proxmox
VE mobile

E’ una interfaccia touch progettata specificamente per l’uso su dispositivi mobili (cellulari e tablet). E ‘ un app realizzata in HTML5 (sviluppato con Sencha touch) e funziona su qualsiasi cellulare con un browser moderno.
Comprende molte funzionalità necessarie all’amministratore per la gestione da remoto dell’infrastruttura virtuale, compresa la console SPICE (Software per la gestione della connessione alla console della macchina virtuale), ma non è sostitutiva dell
a full admin console stessa.
Proxmox VE Mobile supporta anche la two-factor authentication con Yubykey con protocollo NFC.
Nota : per tutti coloro che fossero gia in possesso della versione 3.2 l’upgrade alla 3.3 si effettua con due semplici comandi :
NB : ( prima di aggiornare un host spegnere o migare tutte le vm/containers)

~root # apt-get update
~root # apt-get dist-upgrade

 

Se l’articolo ha stuzzicato la vostra curiosita’ e volete saperne ancora di piu’ potete visionare questo Video che illustra tutte le novita’ di cui sopra:

Proxmox VE Video

Docker – cosi’ cambia la virtualizzazione

docker_logoPREMESSA

Docker, inizialmente sviluppato per la piattaforma PaaS (Platform as a Service) di dotCloud, e’ oggi disponibile su Red Hat Fedora e sulla soluzione enterprise OpenShift. Grazie a questa tecnologia, la virtualizzazione passerà al livello applicativo, impacchettando quanto necessario per eseguire le applicazioni su differenti tipologie d’infrastrutture. Ecco quindi come si estendera’ il concetto del Linux Containers LXC , di cui abbiamo trattato in un prededente articolo (vedi link LXC).Docker è il nome di un nuovo ed impotante esempio di progetto, e di start-up, che ha stupito il mondo dell’open source ed ha attirato l’interesse finanziario, e non solo, di grandi gruppi del settore come Red Hat, e non solo.

Per chi non lo conoscesse, Docker è un progetto che automatizza il deployment delle applicazioni fra differenti piattaforme Linux based. L’obiettivo della piattaforma è quello di consentire la distribuzione e l’esecuzione agevole di un app su differenti tipologie di macchine, dotate di differenti sistemi operativi Linux, dai server virtuali, ai cloud-server presenti fra le nuvole private e pubbliche, fino ai bare-metal server, e fin’anche alle macchine fisiche.

Docker è stato inizialmente sviluppato per DotCloud la startup proprietaria di un’infrastruttura PaaS (Platform as a Service) multilingua.

Docker: ecco come funziona

Il funzionamento di base di Docker è alquanto semplice: il tool è capace di impacchettare un’applicazione e le sue dipendenze in un contenitore virtuale che può essere mandato in esecuzione su qualsiasi versione di Linux.Il risultato di questo processo è una maggiore flessibilità e portabilità delle applicazioni e l’opportunità di eseguirle ovunque senza alcuna problematica, dal proprio laptop, ai cloud server privati e pubblici, ai server virtuali fino ai server fisici.

Dockers non effettua la portabilità delle macchine virtuali o dei sistemi operativi, ma rende portabile il codice con cui l’applicazione è scritta, permettendo così una maggiore mobilità fra le macchine virtuali, anche nelle infrastrutture di cloud computing.

Dockers estende un formato comune di package già presente in Linux e noto come Linux Containers o LXC e Dockers per l’appunto utilizza il formato LXC, e le funzionalità kernel di Linux stesso, mentre lascia all’infrastruttura sottostante il compito di provvedere alle funzionalità del sistema operativo.

Docker sembra sposarsi perfettamente con OpenShift, con cui condivide alcuni aspetti tecnologici e architetturali fondamentali, come i namespace del kernel Linux e la gestione delle risorse tramite cGroups. Lo stesso Openshift, infatti, è costruito su Red Hat Enterprise Linux a già offre un sistema di “cartridge” basato sul formato LXC attraverso l’utilizzo delle Red Hat Enterprise Gears, che sara’ in grado di aumentarne l’usabilità e portabilità.

Il progetto Docker sta riscuotendo un alto livello d’ interesse anche fra i colossi del Web e dell’IT a tal punto che aziende del calibro di Microsoft, Red Hat (gia citata), IBM, Mesosphere, CoreOS, SaltStack e Google hanno iniziato a collaborare su un progetto open source pensato a Mountain View e conosciuto con il nome in codice Kubernets.

In pratica, Google e gli altri attori citati vogliono agevolare la gestione e l’uso dei contenitori Docker e Mountain View è fra le prime a sfruttare in modo massivo la tecnologia pensata da Docker all’interno dei suoi data center.

Insomma, per concludere, grazie ai signori di Docker passeremo presto ad un nuovo concetto di virtualizzazione, tutto ancora da scoprire, ma a vedere i nomi delle aziende che vogliono scommeterci , non resta che iniziare a prepararsi.

Bye

Un sito Web chiavi in mano

bitnami_web_appsBitNami Stack :  a ognuno il suo

Oggi giorno molti, moltissimi, hanno sentito nominare parole come WordPress, Joomla, CMS ecc…, ma pochi associano questi nomi ai software necessari per il loro funzionamento.
Tra le diverse figure professionali coinvolte possiamo senza dubbio evidenziare :

  • il semplice utilizzatore, ignaro di come funzioni Internet ma che vuole crearsi un Blog
  • il web designer, che magari non conosce linguaggi di programmazione, ma e’ un dio nell’art design
  • lo sviluppatore che ama creare nuovi software ma non e’ molto competente come sistemista

Seppure la piattaforma “standard de facto” LAMP (Linux+Apache+Mysql+PHP) sia ancora quella piu’ diffusa, molte altre nuove soluzioni sono nate, con l’intento di colmare le carenze pre esistenti sui vecchi sistemi e di migliorare l’esperienza lavorativa dell’utente finale.

BitNami Stack e’ una soluzione pronta all’uso; il concetto alla base del progetto e’ che ognuno, competente o non, ha il diritto di poter utilizzare qualunque applicazione web senza dover essere necessariamente un genio dell’informatica. Ad oggi sono gia circa un centinaio le applicazioni web chiavi in mano fornite sul portale, e la lista dei coming soon e’ altrettanto lunga.

L’installazione classica e’ un’operazione molto semplice, bastera’ andare sul sito da questo link , scegliere l’applicazione web di nostro interesse, selezionare il tipo di pacchetto e scaricarlo in locale; successivamente dare i permessi di esecuzione al pacchetto e lanciarlo, le poche domande che verranno fatte serviranno semplicemente a configurare l’utenza di utilizzo dell’applicazione, la porta di connessione al DB e, se si desidera, un account mail (tramite SMTP protocol) per l’invio delle mail di notifica della App.

chmod +x bitnami-owncloud-7.0.1-0-linux-installer.run
sudo ./bitnami-owncloud-7.0.1-0-linux-installer.run

Esistono anche altre due modalita’ : Live & Cloud

Live : per tutti coloro che non intendono utilizzare direttamente le applicazioni sul proprio pc/server esiste la possibilita’ di scaricare le immagini per VMWare e, volendo, utilizzando VMWare vCenter Converter Tool, sara’ possibile utilizzarle anche con VirtualBox o Kvm.

Cloud : per chi preferisce le soluzioni Cloud, BitNami offre un servizio Cloud dedicato per l’installazione del software; in alternativa si trovano a disposizione gli script per Amazon, bastera’ scaricare il template e caricarlo successivamente su Amazon.

Con una tale facilita’ di utilizzo non mi rimane che dirvi : “testate gente, testate” !!!!

Per maggior info consiglio anche di leggere “BitNami: CMS impacchettati per tutti