Introduzione

IBM WebSphere CloudBurst Appliance è una soluzione IBM per creare e gestire nuvole private all'interno delle quali installare ed eseguire le proprie applicazioni. Osserveremo le sue funzionalità di deployment e di gestione che permettono la creazione di ambienti WebSphere Application Server completamente operativi. È inoltre prevista la possibilità di gestire ambienti DB2 e WebSphere Portal.

IBM WebSphere CloudBurst Appliance è un soluzione IBM per la creazione e la gestione, su nuvole private, di sistemi virtuali basati su WebSphere Application Server (WAS) in cui eseguire le proprie applicazioni. L'offerta si compone in realtà di due parti, WebSphere CloudBurst Appliance (WCA) e WAS Hypervisor Edition (WAS HE), di cui parleremo nel corso dell'articolo.

WebSphere CloudBurst Appliance

WebSphere CloudBurst Appliance (WCA) è un'appliance hardware che offre le funzionalità necessarie per modellare, creare e gestire ambienti virtualizzati basati su WebSphere Application Server. Gli obiettivi principali di tale prodotto sono: la riduzione dei tempi e dei costi associati alla creazione di ambienti WAS; la miminizzazione di errori di configurazione; la semplificazione della gestione dell'infrastruttura applicativa. La riduzione dei tempi per la creazione di ambienti è da considerarsi per l'intero ciclo di vita del sistema che si sta creando. Tipicamente, quando si deve creare un ambiente, è necessario individuare l'hardware o le risorse necessarie per l'esecuzione, installare il prodotto, installare le eventuali fix su ciascuna delle installazioni e configurarle definendo le risorse e le eventuali personalizzazioni necessarie. Per queste operazioni, in funzione del grado di automatizzazione che già è presente, si possono introdurre benefici più o meno grandi. La riduzione dei costi è invece dovuta sia alla riduzione dei tempi di cui si è discusso in precedenza sia alla riduzione di operazioni manuali e quindi alla diminuzione dei possibili errori che generalmente sono associati a questo tipo di attività, soprattutto se ripetitive. Inoltre, gli amministratori di sistema, non dovendosi più occupare di questi compiti, possono focalizzare la loro attenzione su altri aspetti. Le ragioni che hanno portato alla scelta di fornire questa soluzione nella forma di un'appliance sono triplici: sicurezza, performance, ma soprattutto consumabilità. Per avere il sistema funzionante è infatti sufficiente collegare l'alimentazione, collegare i cavi di rete e configurare le risorse che l'appliance può gestire. L'appliance viene consegnata con al suo interno delle immagini virtuali: WebSphere Application Server Hypervisor Edition. Queste immagini, di cui parleremo più nel dettaglio nel seguito, forniscono WAS con le fix più recenti già installate, evitanto l'installazione da parte dell'amministratore.

La nuvola

L'appliance non fornisce la nuvola su cui creare ed eseguire i sistemi virtuali. Si basa infatti sul modello "bring your own cloud" in cui è l'utente che deve provvedere alle risorse di cui il sistema ha bisogno per funzionare. Per quello che concerne l'operatività dell'appliance, le risorse che devono essere definite sono: hypervisor e relativo storage, DNS e indirizzi IP che l'appliance può gestire per la creazione degli ambienti virtuali.

Le componenti della soluzione cloud PAAS
Le componenti della soluzione cloud PAAS

Gli hypervisor attualmente supportati dall'appliance sono VMware, PowerVM e z/VM. Saranno questi a ospitare le macchine virtuali che costituiscono i sistemi virtuali creati per mezzo di WebSphere CloudBurst. Lo storage associato agli hypervisor viene automaticamente individuato dall'appliance. All'amministratore viene richiesto poi di definire il server DNS e un insieme di indirizzi IP che sono messi a disposizione dell'appliance per essere assegnati alle macchine virtuali che vengono avviate nella nuvola.

I sistemi virtuali

