Cloud (R)Evolution, for Dummies.

Giacomo Torricelli
Mumble
Published in
8 min readFeb 27, 2019

Cloud. Probabilmente gli addetti ai lavori sentiranno un piccolo brivido lungo la schiena a vedere l’ennesimo articolo sull’argomento; d’altronde è ormai sulla bocca di tutti, forse troppi, da parecchio tempo.

Come qualsiasi tema di così grande importanza, sia dal punto di vista dell’evoluzione tecnologica, che dal punto di vista del business, per chi non lo conosce in modo approfondito (o non lo vive giornalmente) può risultare davvero molto difficile capirci qualcosa ed avere al contempo la capacità di prendere decisioni su di esso, in autonomia.

Per non parlare poi degli spot radiofonici in cui aziende più o meno note provano a vendere il “loro cloud” in maniera del tutto scorretta ed inappropriata, come se non ci fosse già sufficiente confusione sul tema.

Quale posto migliore, dunque, se non Wikipedia, per provare a fare un po’ di chiarezza?

“In informatica con il termine inglese cloud computing (in italiano nuvola informatica) si indica un paradigma di erogazione di servizi offerti on demand da un fornitore ad un cliente finale attraverso la rete Internet (come l’archiviazione, l’elaborazione o la trasmissione dati), a partire da un insieme di risorse preesistenti, configurabili e disponibili in remoto sotto forma di architettura distribuita.”

In tutta onestà, per quanto mi sforzi, non posso accettare il termine nuvola informatica senza provare un leggero disgusto; in più anche la definizione stessa non mi pare per nulla semplice e chiara.

Facciamo allora un altro passo indietro, perché è davvero importante che i decision maker, i responsabili IT e comunque ognuno di noi abbia una visione quantomeno di insieme su cosa sta succedendo nel mondo delle infrastrutture: il progresso è enorme, il potenziale risparmio più che sostanzioso e le possibilità che si hanno a disposizione inimmaginabili fino a qualche anno fa.

C’era vita prima del Cloud.

Per i nativi del mondo Cloud immaginare di dover creare e/o gestire un’infrastruttura “fisica” (on-premise¹) equivarrebbe a sentirsi proiettati in uno scenario apocalittico; la maggior parte di loro non saprebbe assolutamente dove mettere le mani!

Andrebbe inoltre considerato un investimento iniziale in termini di apparecchiatura, sviluppo e implementazione dei sistemi non indifferente.

Immaginate di voler lanciare un nuovo servizio e dunque di dover predisporre tutto il necessario per reggere il carico di lavoro iniziale; quanti giorni, settimane o mesi dovreste preventivare prima di poter essere online? Inoltre, il tempo sarebbe crescente in modo pressoché lineare rispetto alla dimensione del vostro progetto che, se fallimentare, implicherebbe un inutile spreco di tempo e denaro.

Ipotizziamo invece che la vostra attività abbia successo, che abbiate montato tutti i server necessari, i RAID, i Firewall, analizzato attentamente i problemi di sicurezza dello stabile nel quale risiede l’infrastruttura, allacciato una connettività sufficiente, predisposto una zona ventilata, salubre e senza rischi per la sicurezza sia dal punto di vista fisico che software.
Ipotizziamo infine che tutti questi componenti e tutti gli ulteriori fattori che andrebbero analizzati funzionino come previsto.

A questo punto resterebbe un solo, enorme, dubbio: quanto carico dovrete reggere?

Certamente vi sarete posti il problema i prima di effettuare lo step precedente, ma le conclusioni a cui sareste arrivati sarebbero molto probabilmente stime e non previsioni.

Diamo nuovamente per scontato che le vostre stime siano affidabili e, prendendo spunto da moltissimi casi reali di colossi del web, immaginiamo che il vostro traffico sia più o meno costante durante la settimana ed abbia invece grossi picchi nel weekend.

Questa sarebbe più o meno la situazione del traffico dati che andreste a gestire:

Il grafico parla da sé: il vostro traffico (linea blu scura) sarebbe variabile ma la vostra infrastruttura no.

Nella fase di progettazione iniziale quindi, essendo stati bravissimi con le stime, avreste acquistato e configurato il tutto perchè potesse reggere anche i momenti di picco più impegnativi e quindi l’avreste calibrato su questo ipotetico 45 indicato sull’asse y del grafico.

A questo punto mi preme farvi notare che tutto lo spazio tra le due linee corrisponde alla quantità di soldi che state buttando via 💸💸💸.

Ah, per chiarezza, scordatevi black friday e qualsiasi altro tipo di promozione; se il vostro traffico dovesse superare la fatidica linea azzurra, vi ritrovereste immediatamente offline².

After Cloud

Se siete arrivati fino a questo punto dell’articolo spero vi siate già fatti un’idea di alcuni degli svantaggi delle infrastrutture on-premises; analizziamo ora alcuni utilizzi della tecnologia cloud per poter osservare l’altra faccia della medaglia, i vantaggi, perché sono tantissimi!

Per semplicità continuiamo a considerare il caso della web company, con traffico costante durante la settimana e spikes nei weekend.

Modern Data Center

Per lo startup del progetto l’unica componente necessaria sarebbe la creazione di un account su una delle piattaforma leader di mercato nell’offerta di servizi Cloud: AWS, Azure o Google Cloud.

Una volta effettuato l’accesso avrete a disposizione un enorme numero di servizi, la maggior parte dei quali con nomi di fantasia, cosa che sicuramente genererà un po’ di confusione all’inizio.

Una volta individuato il servizio giusto per la vostra esigenza — nel nostro caso la creazione di “istanze” server — scegliete il tier (ovvero la capacità prestazionale richiesta, generalmente data dal numero di core e dalla quantità di RAM), e le dimensioni dell’Hard Disk.
Et voilà, in pochi secondi il vostro server sarà perfettamente funzionante e raggiungibile.

