PRD-001 - Cloud Computing

29
Community - Cloud AWS su Google+ Cloud AWS Cloud AWS Amazon Web Services cloud-aws.com Definizione di cloud computing Hangout 01 del 30.10.2013 Davide Riboldi Massimo Della Rovere Questo è il primo hangout che organizziamo sugli amazon web services e parlemo di cloud computing in generale. CLOUD AWS

Transcript of PRD-001 - Cloud Computing

Page 1: PRD-001 - Cloud Computing

Community - Cloud AWS su Google+

Cloud AWSCloud AWS

Amazon Web Services

cloud-aws.com

Definizione di cloud computing

Hangout 01 del 30.10.2013

● Davide Riboldi● Massimo Della Rovere

Questo è il primo hangout che organizziamo sugli amazon web services e parlemo di cloud computing in generale.

CLOUD AWS

Page 2: PRD-001 - Cloud Computing

Cloud computing e utilizzo del termine

Cloud AWS

● Attualmente il termine di Cloud Computing viene usato su qualsiasi cosa si avvicini ad un servizio di on-demand. In realtà la definizione corretta sta ad indicare qualcosa di più.

● Definizione completa pubblicata su National Institute of Standards and Technology (NIST).

Page 3: PRD-001 - Cloud Computing

Cloud computing in una visione di John McCarthy

Cloud AWS

● Nel lontano 1961 John McCarthy durante il centenario del MIT aveva introdotto quello che secondo lui sarebbe stato il futuro dei computer e il nuovo business.

“If computer of the kinds I have advocated become the computers of the future, then computing may someday be organized as a public utility just as a telephone system is a

public utility… The computer utility could become the basis of a new and important industry.”

Page 4: PRD-001 - Cloud Computing

Cloud computing definizione del NIST

Cloud AWS

● Il Cloud Computing è un modello che permette da qualsiasi luogo e in maniera comoda l’accesso su richiesta tramite rete, ad un insieme di risorse di elaborazione condivise e configurabili (es. reti, server, storage, applicazioni e servizi) che vengono rapidamente fornite e rilasciate con il minimo sforzo di gestione o di interazione da parte del fornitore del servizio.

● Trovate una traduzione dettagliata su startbyzero.com scritta da Davide Riboldi, indirizzo URL http://goo.gl/18G9cE

Page 5: PRD-001 - Cloud Computing

Cloud computing definizione del NIST

Cloud AWS

● Il Cloud Computing è un modello composto da:

5 Caratteristiche essenziali

● on-demand self-service● broad network access● resource pooling● rapid elasticity● measured service

3 Modelli di servizio

● software as a service (SaaS)● platform as a service (PaaS)● infrastructure as a service (IaaS)

4 Modelli di distribuzione

● private cloud● community cloud● public cloud● hybrid cloud

Page 6: PRD-001 - Cloud Computing

Cloud computing - Caratteristiche essenziali (1)

Cloud AWS

● On-Demand self-service: Un consumatore, può unilateralmente approvvigionarsi di capacità computazionale come per esempio server time e network storage a seconda delle proprie necessità e in maniera automatica, senza richiedere interazione umana con i fornitori dei servizi.

Page 7: PRD-001 - Cloud Computing

Cloud computing - Caratteristiche essenziali (2)

Cloud AWS

● Broad network access: Le funzionalità sono disponibili in rete e accessibili attraverso meccanismi standard che promuovono l’utilizzo di piattaforme eterogenee thin o thick client (es. telefoni mobili, tablets, computer portatili e stazioni di lavoro pc)

sconsigliato usare sistemi di cloud che permettono l’accesso solo da determinati dispositivi o sistemi operativi.

Page 8: PRD-001 - Cloud Computing

Cloud computing - Caratteristiche essenziali (3)

Cloud AWS

● Rapid Elasticity: Le funzionalità possono essere rilasciate e fornite elasticamente e in alcuni casi in maniera automatica, scalando rapidamente verso l’esterno o verso l’interno in proporzione alla domanda.

Per il consumatore le capacità disponibili spesso sembrano essere illimitate e possono essere messe a disposizione in qualsiasi quantità e in qualsiasi momento.

Page 9: PRD-001 - Cloud Computing

Cloud computing - Caratteristiche essenziali (4)

Cloud AWS

● Measured service: I sistemi di cloud controllano e ottimizzano automaticamente l’utilizzo delle risorse sfruttando una capacità di misurazione ad un livello di astrazione adeguato al tipo di servizio.

L’utilizzo delle risorse può essere monitorato, controllato e segnalato, in maniera trasparente sia per il fornitore che per il consumatore del servizio utilizzato.

Page 10: PRD-001 - Cloud Computing

Cloud computing - Modelli di distribuzione (1)

Cloud AWS