I sistemi virtuali che possono essere creati con WebSphere CloudBurst Appliance sono basati su WAS v6.1 e v7. Esiste poi anche la possibilità di creare sistemi virtuali basati su WebSphere Portal e DB2 v9.7. Quando parliamo di sistemi virtuali, bisogna necessariamente discutere di altri tre concetti che tutti insieme permettono di creare questi ambienti: immagini virtuali, pattern e script. Tramite queste componenti è possibile ricreare, come se si avessero a disposizione degli "stampini", più e più volte lo stesso ambiente in modo rapido e garantendo configurazioni congruenti tra le differenti creazioni. L'appliance offre anche strumenti di gestione e di monitoraggio dei sistemi virtuali necessari per l'amministrazione ordinaria degli ambienti. I tempi per la creazione dei sistemi in un ambiente VMware sono dell'ordine della decina di minuti per la creazione di un ambiente costituito da tre macchine virtuali: un deployment manager e due nodi custom (escludendo il primo deploy, in cui l'immagine virtuale deve essere propagata via rete dall'appliance all'hypervisor, e che quindi paga tempi superiori).

WebSphere Application Server Hypervisor Edition

Le componenti dei sistemi creati sono immagini virtuali, o WebSphere Application Server Hypervisor Edition. WAS HE è una edizione dell'application server IBM appositamente pensata per essere utilizzata in ambienti virtualizzati. Si tratta dell'immagine di una macchina virtuale impacchettata secondo lo standard Open Virtual Format (OVF) in cui, su quattro dischi separati, sono installati: sistema operativo, binari di WebSphere Application Server (WAS), binari dell'HTTP server e infine dei profili WAS predefiniti.

WebSphere Application Server Hypervisor Edition
WebSphere Application Server Hypervisor Edition

WAS HE permette di velocizzare e di standardizzare la creazione di macchine virtuali con installato WAS in modo da ottenere un sistema funzionante con i livelli di software richiesto in pochi minuti. Esistono tre differenti versioni di WAS HE: per VMware, per PowerVM e per z/VM. La versione di WAS HE per VMware può essere utilizzata anche senza WebSphere CloudBurst, ma direttamente su VMware ESX. Queste immagini di macchine virtuali richiedono alcuni parametri di configurazione all'avvio. Oltre all'accettazione delle licenze, vanno forniti: indirizzi IP, hostname, password dell'amministratore di WAS e di sistema operativo e infine va selezionato il profilo WAS che questa macchina deve diventare. Una volta avviata la macchina, è poi possibile continuare a gestirla nella modalità classica. Discorso leggermente differente se l'immagine virtuale viene gestita per mezzo di WebSphere CloudBurst: in questo caso, le licenze vengono accettate un'unica volta all'avvio dell'appliance, l'assegnazione degli indirizzi IP viene gestita da WCA e le password possono essere inserite ad ogni deploy o salvate all'inteno dell'appliance, e quindi inserite un'unica volta.

Nel caso poi in cui ci sia l'esigenza di installare del software custom o creare delle configurazioni specifiche, cosa che diversamente andrebbe fatta a seguito di ogni deploy, WCA permette di estendere l'immagine di WAS HE con queste modifiche e renderela disponibile così modificata per i successivi deploy. WebSphere CloudBurst offre la possibilità di estendere le immagini virtuali che usa per creare gli ambienti e ricatturarle quindi per evitare proprio che tali operazioni debbano essere ripetute.

Oltre a immagini di macchine virtuali con WAS IBM ha rilasciato DB2 9.7 Data Server for WebSphere CloudBurst Appliance e IBM WebSphere Portal 6.1.5 Hypervisor Edition.

Pattern

La topologia dei sistemi creati viene identificata all'interno dell'appliance con il nome di pattern. Vengono messi a disposizione alcuni pattern predefiniti il cui scopo principale è quello di fornire un esempio per la creazione di topologie che siano aderenti alle specifiche esigenze dell'azienda, i cosiddetti "custom pattern". Si tratta quindi di qualcosa di analogo all'estensione di una immagine virtuale. Creare un nuovo pattern è estremamente semplice, come mostrato dalla figura 3: dall'editor di sinistra si seleziona la componente che si desidera aggiungere e con con un "drag and drop" lo si porta nell'editor di destra. Una volta aggiunte tutte le componenti, queste possono essere personalizzate in temini di memoria, password di amministrazione, CPU assegnate e così via, e poi si può salvare il modello e renderlo infine utilizzabile da altri utenti.

