Cloud computing

14
Cloud Computing 5/8/2012 Bhuwan Sharma Si fa un gran parlare di "Cloud Computing" di questi tempi, ma cosa vuol dire di preciso? Cosa implica per il tuo business?

description

Una breve presentazione alle diverse tipologie del Cloud computing

Transcript of Cloud computing

Page 1: Cloud computing

Cloud Computing

5 / 8 / 2 0 1 2

Bhuwan Sharma Si fa un gran parlare di "Cloud Computing" di questi tempi, ma cosa vuol dire di preciso? Cosa implica per il tuo business?

Page 2: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Il Cloud Computing

La vita prima del cloud computing

Le applicazioni aziendali tradizionali sono da sempre molto complicate e costose. La quantità e la varietà di hardware e software necessari per la loro esecuzione sono soverchianti. È necessario un intero team di esperti per installarle, configurarle, testarle, eseguirle, proteggerle e aggiornarle.

Se si moltiplica tutto questo per decine o centinaia di applicazioni è facile capire perché anche le più grandi aziende con i migliori reparti IT non riescono ad ottenere le applicazioni di cui hanno bisogno. Le piccole e medie sono letteralmente fuori gioco.

SOLUZIONE?

The Cloud Computing !

Page 3: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

INTRODUZIONE

Il Cloud Computing è un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio offerto da un provider al cliente, di memorizzare/archiviare e/o elaborare dati (tramite CPU o software) grazie all'utilizzo di risorse hardware/software distribuite e virtualizzate in rete. Sfruttando la tecnologia del cloud computing gli utenti collegati ad un cloud provider possono svolgere tutte queste mansioni, anche tramite un semplice internet browser. Possono, ad esempio, utilizzare software remoti non direttamente installati sul proprio computer e salvare dati su memorie di massa on-line predisposte dal provider stesso.

Sul mercato, a seconda delle esigenze dell’utente, sono disponibili varie soluzioni di cloud computing erogate secondo modalità che ricadono in linea di massima in tre categorie, dette “modelli di servizio”:

• negli SaaS (Software as a Service - software erogato come servizio della cloud ), i programmi vengono utilizzati in remoto, attraverso un server web. In poche parole, anzichè installare il software sul proprio PC o nel proprio Datacenter, al software si accede via internet. Il più classico esempio di SaaS è certamente la "banale" posta elettronica;

• negli PaaS (Platform as a Service - piattaforme software fornite

via web come servizio), il fornitore offre soluzioni per lo sviluppo e l’hosting di applicazioni. A essere fornito come servizio, questa volta, non c'è solo l'hardware, ma anche la piattaforma che astrae l'hardware stesso e permette di usufruire di un set di funzionalità (sistema operativo) che consentono di ottenere load balancing, storage, reti, Virtual Machine, deployment. Il vantaggio è quello di concentrarsi solo ed esclusivamente sullo sviluppo dell'applicazione, e non perdersi nell'analisi di problematiche legate all'ambiente in cui essa deve essere distribuita, ottenendo contestualmente dalla piattaforma la scalabilità e l'affidabilità necessaria. Come per l'IaaS, non dobbiamo preoccuparci di aggiornare il sistema operativo: viene tutto gestito dinamicamente e in modo del tutto automatico dalla piattaforma. Se in determinati periodi abbiamo carichi di picco, per esempio durante il periodo natalizio un negozio online può essere soggetto a un carico di richieste decisamente più alto, la piattaforma è in grado di adeguare la propria struttura per rispondere alle mutate esigenze, anche se temporanee.

Page 4: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Diversamente da quanto viene fatto nelle soluzioni tradizionali, dove tutta l'infrastruttura hardware e software deve essere progettata per essere scalabile e affidabile, così da evitare problemi e interruzioni del servizio che causano ripercussioni sul business. Un'infrastruttura di Cloud Computing, invece, è progettata partendo dal presupposto che i problemi ci possono

essere. È quindi in grado di risolverli autonomamente, per quanto possibile, attraverso meccanismi in grado di non bloccare il normale flusso applicativo, come la replica delle macchine virtuali;

• infine, i servizi IaaS (Infrastructure as a Service - infrastruttura cloud resa disponibile come servizio), è una tipologia di Cloud Computing basato sul

