Il mondo IT è davanti ad una profonda trasformazione, iniziata già da qualche anno a dire il vero, che riguarda il modo di gestire le risorse di calcolo. Gli schemi “tradizionali” che vedono assegnare e programmare in modo preventivo e piuttosto rigido la distribuzione della potenza e delle risorse di calcolo ai vari asset sono ormai superati; è innegabile che ormai le aziende vogliano modelli sempre più flessibili che consentano una distribuzione dinamica della potenza di calcolo a seconda delle necessità.
Il nuovo modello di riferimento diventa quindi quello che ha alla base una “shared infrastructure” dove hardware ed applicazioni sono disaccoppiati e dove le risorse logiche si sviluppano e vengono utilizzate aggregando o disaggregando quelle fisiche, solo se e quando diventano necessarie. Questa “shared infrastructure” viene ormai comunemente identificata dal mondo It con il nome di grid computing e i benefici a livello di It operations sono ormai consolidati e riconosciuti. Si parla innanzitutto di definitiva risoluzione dei problemi di paralisi e blocco derivanti da “pesanti” server e sistemi storage allocati per far funzionare specifiche applicazioni (di solito quelle legacy), database o files di varia natura. Uno dei benefici maggiori è, infatti, legato alla possibilità di assegnare risorse di calcolo e storage in modo flessibile e dinamico evitando i locked-down e di avere risorse overprovisioned.
Ma i vantaggi del grid computing possono essere analizzati anche con gli occhi del business e non solo in relazione alle esigenze del mondo IT; guardando infatti ai bisogni e agli obiettivi del business aziendale, il grid computing diventa uno dei mezzi attraverso i quali poter “sintonizzare” le risorse tecnologiche in funzione delle necessità del business e delle sue richieste di servizio, nonché per supportare l’azienda nei momenti di cambiamento, ormai sempre più frequenti e veloci. Infine, non va dimenticato l’aspetto dei costi che si riducono grazie al fatto che l’hardware diventa “solo” una commodity per l’utilizzo efficace dell’infrastruttura tecnologica.
La situazione nei data center
La maggior parte dei data center di oggi è caratterizzata dalla presenza di server e sistemi storage allocati in modo predefinito a supporto di determinati processi o combinazioni di workloads opportunamente “segregati” da applicazioni e database. Tradizionalmente, infatti, computer e storage systems vengono assegnati in funzione del database o dell’applicazione che devono servire e non sempre è facile prevedere e gestire switch di risorse per raggiungere maggior efficienza. In moltissimi casi, poi, c’è la tendenza all’overprovisioning, ossia ad assegnare ad un database o ad una applicazione potenza di calcolo e di storage superiore al reale necessario, in maniera preventiva per evitare blocchi, essere certi di avere la potenza necessaria in caso di picchi o per poter supportare la crescita aziendale. Molte volte, però, questo atteggiamento preventivo si traduce inevitabilmente in uno spreco di denaro e di efficienza. Se le esigenze di storage dovessero, per esempio, crescere maggiormente rispetto a quanto preventivato, non solo diventerebbe difficile riuscire a ridistribuire le risorse in modo dinamico ma sarebbe comunque necessario fare nuovi acquisti. Quando poi è la potenza di calcolo ad essere insufficiente a gestire i carichi, di solito, si procede acquistando nuovi sistemi più potenti. Al tutto va poi aggiunto l’impiego del personale per caricare e configurare i nuovi sistemi, per le operazioni di migrazione, ecc.
Una delle vie per evitare che tutto questo accada è permettere a soluzioni e processi aziendali di sfruttare al massimo la potenza complessiva disponibile, anche andandola a “pescare” dai quei sistemi “blindati” e sovra-assegnati a database ed applicazioni specifiche. Significa ricorrere, in sostanza, al grid computing per abbandonare definitivamente questo costoso modo di assegnare le risorse It in modo statico.
Il grid IT
Secondo IDC (www.idc.com) parlare di Grid IT in un’azienda significa abilitare la capacità di gestire le risorse server e storage assegnandole (aggiungendole o togliendole) ai sistemi IT senza particolari “configuration changes”, ossia arrivando ad avere quella flessibilità IT tanto ricercata ma complicata da raggiungere con scelte come quelle sopra descritte.
Di fatto, il grid computing rompe il binomio software-hardware permettendo alle funzionalità delle applicazioni di operare recuperando la potenza necessaria indipendentemente dall’hardware sulle quali tali applicazioni sono installate, ma usufruendo della potenza disponibile in tutto il data center. La potenza di calcolo o di storage disponibile viene quindi distribuita in quantità e modalità del tutto flessibili a seconda del momento e delle esigenze.
Secondo IDC i benefici del grid IT vengono espressi attraverso un’architettura che consente agli utenti aziendali di:
• ridurre ed evitare costi non necessari per hardware, power e staff dovuti all’overprovisioning dei sistemi IT spesso utilizzato per eludere gli upgrades;
• quando gli upgrades diventano necessari, scalare in modo incrementale aggiungendo (o se possibile riassegnando) risorse e sistemi storage senza costi eccessivi, perdite di tempo e senza errori nelle procedure;
• assicurare disponibilità continua attraverso il provisioning di risorse ridondanti e il failover automatico ove necessario;
• migliorare e accrescere la capacità transazionale attraverso la possibilità di gestire tasks parallelamente.
“Tutti questi benefici e opportunità combinate permettono di migliorare l’agilità del business in risposta ai cambiamenti del mercato o alle esigenze e agli obiettivi del business stesso”, commenta Carl W. Olofson, analista di IDC. “Il grid computing rende possibile aggiungere o togliere risorse in relazione alla domanda di un’applicazione, di un database o di un ambiente storage così semplicemente come avviene, per esempio, nel rapporto tra produttore e consumatore di energia elettrica”.
“La forma più semplice di grid computing alla quale abbiamo assistito nel corso degli ultimi anni – continua l’analista – è stata quella legata ai computer: si è preferito costruire dei network di piccoli computer collegati tra loro piuttosto che continuare ad usare dei supercomputer, con il risultato che il network svolge le stesse funzioni ad un costo decisamente inferiore. C’è poi l’aspetto di semplicità legato anche alla gestione e alla manutenzione: i piccoli computer possono essere aggiunti e tolti senza impatti negativi sul network e senza cali di potenza o inefficienze di altra natura”.
Oggi, però, il concetto di grid computing è applicabile in diversi modi. Si parla, per esempio di compute grid per identificare la scalabilità ottenibile con minori costi in termini di hardware (scegliendo appunto quel network di server che consente tasks paralleli esattamente come facevano i supercomputers ma con costi decisamente più bassi e migliore gestibilità); di application grid, per favorire la condivisione delle risorse fisiche tenendo conto delle diverse esigenze applicative, in modo da offrire una maggiore efficienza, una scalabilità priva di rischi e un’elevata prevedibilità nella qualità dei servizi; infine, di storage grid, che vede lo storage non più come elemento statico e immutabile, ma come risorsa che si modifica con il mutare non solo delle esigenze dell’azienda ma anche dell’importanza delle informazioni e del loro ciclo di vita.
Il database grid
In un contesto di grid computing assume una rilevanza fondamentale il database.
Quando si parla di database workloads, il grid computing contrasta con i modelli classici che prevedono server dedicati (spesso associati a risorse storage dedicate) che sono comunque ancora molto presenti nelle aziende perché ritenute scelte affidabili. Ma, sottolinea IDC, parlare di grid computing a livello di database e quindi applicare quei principi di dinamicità e flessibilità insiti nel grid IT non significa affatto perdere affidabilità o efficienza. Al contrario, secondo la società di analisi, sono innumerevoli i vantaggi ottenibili.
I principali benefici, come già esplicitato, possono essere ricondotti a flessibilità nella disponibilità (e nella gestione) delle risorse, miglior scalabilità, ottimizzazione delle operations grazie a processi paralleli.
Il database grid, che IDC identifica come approccio lanciato da Oracle (www.oracle.com) attraverso la sua offerta in ambito database, è un tipo di grid ibrido che richiama sia l’application sia lo storage grid. “Esattamente come nell’application grid – spiega Olofson – si sviluppa codice ridondante in server multipli (detti anche nodi) che facilita il workload in base ad uno schema ottimizzato con il quale avvengono processi paralleli che sfruttano le comuni risorse del database. In ambito storage parlare di database grid significa favorire metodi di archiviazione e conservazione dei dati più efficaci sia in termini di costi che di efficienza”.
“Molte organizzazioni IT devono dedicare server e storage a specifiche applicazioni a ai loro database – asserisce l’analista di IDC – e server e storage devono avere la capacità di gestire le applicazioni e i database che servono proprio in funzione della specifica domanda di questi ultimi e della loro crescita. Tipicamente questo significa allocare in termini di server e storage molte più risorse rispetto a quelle che realmente sono necessarie ad applicazioni e database. Nei tradizionali scenari cosiddetti a silos, i sistemi non sono poi così facilmente reimpiegati e la loro gestione è abbastanza difficoltosa, con una ulteriore crescita di complessità che va in parallelo alla crescita del numero e della grandezza delle applicazioni e dei loro database”.
“Di contro – conclude l’analista – adottando un approccio grid, la gestione delle applicazioni e dei database può essere concentrata in cluster di server; cluster che possono ingrandirsi con server aggiuntivi all’occorrenza e che rendono più facile la gestione di applicazioni e database che viene distribuita su più cluster. Allo stesso modo, le unità storage possono essere aggiunte in un’ottica di strategic grid quando necessario, con conseguente facilitazione, anche in questo caso, della gestione dello storage che può essere diffusa e distribuita su più nodi che compongono lo storage grid”.
Facendo un’analisi del database grid, IDC ha identificato in Oracle RAC e Oracle ASM due elementi tecnologici in grado di utilizzare il database come servizio a favore del grid IT. Il Real Application Cluster (RAC), in sostanza, è lo strumento tecnologico attraverso il quale si riesce a realizzare e gestire quel network di piccoli computer che IDC ha identificato come elemento centrale e di inizio del processo di grid computing; è questa tecnologia, infatti, che supporta la distribuzione di un singolo database su un gruppo di server con caratteristiche avanzate di tolleranza agli errori, prestazioni e scalabilità, senza richiedere alcuna modifica alle applicazioni. L’Automatic Storage Management (ASM), invece, è una tecnologia per la gestione dello storage basata sul mirroring intelligente e sullo striping dei dischi (fisici o logici).
Proprio grazie a queste a queste caratteristiche, IDC ha identificato in Oracle Database 11g una delle soluzioni più idonee a sviluppare all’interno delle aziende una strategia “grid oriented”. Non è dunque un caso che Oracle abbia puntato tutto sui concetti di grid computing (consolidare su server a basso costo e grid di storage), efficienza (comprimere i dati riducendo lo spazio di archiviazione e migliorando le prestazioni) e riduzione dei costi (controllare i costi, ottimizzando l’utilizzo della propria infrastruttura IT) per il lancio della nuova release del prodotto.