Creazione di un "custom pattern" con WebSphere CloudBurst
Creazione di un "custom pattern" con WebSphere CloudBurst

Ai pattern è poi possibile aggiungere, sia in fase di definizione sia quando si crea l'ambiente virtuale, applicazioni da installare o script per configurare l'ambiente. Questi sono contenuti nei cosiddetti script package.

Script package

Gli script package sono pensati per personalizzare le singole componenti che compongono i pattern. Il package è un file ZIP che contiene tutto ciò che deve essere eseguito: il contenuto può essere qualcosa di semplice, per esempio un'applicazione da installare, fino ad arrivare a qualcosa di molto più complesso, come un intero prodotto software. Il contenuto del package non è definito ne' limitato in alcun modo dall'appliance. Come è possibile vedere in figura 4, il package può contenere un file EAR, degli script jython per l'installazione dell'applicazione e la configurazione di WAS e così via.

Esempi di script package e componenti
Esempi di script package e componenti

La flessibilità offerta dagli script package fa si che qualunque tipo di personalizzazione sia richiesta possa essere effettuata in questa modalità.

Creazione di un sistema virtuale

La creazione di un sistema virtuale è una procedura che richiede pochi passaggi e ha come risultato un ambiente WebSphere Application Server completamente funzionante. Una volta individuato il pattern che si vuole utilizzare è sufficiente cliccare sul bottone di "deploy" e fornire pochi elementi di configurazione: il nome del sistema virtuale; la pianificazione del deploy in un momento successivo ed eventualmente definire fino a quando il sistema deve essere disponibile; le password di amministrazione e le configurazioni delle macchine virtuali (numero di CPU e memoria) se queste non sono state definite durante la creazione del pattern.

Una volta terminata la creazione, dalla schermata riepilogativa è possibile visualizzare il log, piuttosto che collegarsi alla console di amministrazione di WAS per procedere con eventuali ulteriori configurazioni.

Schermata finale di creazione ambiente WAS
Schermata finale di creazione ambiente WAS

L'appliance, nel creare gli ambienti, prende in considerazione aspetti relativi all'utilizzo di ciascun hypervisor e alla disponibilità: se sto creando un cluster, l'appliance creerà macchine virtuali su hypervisor differenti in modo da garantire che effettivamente il sistema sia in alta affidabilità.

Conclusioni

WebSphere CloudBurst Appliance permette di creare ambienti virtuali basati su WAS in modo semplice e rapido, sfruttando nuvole private. Queste, come accennato, possono essere composte di hardware eterogeneo: supporta infatti alcune delle più diffuse piattaforme di virtualizzazione come VMware, PowerVM e z/VM. I vantaggi offerti, al di là della standardizzazione dell'infrastruttura e del deployment, sono di tipo economico e di tipo gestionale: oltre a ridurre tempi e costi associati alla creazione di nuovi ambienti, permette infatti di gestire in modo più semplice e ottimizzato l'hardware e ridurre possibili errori di configurazione.

Riferimenti

  • [1] Open Virtual Format

http://it.wikipedia.org/wiki/OpenVirtualizationFormat

  • [2] IBM Virtual Appliances

http://www.ibm.com/developerworks/wikis/display/im/IBM+Virtual+Appliances

  • [3] IBM WebSphere Application Server Hypervisor Edition

http://www-01.ibm.com/software/webservers/appserv/hypervisor/

  • [4] IBM DB2 9.7 Data Server for WebSphere CloudBurst Appliance

https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swg-db2-cloudburst

  • [5] IBM WebSphere Portal Hypervisor Edition

https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=swerplotus-portal-3

  • [6] VMware

http://it.wikipedia.org/wiki/VMware_Inc.

  • [7] PowerVM

http://en.wikipedia.org/wiki/PowerVM

  • [8] z/VM

http://en.wikipedia.org/wiki/Z/VM