consumo, come servizio, di risorse hardware. Server virtuali, potenza di calcolo, storage, reti vengono messi a disposizione per essere utilizzati senza necessariamente dover affrontare costi di acquisto di tale hardware. Il concetto è simile al noleggio, ma con l'importante differenza della manutenzione. Chi utilizza l'infrastruttura cloud non si deve preoccupare di fare manutenzione, rinnovare

l'hardware o sostituire un hard disk; deve semplicemente utilizzare un servizio scalabile e affidabile senza preoccuparsi dei meccanismi di gestione interna.

Page 5: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Il cloud computing va distinto tra private cloud, public cloud, hybrid cloud e community cloud:

Private Cloud

Detto anche internal cloud o corporate cloud è un’ infrastruttura informatica proprietaria che fornisce servizi a un numero limitato di utenti dietro un firewall. Le private cloud possono essere paragonate ai “data center”. Il "private cloud" viene adottato da

un’ azienda che desidera o ha bisogno di maggior controllo sui propri dati rispetto a quanto farebbe utilizzando un servizio di terze parti.

Page 6: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Public Cloud

Detto anche cloud pubblico, è un’ infrastruttura di proprietà di un fornitore specializzato nell’erogazione di servizi che mette a disposizione di utenti, aziende o amministrazioni - e quindi condivide tra di essi - i propri sistemi attraverso l’erogazione via web di applicazioni informatiche, di capacità elaborativa e di memorizzazione dati. L’utilizzo di tali

servizi avviene tramite la rete Internet e implica il trasferimento dell’elaborazione o dei soli dati presso i sistemi del fornitore del servizio, il quale assume un ruolo importate in ordine all’efficacia delle misure adottate per garantire la protezione dei dati che gli sono stati affidati. In questo caso l’utente insieme ai dati, infatti, cede una parte importante del controllo esercitabile su di essi. Ad esempio, la complessità delle infrastrutture, e la loro eventuale dislocazione su siti al di fuori dei confini nazionali potrebbe determinare l’impossibilità sia di conoscere con esattezza l’ubicazione dei propri dati nella nuvola, sia di sapere se e quando i dati vengono spostati da un luogo all'altro per esigenze organizzative, tecniche o economiche difficilmente determinabili e gestibili a priori. Inoltre, la dimensione del fornitore potrebbe condizionare la forza contrattuale dei fruitori del servizio e la loro possibilità di esercitare un controllo diretto, seppur concordato, sui siti e sulle infrastrutture utilizzate per ospitarne i dati.

I servizi di public cloud possono essere gratuiti o offerti secondo un modello pay-per-use, ma l'ifrastruttura di erogazione per essere definita "Cloud" deve essere Multi Tenant, altrimenti è tradizionale Hosting.

Page 7: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Hybrid Cloud

Il cloud ibrido unisce il cloud privato e quello pubblico per cercare di ottenere il massimo dall’impiego dei punti di forza di entrambe le soluzioni. L’utilizzo di un’ infrastruttura ibrida garantisce vantaggi in termini di costi e scalabilità e, allo stesso tempo, offre alle

aziende i canoni di sicurezza di un cloud privato. Il cloud ibrido rappresenta la soluzione ottimale per quelle aziende che dispongono di un’ infrastruttura consolidata e che vogliono migrare gradatamente verso un cloud pubblico, oppure per quelle aziende che vogliono delegare la gestione di una parte delle informazioni all’esterno mantenendone altre all’interno.

Page 8: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Questo sistema permette di fruire dei vantaggi economici dei servizi erogati dai cloud pubblici abbinati al controllo e alla conformità tipici dei cloud privati. Ad esempio, un’azienda può disporre di un cloud privato e allo stesso tempo collaborare con un cloud provider che fornisca capacità aggiuntiva a livello di storage o di infrastruttura.

Community Cloud

Il modello community cloud è un’architettura che ha come scopo principale la condivisione delle risorse tra aziende, comunità che hanno richieste e scopi simili.

Questa soluzione condivide infrastrutture tra diverse comunità di una azienda. I costi per l’utilizzo di tale servizio viene diviso tra le organizzazioni.

Il community cloud può essere gestito in locale o all'esterno dell'organizzazione o dal provider di servizi cloud.