● Private cloud: L’infrastruttura cloud viene fornita ad uso esclusivo di una singola organizzazione che comprende più consumatori (es. business unit).

L’infrastruttura può essere di proprietà, gestita o azionata dall’organizzazione o da terze parti, oppure da una combinazione di essi. L’infrastruttura può trovarsi all’interno o al di fuori della sede dell’organizzazione.

Page 11: PRD-001 - Cloud Computing

Cloud computing - Modelli di distribuzione (2)

Cloud AWS

● Community cloud: L’infrastruttura cloud viene fornita ad uso esclusivo di una specifica comunità di consumatori, provenienti da organizzazioni che condividono gli interessi e preoccupazioni (ad esempio missioni, requisiti di sicurezza, linea di condotta e conformità).

Page 12: PRD-001 - Cloud Computing

Cloud computing - Modelli di distribuzione (3)

Cloud AWS

● Public cloud: L’infrastruttura viene fornita per un utilizzo aperto al grande pubblico, può essere di proprietà, gestita o azionata da organizzazioni aziendali, accademiche o governative, oppure da una combinazione di essi ed è situata nelle sedi del provider.

Page 13: PRD-001 - Cloud Computing

Cloud computing - Modelli di distribuzione (4)

Cloud AWS

● Hybrid cloud: L’infrastruttura cloud è un insieme di due o più infrastrutture cloud distinte (private, community o public) che mantengono la propria unicità, ma sono legate tra di loro da tecnologie standard o proprietarie che consentono la portabilità dei dati e delle applicazioni (esempio cloud bursting per il bilanciamento di carico tra infrastrutture cloud).

Page 14: PRD-001 - Cloud Computing

Cloud computing - Modelli di servizio (1)

Cloud AWS

● Software as a Service (SaaS): La capacità messa a disposizione dell’utente è quella necessaria per utilizzare delle applicazioni gestite dal fornitore e in esecuzione su un’infrastruttura cloud.

L’utente non gestisce e non controlla l’infrastruttura cloud sottostante, che comprende la rete, i server, i sistemi operativi, lo storage o addirittura le singole funzionalità delle applicazioni.

SAAS

Page 15: PRD-001 - Cloud Computing

Cloud computing - Modelli di servizio (2)

Cloud AWS

● Platform as a Service (PaaS): La capacità messa a disposizione dell’utente è quella di distribuire sull’infrastruttura cloud applicazioni acquisite o create, utilizzando linguaggi di programmazione, librerie, servizi e strumenti supportati dal provider.

L’utente non gestisce e non controlla l’infrastruttura cloud sottostante, che comprende la rete, i server e i sistemi operativi, ma ha il controllo sulle applicazioni distribuite e le possibili configurazioni.

PAAS

Page 16: PRD-001 - Cloud Computing

Cloud computing - Modelli di servizio (3)

Cloud AWS

● Infrastructure as a Service (IaaS): La capacità messa a disposizione è quella di fornire elaborazione, archiviazione, reti e altre risorse fondamentali di calcolo dove il consumatore è in grado di distribuire ed eseguire software arbitrario, che può includere sistemi operativi e applicazioni.

L’utente non gestisce e non controlla l’infrastruttura cloud sottostante, ma ha il controllo su sistemi operativi, storage e applicazioni distribuite ed eventualmente il controllo limitato di selezionati componenti di rete (es. firewall host).

IAAS

Page 17: PRD-001 - Cloud Computing

Cloud computing - Modelli di servizio

Cloud AWS

SAAS

PAAS

IAAS

Utenti

Sviluppo

Sistemisti

Page 18: PRD-001 - Cloud Computing

Cloud computing - Amazon Web Services

Cloud AWS

● Nascita di Amazon: Nel 1994 Jeff Bezos (fondatore e attuale CEO di Amazon) vede nella crescita esponenziale di internet una nuova e grande opportunità di business, che si concretizza nel 1995 con la nascita del primo sito di commercio elettronico.

● Nel 1999 Jeff Bezos viene proclamato uomo dell’anno dal Time, mentre la società Amazon continua a crescere generando miliardi di dollari in vendite e riuscendo anche a superare nel 2000 la grande crisi finanziaria della new economy.

Page 19: PRD-001 - Cloud Computing

Cloud computing - Amazon Web Services

Cloud AWS

● Problema: Questa rapida crescita e la conseguente espansione di Amazon mettono in evidenza i grossi limiti legati alla tecnologia del momento, infatti le grandi strutture informatiche e tecnologiche usate a quei tempi erano basate quasi tutte su sistemi monolitici e poco scalabili.

● Soluzione: Per trovare una soluzione al problema nel minor tempo possibile vengono richiamati anche molti programmatori e consulenti esterni, però ogni tentativo risultò invano, fino al giorno in cui Jeff Bezos incontrò Werner Vogels (attuale CTO Amazon) e da quel momento le cose cambiarono radicalmente.