E la sicurezza? Rapportiamola sempre alla soluzione precedente.

I datacenter di queste società sono protetti con sistemi di sicurezza a livello militare, personale addetto al controllo ed al monitoraggio degli accessi, recinzioni, feed di sicurezza, tecnologie per il rilevamento delle intrusioni e svariate altre misure; esistono addirittura sistemi per il controllo remoto di coloro che controllano!

E questo riguarda solo il layer di sicurezza perimetrale, al quale dobbiamo aggiungere quello infrastrutturale, quello dei dati ed infine, quello ambientale.

Go Green

Nell’analisi delle varie criticità si tende spesso, purtroppo, a trascurare quello che già oggi rappresenta uno dei più grandi global challenges: la sostenibilità.

Consideriamo che Amazon Web Services è riuscita a raggiungere il 50% di utilizzo di energia rinnovabile a partire da Gennaio 2018 e continua a lavorare incessantemente per rendere le sue infrastrutture ecosostenibili: è un risultato davvero incredibile!

Torniamo però all’aspetto operativo, perchè i più attenti potrebbero non essere ancora del tutto soddisfatti: anche se numerosi problemi sono stati effettivamente risolti, quello del carico rimane ancora nebuloso e qui, seppure l’utilizzo delle piattaforme cloud sia condizione necessaria per raggiungere l’obiettivo finale di massima ottimizzazione, non risulta però sufficiente.

L’approccio stesso allo sviluppo deve seguire paradigmi parzialmente diversi da quelli comunemente utilizzati sulle vecchie infrastrutture; è necessario rendere il codice idempotente e totalmente (o quasi) indipendente rispetto alle condizioni ed alle “macchine” su cui viene eseguito.
È inoltre importantissimo che chi si affaccia a questo mondo lavori fin da subito per ottimizzare i propri costi e consumi, aumentare le performance e ridurre al minimo l’intervento umano in operazioni automatizzabili, perché c’è una differenza fondamentale che in molti non capiscono: noleggiare un server in un datacenter remoto non significa assolutamente lavorare in Cloud!

Auto Scaling

Uno dei vantaggi più comunemente noti è sicuramente quello dell’auto scaling, ossia il dimensionamento automatico della propria infrastruttura in base al traffico ed al carico che deve reggere in quel preciso momento.
L’obiettivo della web company che abbiamo analizzato in precedenza, è sicuramente quelli di arrivare a questo tipo di soluzione:

Come si può vedere dal grafico, infatti, le risorse a disposizione di questa piattaforma vengono automaticamente incrementate nei momenti di maggior bisogno e ridotte quando il carico si riduce; conseguentemente i costi di questa infrastruttura non faranno altro che seguire l’andamento del traffico, evitando inutili sprechi.

E’ giusto inoltre specificare che l’aut0scaling può essere orizzontale o verticale: quello orizzontale consente di “lanciare” nuove istanze nel momento del bisogno, distribuendo il carico su ognuna di esse per mezzo di quello che in gergo si chiama Load Balancer³; quello verticale invece comporta unicamente l’aumento delle prestazioni di un singolo nodo (un server presumibilmente) nel momento del bisogno.

Verso l’infinito

Quello che può stupire ai limiti dell’immaginabile è la quantità (e la qualità) degli strumenti che avremo a disposizione una volta registrati ad una di queste piattaforme!

Prendiamo nuovamente ad esempio AWS, che nel consueto evento di Novembre, il re:Invent 2018, ha presentato Ground Station, un servizio interamente gestito, tramite il quale è possibile controllare, elaborare e gestire rapidamente satelliti e l’invio/ricezione di dati tramite essi.

E tutto questo, come sempre, pagando a consumo!

Avete una vaga idea della quantità di soldi che occorrerebbe investire per lavorare con questo tipo di strumenti in modo autonomo? E gli aspetti burocratici?

E se anche aveste questa disponibilità, quale sarebbe il vostro Time to Market⁴?!

Qui habet aures audiendi, audiat.

Di certezze in questo mondo che ne sono davvero poche; una di queste è però che la tecnologia si evolve con estrema velocità.
Spetta a noi scegliere se adattarci ad essa od esserne schiacciati.

Chi ha orecchie per intendere intenda! Le conclusioni sono sicuramente importanti, ma forse solo se siamo noi stessi a trarle.

Ed arrivati a questo punto dell’articolo speriamo che l’abbiate già fatto.

Abbiamo analizzato l’efficienza, la sicurezza, l’affidabilità, la sostenibilità e l’estrema malleabilitá che la tecnologia Cloud ci offre, ma cosa più importante di tutte abbiamo voluto impostare un occhio critico e obiettivo che possa dare a tutti le basi per poter scegliere come impostare il proprio modello di business, utilizzando questo tipo di strumenti.

Siete dunque un po’ più convinti ora di quale sia il miglior approccio per la vostra azienda e i vostri clienti?

¹ on-premises: esecuzione direttamente su macchina locale, sia essa aziendale che privata, intesa sia come singola postazione di lavoro che come server raggiungibile esclusivamente dall’interno della rete aziendale.

² offline: morte.

³ load balancing: In informatica il load balancing, in italiano bilanciamento del carico, è una tecnica informatica utilizzata nell’ambito dei sistemi informatici che consiste nel distribuire il carico di elaborazione di uno specifico servizio, ad esempio la fornitura di un sito web, tra più server, aumentando in questo modo scalabilità e affidabilità dell’architettura nel suo complesso.

TTM: Il Time To Market (o TTM) è una espressione che indica il tempo che intercorre dall’ideazione di un prodotto alla sua effettiva commercializzazione.

--

--