Page 9: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Aspetti positivi del Cloud Computing

Il cloud computing riduce i costi, in quanto le attrezzature si trovano nei server del cloud, non è necessario un capitale iniziale per l’installazione. Inoltre, non sarà nemmeno necessario assumere personale di IT per il controllo e la risoluzione dei problemi relativi a una infrastruttura in azienda. Il cloud computing può essere acquistato come un servizio gestito, sollevandovi così dalle attività e dai costi di gestione, ma disponendo comunque di un portale di gestione per il controllo diretto.

L'altro aspetto unico del cloud computing è la sua portabilità che consente agli utenti di lavorare da qualsiasi luogo. Il lavoro memorizzato sul cloud è accessibile da qualsiasi luogo, proprio come la propria posta personale, che può essere aperto da qualsiasi computer, portatile, tablet e smartphone. Quindi c’è la possibilità di lavorare da casa. Il lavoro è facilmente gestibile da qualsiasi luogo, riducendo così la probabilità di mancato rispetto delle scadenze lavorative.

Servizio 24 ore al giorno, 7 giorni la settimana: i server necessitano di un controllo costante e continuativo. Perché i server non aspetteranno che il personale di IT torni al lavoro il mattino dopo per andare in crash, solo perché al momento non si è in orario di ufficio. I provider di servizi cloud gestiscono le proprie strutture servendosi di personale qualificato in servizio 24 ore al giorno, 7 giorni su 7, sollevandovi così dagli alti costi di riparazione dei guasti e di mantenimento del relativo personale.

Attrezzature di ultima generazione e ultime versioni del software: spesso, passare a nuove versioni di programmi o di server non è un problema di tecnologia, quanto piuttosto di costi. La tecnologia non è sempre economica quando si cerca di rimanere al passo coi tempi, ma utilizzando dei servizi cloud, disporrete sempre di quella più aggiornata, senza dover affrontare spese aggiuntive in conto capitale.

Il cloud computing può essere visto anche come un centro di condivisione dei dati, in quanto rende facile la condivisione delle informazioni, migliorando così le prestazioni aziendali e renderle più efficienti.

L'altro vantaggio del cloud computing è la Il cloud computing è una soluzione che offre la scalabilità.

Aspetti negativi del Cloud Computing

Il cloud computing è completamente dipendente da una connessione internet. La condivisione dei dati comporta questioni di sicurezza e legali. Non c'è ancora chiarezza se la

responsabilità legale per i dati è dell'utente, della server farm o del proprietario di un servizio cloud.

Anche se i dati memorizzati nel cloud non sono influenzati da alcun problema hardware o software, la sicurezza rimane ancora un problema, come nel caso di un server attaccato dove i dati memorizzati potrebbero andare perduti.

Page 10: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Esempi di soluzione sul cloud

Windows Azure La Microsoft offre una moltetudini di soluzioni che si distinguono tra Pay-As-You-Go e abbonamenti.

https://www.windowsazure.com/en-us/home/scenarios/saas/

Google App Engine, IBM Smart Business Development & Test e Amazon Elastic Compute Cloud sono solo alcune delle soluzioni disponibili che offrono questi servizi infrastrutturali.

Google App Engine Google App Engine è l’offerta Platform-as-a-Service di Google. Accedere e utilizzare Google App Engine è estremamente semplice: basta avere o creare un account per far girare le proprie applicazioni direttamente e in modo gratuito sulle infrastrutture di Google. Attualmente il servizio mette a disposizione due ambienti di runtime, per applicazioni Java e Python, e un datastore per memorizzare i dati. L’utilizzo della piattaforma è gratuito, almeno inizialmente, ed è possibile poi acquistare risorse computazionali, di memoria e di banda in funzione delle esigenze. In Google App Engine, le applicazioni sono in esecuzione in un ambiente protetto, necessario per poter garantire la corretta esecuzione delle applicazioni in un contesto distribuito e dinamico di questo tipo. Esempi di limitazioni sono:

• Le applicazioni non possono accedere in scrittura al file system, e possono leggere solo da file che sono caricati in Google App Engine insieme al codice applicativo.

• Le applicazioni possono memorizzare dati utilizzando il datastore, memcache o gli altri servizi offerti come blobstore.

