Il Data Center “Agile”: ossia cosa farà gridare “eureka” ai millennials

Agli albori dell’informatica, le risorse hardware erano scarse e costosissime e i programmatori facevano dei lavori certosini scrivendo e riscrivendo codice nell’intento di erogare il maggior numero di servizi con la minore occupazione di risorse possibile.

Poi sono arrivate l’informatica distribuita e la consumerizzazione dell’hardware che hanno innescato un circolo vizioso: ad ogni nuova generazione di macchine, la capacità elaborativa raddoppia(va) e ogni nuova realise software richiede più risorse in un continuo rincorrersi, giacché i programmatori di oggi ragionano a risorse infinite.

Questo è valido sia per gli applicativi che per i sistemi operativi, ma la crescita delle prestazioni della Infrastruttura è stata tale da fornire comunque risorse sovrabbondanti, tanto che l’idea di utilizzare un hypervisor per consolidare i server, lanciata da VMware all’inizio del millennio, è rapidamente diventata uno standard.

Da allora la virtualizzazione si è evoluta andando ad abbracciare l’intera Infrastruttura e arricchendosi di molte funzionalità sul versante della sicurezza, dell’architettura e della gestione ma senza mai avvicinare davvero l’efficienza dei mainframe a cui si è ispirata (come è stato scritto da tutti gli osservatori e commentatori delle cose ICT e accettato in modo acritico dai fruitori dei loro scritti, molti dei quali non avevano neanche esperienza diretta di quel mondo).

La tecnologia X86

Domanda: nella tecnologia x86 qual è la Piattaforma più efficiente? La virtualizzazione come la conosciamo?

Risposta: No! È sicuramente HPC (High Performance Computing, detta anche Parallel Computing), la piattaforma utilizzata per il calcolo ingegneristico che prevede un cluster adattivo di server che esegue contemporaneamente uno o più programmi.

La caratteristica di questi cluster è un Sistema Operativo specifico (Linux o Microsoft) capace di far girare applicazioni diverse in aree di memoria riservate e di suddividere il relativo carico applicativo fra tutte le macchine del cluster.

In realtà, il progetto era nato ipotizzando di far girare una singola Applicazione su più macchine contemporaneamente per supplire alla limitata capacità di calcolo dei server del secolo scorso ma la crescita esponenziale delle prestazioni dei server ha consentito di affiancare al requisito prestazionale quello della sicurezza e adesso la tecnologia viene impiegata per eseguire i calcoli complessi in parallelo fra più macchine con più applicazioni.

Il Sistema Operativo provvede non solo alla segregazione delle applicazioni ma anche all’adattabilità del cluster, tant’è che si possono aggiungere o sottrarre dei server senza che le procedure in esecuzione si fermino.

Immaginate cosa vorrebbe dire dover gestire un solo Sistema Operativo sui vostri host, il risparmio in termini di occupazione risorse, il conseguente aumento delle prestazioni e la minore complessità amministrativa!

Fantastico, vedo già occhi che brillano al pensiero, ma c’è un però, ed è bello grosso: le applicazioni devono essere scritte specificatamente per quell’ambiente e, che io sappia, esistono solo procedure per calcoli dimensionali; purtroppo il Parallel Computing è un ambiente proprietario con il suo Sistema Operativo, le sue applicazioni e anche i suoi server dedicati come, ad esempio, gli HPE Apollo.

Bene, discorso chiuso? No, anzi in divenire, e il primo passo per la “Virtualizzazione 2.0” (o 5,0, fate voi) si chiama Windows 2016.

Analizziamo i due trend tecnologici destinati a rivoluzionare da un lato l’erogazione dei servizi e dall’altro l’architettura fisica dei Data Center sui quali i maggiori analisti ICT, tra cui Gartner, ritengono si sviluppi il futuro dell’ICT a livello globale.

Trend 1: Nuovo approccio allo sviluppo applicativo – Sviluppo a Micro-servizi

Trend 1

Sviluppo a Micro servizi

Nella parte sinistra della figura sono rappresentate le applicazioni attualmente in uso, sono dei monoliti in cui uno  specifico servizio o processo industriale (detto in gergo Logica di Business – Business Logic) è parte integrante e non  scorporabile dell’applicazione stessa: ne risulta che tutti i processi sono presenti in tutte le applicazioni e che per  utilizzare un singolo processo in realtà si apre l’intero monolite con il relativo carico applicativo.

