lunedì 26 agosto 2013

Clouding - parte 1/2: spiegazione base

Il clouding è il modo ormai più diffuso - si potrebbe dire, quasi indispensabile - per navigare in rete e ancor più per "fare web".
Voglio quindi accennare qualcosa su questa... pratica? metodologia? servizio? Sinceramente non saprei bene come definirlo/a... ma insomma, dire qualcosa su di esso e cosa comporta, dato che sarà poi un capitolo fondamentale della "pubblicazione" sulla privacy.


Link di riferimento:
  1. Un viaggio...
  2. Wikipedia: cloud computing
  3. Sevizi Cloud [commerciale]
  4. Virtualizzazione nei data center
  5. Cloud e privacy
  6. MEGA - FAQ


Nei link qui sopra potete trovare tutte le spiegazioni "tecniche" e qualche considerazione delle implicazioni del clouding.
Tuttavia, per dovere di completezza ('sta cosa è la mia fissa e rovina XD), ne faccio piccolo accenno qui.

Al via dunque la "spiegazione", consideratela un semplice sommario (con eventuale invito ad approfondire per chi ne fosse interessato).


  • Cos'è "Cloud"
Cloud = nuvola

Il concetto di "cloud" si può considerare una sorta di "estremizazione" del concetto di rete stessa. Volendo fare un paragone grossolano ma almeno sommariamente indicativo, potremmo paragonare l'uso dei dati (attenzione che tutto è "dati", compresi i programmi) ai tre stati della materia:
  1. lo stato solido, massiccio e granitico, è come l'uso più "tradizionale", ove i dati sono posseduti (e fruiti) in locale e vanno scambiati (anche questa è "fruizione") fisicamente
  2. lo stato liquido, mutevole ed adattabile, è come il concetto di rete: i dati, pur avendo origine (la fonte) fisica, e mantenendo legame con essa, diventano più liberi di viaggiare; non è più indispensabile il "contatto fisico", mentre, passando da un "corso d'acqua" all'altro (=i router), le diversi fonti si mescolano ed interagiscono nei laghi e nei mari (=i server e i data center) e da lì possono essere "attinti"
  3. lo stato gassoso, ancor più (appunto) "etereo", è il concetto di cloud; una volta generati da fonte fisica, i dati se ne liberano completamente, formano una nuvola autonoma (ma semi-interagente) ed i vincoli fisici (ma anche tecnici) scompaiono completamente.
Bene, ora che vi ho confuso di più le idee, passiamo ad una spiegazione più terra-terra.


  • In pratica
Si tratta in breve di tutti quei servizi e quei modi d'uso che prevedono la fruizione di dati e/o software (come dicevo, in realtà si sovrappongono) e/o hardware attraverso internet (che sia web o meno, anche se alla fine il clouding inteso nel senso più comune si riferisce a questa pratica in funzione del web).

Scrivere su questo blog è clouding, in quanto utilizzo una piattaforma a cui non ho accesso fisico (nè proprietà), ovvero il software di composizione e gestione e la memoria su cui vado a scrivere i dati.

Usare Facebook, Flickr, GitHub è clouding.
Ma allora, anche il semplice navigare del "web 1.0" (quando era tutto molto meno interattivo e l'utente "normale" si limitava a leggere come se lo schermo fosse un libro) era clouding, perchè alla fine si usufruiva di dati non disponibili fisicamente?
Bè, diciamo che,a rigor di logica... però non si aveva una vera e propria interazione, il suddetto utente non aveva possibilità di modificare tali dati, ne era un semplice utilizzatore. Mentre il clouding prevede una vera e propria interazione, dunque modificare, scambiare, fruire totalmente dei dati pur non avendoli a disposizione fisicamente.

In realtà le linee di confine sono piuttosto labili; e, a mio avviso, anche un po' di comodo in base a questa o quella esigenza.
Ma noi ce ne freghiamo, d'altronde alla fine si tratta di parole :D
Quello che mi preme discutere è questo "nuovo" (in realtà si sviluppa da anni) modo di trattare dati.


  • Accenno alle diverse tipologie
Solo per capire un po' meglio ciò di cui parlo, e per avere una panoramica non troppo "rapezzata", faccio un lieve accenno alle principali tipologie di servizio; anche perchè questo credo renda le idee un po' più chiare.

SaaS: Software as a Service
Viene messo a disposizione, su server remoto, un programma che diventa fruibile tramite rete. Sempre più spesso si trova sotto forma di PaaS.

HaaS: Hardware as a Service
Viene messo a disposizione dell'hardware (solitamente unità di calcolo) che elaborano i dati inviatigli e restituiscono il "risultato". Tranne che per compiti specifici (tipo il calcolo distribuito), è ormai subordinato ad un servizio di tipo Iaas.

DaaS: Data as a Service
Questa è sicuramente la forma più comune ed antica dei servizi Cloud. Si tratta di utilizzare un server remoto (così appare, ma in realtà sono più server) alla stregua di un hard disk, andando a memorizzare lì i nostri dati, per poi averli sempre a disposizione attraverso il collegamento di rete, che diventa l'unico pre-requisito (autenticazione a parte) per la loro fruizione.
Si eliminano dunque ostacoli fisici (quali la distanza) e tecnici (quali il tipo di sistema operativo in uso al momento).
Esempi tipici sono servizi come Flickr (ove i suddetti dati sono le foto) che è anche un servizio misto, gli hard disk virtuali messi a disposizione da diversi gestori (per esempio Ubuntu One di Canonical), ecc...
Nei link sopra proposti ho inserito anche quello di MEGA, che è appunto un servizio di clouding di tipo DaaS (per ora, promette di evolversi col tempo); degno particolarmente di nota secondo me perchè fondato dal tizio di Megaupload, basato su software Open Source e in più con un servizio di cifratura "on-fly". Ne parlerò comunque meglio nella prossima "pubblicazione".

PaaS: Platform as a Service
Si può considerare una sorta di "evoluzione" di SaaS. Invece che fornire un singolo software isolato, si fornisce una "suite" di programmi, spesso interagenti tra loro.
Tipico esempio è Google App Engine.
Per quel che mi riguarda, considerando quanto accennato precedentemente riguardo all'identità "naturale" tra dati e software, anche gestori che offrano il singolo software contemporaneamente alla memorizzazione in remoto dei dati sono considerabili "Paas"; infatti una "piattaforma software" è un insieme (per quanto eventualmente piccolo) organico di singoli software cooperanti. Se tale "struttura" prevede anche il management di dati, tale gestione è considerabile alla stregua di un ulteriore software messo a disposizione.
In quest'ottica la stragrande maggioranza dei servizi misti sono anche Paas: il già citato Flickr, Facebook, Deviantart, ecc... sono tutti servizi che mettono a disposizione spazio per memorizzare dei dati (a volte specifici, come solo foto, a volte più generici, come foto, testi, link, ecc...) ma anche una gestione software per elaborarli, condividerli, pubblicarli, ecc...

IaaS: Infrastructure as a Service
Viceversa al precedente, questo è considerabile come una "generalizzazione" del servizo-base da cui (almeno a livello di classificazione) deriva, ovvero l'HaaS. Infatti col termine "infrastruttura" s'intende non un singolo componente hardware, ma appunto un'infrastruttura finalizzata ad uno scopo preciso.
La tipologia più conosciuta a livello di "normale" utenza è sicuramente quella di hosting (ad esempio, uno fra tanti, Aruba). Anche qui, trattasi in realtà di servizio misto, dato che oltre al servizio principale (quello di hosting appunto), viene sempre messo a disposizione del software per la gestione e/o pubblicazione dei dati "custoditi".
In realtà la natura più profonda di questo servizio è spesso altamente professionale, ove gestori specializzati mettono a disposizione hardware eccessivamente costoso per il singolo utilizzatore (sia in termini di acquisto che di manutenzione), che può così appoggiarsi ad un'infrastruttura altrimenti "inarrivabile". Oltre che per consentire la memorizzazione di massa - fornendo spazio altrimenti non fruibile ed in più consentendone un accesso sempre disponibile e controllato - tali infrastrutture vengono spesso usate per questioni di sicurezza, consentendo un forte controllo dei dati e la forma più sicura (anche se la più grossolana) di tutela contro gli hardware faluire: la ridondanza diffusa.
Inoltre la forte virtualizzazione operata dai data center consente (ad esempio) diversi tipi di hosting sulla stessa macchina fisica (il software "moltiplica virtualmente" l'hardware), oppure un sistema più solido e capiente sostenuto da due (o più) macchine fisiche (l'hardware "upgrada virtualmente" il software). Nel link in alto vi è un esempio di implementazione mista hw/sw di virtualizzazione sperimentale; lo schemino nell'articolo aiuta meglio a capire quello che intendo ;)


Ok, il prossimo post sull'argomento tratterà la tematica che è la vera questione d'interesse per noi: la privacy e la sicurezza.

Alla prossima!

Nessun commento:

Posta un commento