Magazine

Jelastic Cloud, tecnologia elastica e costi flessibili

07/10/2019
Jelastic Cloud, tecnologia elastica
PMIPrivati

Abbiamo visto come il concetto di astrazione sia centrale nel definire le diverse tecnologie cloud. Forse sarebbe meglio parlare di forme, anche perché con l’avanzare della tecnologia i confini tra IaaS, PaaS, CaaS, SaaS si fanno sempre più fluidi. Merito di quel “aaS” finale, vero centro della tecnologia cloud: offrire la tecnologia dell’informazione messa a servizio tramite la virtualizzazione. 

A partire dall’IaaS fino al SaaS possiamo quindi definire una vera e propria gerarchia di astrazione della tecnologia, dove man mano viene meno la necessità di padroneggiare e controllare i livelli sottostanti: così, nell’Infrastructure as a Service la gestione da parte dell’utente inizia a livello del sistema operativo che viene fatto girare su una macchina virtuale, lasciando al gestore del cloud l’onere di gestire tutta l’infrastruttura di rete sottostante. Con il Platform as a Service il livello di astrazione si porta un più in alto, a livello di data e applicazioni: tutto ciò che serve per far funzionare l’applicazione è gestito dal provider, che controlla (e fornisce) in aggiunta anche O/S, middleware e ambienti di runtime. Nel caso infine del Software as a Service, l’utente si trova a utilizzare e gestire un semplice software su una struttura completamente virtualizzata: è il caso (tanto per citarne uno) di GMail.

Approfondisci le differenze tra le varie tipologie di cloud computing leggendo questo articolo.

La tecnologia a container: il ponte fra IaaS e PaaS

Tra IaaS e PaaS il salto di astrazione è notevole: il cliente può dimenticarsi dell’infrastruttura necessaria agli sviluppatori per lavorare alle applicazioni e concentrarsi sul proprio core business. Non sarà quindi necessario investire risorse nelle premesse tecniche per la creazione, la gestione e la distribuzione dell’applicazione, che invece sarà a carico del service provider.

Così facendo però, si nega agli sviluppatori stessi la possibilità di gestire il workflow di sviluppo e deploy delle applicazioni in maniera dinamica ed elastica. La necessità di trovare questo punto di incontro ha portato allo sviluppo della tecnologia a contenitori, che offre la flessibilità del modello IaaS e l’astrazione del modello PaaS.

Il modello CaaS (o Container as a Service) offre un diverso approccio alla virtualizzazione: non si prepara più un singolo framework per ogni esigenza di sviluppo, ma diversi contenitori isolati che girano su un singolo sistema operativo.

Il sistema diventa quindi ancora più elastico, perché si aggiunge un ulteriore livello di granularità nella gestione delle risorse. I container sono più leggeri perché condividono lo stesso sistema operativo e richiedono meno risorse e memoria perché assegnate a un ambiente particolare.
I container accorciano i cicli di rilascio, migliorano la produzione, offrono flessibilità e controllo sul flusso di lavoro.

Per comprendere al meglio le differenze tra i modelli PaaS e CaaS leggi questo articolo.

Elasticità, una questione di costi

Uno dei vantaggi del cloud è rappresentato proprio dall’elasticità, ovvero dalla possibilità di passare da un modello in cui i server sono conosciuti e individuabili a uno in cui sono anonimi e intercambiabili, capaci di offrire una nuvola di risorse distribuite. 

Il cloud offre anche il vantaggio della scalabilità, perché non si deve più mantenere un’infrastruttura a prescindere dall’utilizzo che se ne fa e dal carico di lavoro associato. È possibile aumentare le risorse in maniera dinamica e gestire meglio i picchi di lavoro in funzione delle diverse richieste nel corso del tempo (pensiamo ad esempio all’attività di un e-commerce sotto le festività natalizie) e di sfruttare un modello pay-per-use.

La tecnologia a container, aumentando la granularità della virtualizzazione, consente un ulteriore passo verso il concetto di elasticità totale, attribuendo risorse on demand a singole parti della nostra infrastruttura.

Jelastic Cloud – Elastico per definizione

Jelastic Cloud è la piattaforma PaaS con tecnologia a contenitori utilizzata da Aruba per offrire servizi CaaS. Attraverso un’unica dashboard si possono creare degli ambienti modulari e scalabili a cui vengono assegnate delle risorse computazionali chiamati cloudlets da 128MB di RAM e 400mhz.
 
Scelto l’ambiente desiderato è possibile aggiungere moduli e funzionalità quali database (Sql e non), cache e spazio storage. A ognuno di questi elementi si assegnano le risorse desiderate, sia in scalabilità verticale (tramite l’assegnazione dei cloudlets) che orizzontale (aggiungendo nodi in parallelo). 

In particolare, la scalabilità verticale è particolarmente flessibile grazie alla differenziazione tra cloudlets riservati (e quindi sempre attivi, a prescindere dal carico di lavoro) e cloudlets dinamici, ovvero il quantitativo massimo di risorse assegnabili automaticamente al nodo in caso di necessità. A questo si aggiunge la scalabilità orizzontale, che può essere automatizzata in funzione di trigger configurabili: in termini pratici significa che, ad esempio, si possa aumentare o diminuire il numero di nodi nel caso il sistema registri sull’application server un carico superiore o inferiore a una certa soglia continuativamente per un numero definito di minuti.

Ogni ambiente è completamente configurabile nell’insieme e nelle sue componenti fondamentali e monitorabile in ogni sua parte, dalla configurazione dei certificati SSL e dei DNS fino alla creazione di strutture nodali complesse e automatizzate.

L’elasticità è quindi completa, sia a livello operativo che di assegnazione delle risorse computazionali: da una parte la possibilità di configurare un ambiente nei minimi dettagli secondo le esigenze specifiche degli sviluppatori, dall’altra quella di poter assegnare granularmente le risorse a ogni singolo nodo, tenendo sempre d’occhio i costi stimati dalla dashboard riepilogativa. 

In buona sostanza Jelastic Cloud è uno strumento estremamente versatile, capace di adattarsi a richieste molto complesse senza mai sacrificare la usability da parte dell’utente, al quale non vengono richieste particolari competenze sistemistiche. Prova ne è la presenza di un marketplace completo che permette di effettuare il deploy delle applicazioni più comuni (dagli Admin Tools più complessi alle più comuni e diffuse piattaforme e-commerce e content management, solo per citare alcune delle possibilità) con pochissimi clic e di disporre di un ambiente preconfigurato che può essere poi tweakato secondo le esigenze individuali, mettendo la tecnologia a container a disposizione di tutti.