Nella parte destra, invece, è rappresentata l’architettura a codice suddiviso in micro-servizi, dove ogni utente attiva  solo la specifica funzione applicativa (micro-servizio appunto) a lui utile in quel preciso istante e per quel preciso  servizio, non appesantendo quindi inutilmente l’Infrastruttura e liberando, per altri micro-servizi, risorse  informatiche pregiate (garantendo migliori performance ed una migliore gestione dei picchi).

 

 Trend 2: Utilizzo dei Containers (Dockers, etc.)

I micro-servizi applicativi suddetti, grazie alla tecnologia Containers (es. Dockers), saranno incapsulati in contenitori state-less (senza dipendenze architetturali applicative o Infrastrutturali) ed includeranno chiamate standard RESTfull (API) all’hardware, attraverso le quali auto-configureranno il minimo servizio hardware indispensabile al loro funzionamento nel rispetto dei Service Level Agreement (SLA) e della qualità di servizio (QoS) impostati a livello sistemistico-applicativo. La risorsa hardware verrà altresì automaticamente rilasciata e resa disponibile per altri micro-servizi applicativi (Containers) non appena l’utente chiuderà il micro-servizio utilizzato.

Questa impostazione dell’Infrastruttura  è simmetrica all’affermarsi della “Programmazione Agile”, il nuovo paradigma per lo sviluppo software che prevede la frammentazione del progetto in tanti micro-progetti da sviluppare in un tempo massimo di 15 giorni e da rilasciare immediatamente in testing al cliente; ogni micro-progetto è pensato come un singolo oggetto che svolge un’unica funzione. Questo modello consente, in caso di bisogno, di intervenire immediatamente per correggere il singolo oggetto\funzione prima di passare all’oggetto\funzione successivo in modo tale da arrivare alla fine del progetto con la certezza del successo e con il vantaggio di aver realizzato uno “streaming applicativo”, ossia di aver rilasciato in produzione i singoli oggetti\funzione strada facendo.

Supponete ora di far fare ai programmatori un passo avanti definendo alcuni oggetti\funzione come elementi di Infrastruttura: ad esempio un servizio di stampa unico per tutte le applicazioni passerebbe da “oggetto\funzione” a “micro-server\container” con l’evidente vantaggio di poter dismettere le funzionalità di stampa da tutti i vari applicativi.

Ebbene Windows 2016 permette di gestire queste tecnologie, anche se con una serie di limitazioni ancora pesanti, come, ad esempio, l’impossibilità di generare micro-server che prevedano un accesso in modalità console.

L’evoluzione del Data Center

L’evoluzione dei Data Center, secondo me, vedrà l’affermazione del modello “virtual mainframe” per cui un unico Sistema Operativo\hypervisor gestirà tutta l’infrastruttura, probabilmente un cluster adattivo, facendo da supporto per gli applicativi, i quali applicativi richiameranno un set di micro-servizi\micro-server standardizzati, in pratica il punto di arrivo sarà l’eliminazione del layer “Virtual Machine”, non più macchine virtuali ma servizi applicativi e servizi infrastrutturali appoggiati a un unico Sistema Operativo\hypervisor.

Un nuovo approccio all’ architettura Data Center, IaaC – Infrastructure as a Code (ma sì, un bell’acronimo non si nega a nessuno) che diventa programmabile e automatizzata, grazie ai “Container”, flessibile e sicura perché basata sul “cluster adattivo” e anche “Bimodale”, come definita da Gartner, in grado cioè, con l’hypervisor, di gestire anche virtual server e di presentarsi alle applicazioni “legacy” come Infrastruttura tradizionale.

Un Data Center così concepito sarà più semplice da gestire, efficiente nell’utilizzo delle risorse e si avvarrà di nuove tecnologie come, ad esempio, la HPE Synergy Composable Infrastructure che è già pronta per l’IaaC, in grado di trasformare l’intero Data Center (Server, Storage, Networking, etc.) in un pool di risorse flessibili richiamabili automaticamente via API standard RESTfull.

Le componenti server, storage e networking diventano servizi flessibili grazie alla funzione Synergy HPE Software Defined Intelligence ed al modulo HPE Synergy Composer mentre i nodi sono attivabili automaticamente grazie al modulo HPE Synergy Image Streamer.

Nell’evoluzione della progettazione Data Center, la soluzione HPE Synergy Composable Infrastructure si posizionale al vertice della catena evolutiva superando l’offerta di Data Center tradizionali ma anche quella dei Data Center convergenti e iper-convergenti.

Il Data Center Composable

Il Data Center Composable

Roberto Navone - Account Manager Project Enterprise

Vuoi approfondire questo argomento, chiedere informazioni o lasciare un tuo commento? Clicca QUI per contattare direttamente Roberto Navone