L’offerta di Google fornisce anche un utile plug-in per ambienti di sviluppo Java basati su Eclipse e un ambiente di simulazione di Google App Engine per applicazioni Python che permettono agli sviluppatori di testare le applicazioni localmente prima di caricarle sulla piattaforma di Google. Esistono poi strumenti offerti da terze parti che consentono di monitorare lo stato dell’infrastruttura. Un

Page 11: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

esempio è CloudStatus, offerto da Hyperic, che oltre a monitorare lo stato di Google App Engine, monitora lo stato di Amazon Web Services.

Figura 2 - Esempio di monitoraggio dello stato di Google App Engine tramite CloudStatus.

IBM Smart Business Development & Test Di diverso tipo è invece la soluzione offerta, per ora come progetto pilota, da IBM: IBM Smart Business Development & Test. Tramite questo servizio, IBM mette a disposizione alcuni dei suoi prodotti di test e sviluppo Rational, la versione 7 di WebSphere Application Server, WebSphere sMash, ma anche DB2 v9.7, DB2 Express-C e altro ancora. Tutti questi prodotti sono offerti tramite il provisioning di macchine virtuali basate su Linux (Suse o Red Hat). Tramite browser si può accedere al portale da cui si gestiscono le richieste di provisioning e le immagini create. Sempre sul portale è possibile trovare tutte le informazioni necessarie per poter poi accedere all’immagine creata (per esempio via NX Client) o alle console di amministrazione del software installato su queste.

Page 12: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Figura 3 - Cruscotto di controllo di IBM Smart Business Development & Test.

L’obiettivo di questa offerta è chiaramente differente rispetto alla soluzione marcata Google. Mentre la soluzione di Google permette di sviluppare un’applicazione, caricarla sulla piattaforma e renderla accessibile a chiunque via Internet, la soluzione di IBM ha, come il nome stesso può far intuire, l’obiettivo di fornire uno strumento per lo sviluppo e il test di applicazioni.

EC2 Delle soluzioni IaaS, Amazon Elastic Compute Cloud (EC2) rappresenta probabilmente l’offerta più ampia dal punto di vista della varietà software che mette a disposizione. Alcuni dei maggiori vendor IT infatti permettono di utilizzare in questo ambito le loro più note soluzioni software: Red Hat Enterprise Linux, Windows Server 2003/20008 e Oracle Enterprise Linux; IBM DB2, Microsoft SQL Server Standard 2005 e Oracle Database 11g; IBM WebSphere Portal Server; Jboss Enterprise Application Platform, IBM sMash, Oracle WebLogic Server e IBM WebSphere Application Server, giusto per citarne alcuni. Amazon mette a disposizione l’infrastruttura IT su cui fare il provisioning di istanze di macchine virtuali (le Amazon Machine Image o AMI) che forniscono le funzionalità richieste dall’utente. I servizi offerti vanno dallo storage agli indirizzi IP, dalla possibilità di scegliere e utilizzare differenti datacenter in differenti località alla capacità di effettuare load balancing automatico verso le differenti istanze AMI, alla possiblità di creare delle "Virtual Private Cloud" utilizzando l’infrastruttura Amazon.

Page 13: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Ognuna di queste componenti ha il suo prezzo orario di utilizzo che può essere trovato sul sito di Amazon EC2.

Figura 4 - Esempio di prezzi per istanze On-Demand.

Page 14: Cloud computing

Bhuwan Sharma - J.F. Kennedy 2011-2012

Sitografia

• http://www.garanteprivacy.it/garante/document?ID=1819933 • http://www.salesforce.com/it/cloudcomputing/ • http://cloudea1-web.sharepoint.com/Pages/CloudPubblico.aspx • http://www.zero12.it/cloud-computing/ibrido/ • http://www.lord2y.org/definizione-di-cloud-computing • http://www.gnet.it/crm/tecnologia-crm/28-tecnologia-cloud.html • http://sqlserverrider.wordpress.com/2011/09/10/the-cloud-community-cloud-

part-7/ • http://www.comefarea.it/internet/cloud/cloudcomputing/ • http://www2.mokabyte.it/cms/article.run?articleId=737-FEX-IRG-

685_7f000001_18359738_2eea75be • http://www.fanpage.it/cloud-computing-meriti-e-demeriti/

Bhuwan Sharma