Page 20: PRD-001 - Cloud Computing

Cloud computing - Amazon Web Services

Cloud AWS

● Amazon SQS: Per raggiungere questo obiettivo era necessario creare sistemi di elaborazione più piccoli, un sistema di suddivisione del carico di lavoro e infine un sistema generale di archiviazione comune a tutti i componenti del sistema.

● Proprio per questi motivi i primi servizi che furono sviluppati nella nuova struttura sono stati Amazon SQS nel 2004 (Simple Queue Service) per gestire delle code di comunicazione e smistamento lavoro tra unità di elaborazione diverse.

Page 21: PRD-001 - Cloud Computing

Cloud computing - Amazon Web Services

Cloud AWS

● La grande idea di Amazon che allo stesso tempo risultò rivoluzionaria fu quella di non usare questi servizi ad uso esclusivo interno e quindi legata solo al fabbisogno della vendita online, ma di condividere questa enorme infrastruttura con chiunque abbia avuto necessità di potenza computazionale e non poteva permettersi enormi investimenti di denaro.

● La vendita di questi servizi si rilevò un successo senza precedenti, specialmente negli Stati Uniti, questo dovuto essenzialmente alla qualità e alla affidabilità dimostrata dal servizio stesso e dalla nuova modalità di pagamento che veniva calcolato solo sulle risorse effettivamente utilizzate.

Page 22: PRD-001 - Cloud Computing

Cloud computing - Amazon Web Services

Cloud AWS

● Referenze: I clienti di Amazon Web Services oggi si chiamano Pinterest, SAP, NASDAQ, Animoto, Adode, Flipboard, Linkedin, Netflix, Reddit, Vodafone e molti altri, potete immaginare di che struttura stiamo parlando, pensate che solo Netflix negli Stati Uniti alcune volte raggiunge il 30% di occupazione di banda di tutto il traffico internet americano.

Page 23: PRD-001 - Cloud Computing

Amazon Web Services - Regioni geografiche

Cloud AWS

● I prodotti e i servizi degli Amazon Web Services sono distribuiti e suddivisi in località autonome e completamente indipendenti tra di loro, dislocate in diverse zone geografiche del mondo.

● Queste località vengono chiamate regioni (Regions) in cui all’interno sono presenti le zone di disponibilità. Attualmente, le regioni attive nel mondo sono nove e sono distribuite nel seguente modo:

Page 24: PRD-001 - Cloud Computing

Amazon Web Services - Regioni geografiche

Cloud AWS

Nord America: Northern Virginia, Northern California, Oregon e AWS GovCloud.

Sud America: Sao Paulo, Europa: Irlanda,

Asia–Pacifico: Singapore, Tokyo e Sydney.

Page 25: PRD-001 - Cloud Computing

Amazon Web Services - Zone di disponibilità

Cloud AWS

● Ogni singola regione a sua volta è suddivisa in zone di disponibilità (availability zones), queste zone sono organizzate in uno o più data center isolati e protetti da possibili danni dovuti a disastri naturali. Le zone di disponibilità comunicano tra di loro attraverso un collegamento dedicato a bassa latenza.

● Alcuni servizi come ad esempio S3 condividono tutte le zone di una determinata regione come struttura di ridondanza, infatti quando memorizziamo un file su S3 questo viene replicato su tutte le zone per essere sempre reperibile anche in mancanza di una zona di disponibilità, mentre altri servizi come ad esempio EC2 possono girare su una zona di disponibilità.

Page 26: PRD-001 - Cloud Computing

Amazon Web Services - Le edge locations

Cloud AWS

● A completamento dell’infrastruttura sono state create anche delle località di front end per favorire la bassa latenza e il miglioramento delle prestazioni nella distribuzione dei dati statici verso gli utenti finali. Queste località sono chiamate Edge Locations. I servizi che vengono erogati da queste località in questo momento sono sostanzialmente due:

● Amazon Cloudfront e Amazon Route 53. A seguire una tabella riepilogativa sulla distribuzione a livello geografico di alcune di queste località.

Page 27: PRD-001 - Cloud Computing

Amazon Web Services - Le edge locations

Cloud AWS

Page 28: PRD-001 - Cloud Computing

Amazon Web Services - Conclusione

Cloud AWS

● Grazie a questo tipo di infrastruttura è possibile garantire un’altissima affidabilità su tutte le nostre applicazioni, basta distribuire con un certo criterio i servizi offerti da Amazon Web Services tra le varie zone di disponibilità della nostra regione.

● Invece duplicando gli ambienti applicativi tra le varie regioni geografiche è possibile creare un disaster recovery geografico con costi accettabili, infatti se dovessimo creare quest’ultimo solo con le nostre forze andremmo incontro certamente a dei costi proibitivi con una notevole complessità di configurazione.