Sono un Trainer MCT e Consulente IT freelancer; particolarmente sensibile alle tematiche Mobile e Cloud, sono attivo nel mondo Community soprattutto su Windows Azure e Windows Phone. Mi è stato riconosciuto l’MVP per due anni consecutivi e sono pluricertificato su diversi vendor (MS, Sun, Apple, Cisco, IBM).
Cos’è il Cloud Computing
Cominciamo con il dire che la definizione che Microsoft dà al Cloud Computing, non sempre mi convince: perciò la sostituisco. Secondo me il Cloud Computing è:
“un modello di accesso e fruizione delle risorse IT basato sul consumo invece che basato sull’ownership e/o sul noleggio delle apparecchiature hardware, del software e del middleware. “
Questo perchè condizione necessaria affinchè il Cloud sia Cloud, è che non esista il concetto di ownership di una risorsa, di controllo diretto della stessa E il modello di pricing/billing deve essere equiparato alle public utilities (che tanto per intenderci sono le bollette). C’è anche chi dice che il Cloud “dovrebbe” essere un set di strumenti standardizzati che offrono risorse di calcolo, di storage etc in via uniforme: ma questa visione, seppur condivisibile è solo una visione immaginaria dello scenario odierno del Cloud Computing.
Un’altra condizione necessaria perchè il Cloud sia Cloud è che sia scalabile by design: ovvero analogamente alle public utilities, dove se ho oggi bisogno di elettricità 1 e domani 100, questo deve essere possibile anche con la computazione. Spesso faccio l’esempio che se l’elettricità non fosse “cloud” nessuno potrebbe permettersi un generatore di corrente fisso in casa, oppure un contratto di erogazione continua di energia elettrica. Primo perchè dovrebbe essere dimensionata sul picco, secondo perchè i costi sarebbero invece fissi nonostante il reale utilizzo. Perciò se ben ci sovviene il perchè della necessità delle bollette “a consumo”, dovrebbe essere più facile convincersi che anche per l’IT questo potrebbe essere un bene.
Il grafico qui sopra evidenzia bene quali siano le problematiche di un sistema IT, che per ovvie ragioni (ovvie in un ambito web o consumer) non può prevedere il suo carico o non ci sta a dover pagare per un picco che se si verificherà, probabilmente inciderà sul tempo totale di messa in opera di pochè cifre percentuali. Da cui sarebbe meglio che le risorse si allochino e disallochino all’occorrenza, e si paghi solo l’effettivo consumo (come sotto).
In generale, i patterns in cui ha senso utilizzare un modello Cloud sono i seguenti:
Windows Azure
In tutto questo Windows Azure offre un servizio principalemente PaaS; infatti il SaaS di Microsoft è noto come BPOS o Office 365 e lo IaaS non esiste ancora, se non in fase di sviluppo con la VM Role di Windows Azure. Quindi nei servizi Cloud possiamo discernere tra:
Un buon grafico che riassume le funzioni SaaS, PaaS e IaaS è qui sotto:
Quindi, il PaaS Windows Azure offre:
Inoltre c’è SQL Azure (che è un vero e proprio database relazionale) di cui discuteremo in seguito.