39
Cloud Computing

Cloud computing: quando e perché

Embed Size (px)

DESCRIPTION

Panoramica sul Cloud Computing (Google Compute Engine) per il "Google Developer Group DevFest Sicilia 2013"

Citation preview

Page 1: Cloud computing: quando e perché

Cloud Computing

Page 3: Cloud computing: quando e perché

Cloud Computing

IaaSInfrastructure as a Service

Esistono diverse tipologie

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Page 4: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Cloud Computing

Page 6: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Indica la posizione geografica delle risorse

In ogni regione vi sono una o più zone

La comunicazione all'interno e tra le regioni hanno costi diversi.

Regions

Page 7: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

E’ una posizione isolata all'interno di una regione

Indipendente dalle altre zone

Necessarie per garantire alta disponibilità all’interno di una regione

Zones

Page 8: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Fonte immagine: https://developers.google.com/compute/docs/zones

Regions & Zones

Page 9: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Contiene il sistema operativo e il file system root

Solo Linux: Debian e CentOS

Creazione di immagini personalizzate

Images

Page 10: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Determinano le specifiche fisiche delle istanze,○ RAM○ virtual cores○ spazio disco

Esistono diverse tipologie○ Standard○ High CPU○ High memory○ Small

Machine Types

Page 11: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Scratch diskLegato ad un'istanza: se l'istanza viene interrotta per qualsiasi motivo, tutti i dati di dischi di memoria virtuale vengono persi.I dati non vengono mantenuti in caso di operazioni di manutenzione

Persistent disksEsistono al di là della vita di un'istanza.

Disks

Page 12: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Persistent Disks

Possono essere:○ utilizzati per il boot○ collegati e scollegati da una istanza in esecuzione○ collegati in modalità di sola lettura a più istanze

contemporaneamente.

Funzionalità aggiuntive:○ snapshot del disco○ migrazione tra le zone

Disks

Page 13: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Istantanee di un disco persistente

Si possono creare nuovi dischi persistenti da uno snapshot

Utili per il backup

Metodo di creazione differenziale

E’ consigliato fare il flush del buffer del disco

Snapshots

Page 14: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

È una virtual machine

Occorre specificare Progetto e Zona di appartenenza

Hanno un indirizzo IP di rete

Possiamo assegnare un indirizzo IP pubblico

Instances

Page 15: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Per distribuire il traffico in ingresso su più istanze

Fornisce ridondanza per evitare failures

Forwarding Rules & Target Pools

Possibilità di modificare il metodo di default per la distribuzione del carico

Load Balancing

Page 16: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Vengono eseguiti al boot (simili a rc.local)

Utilizzati per installare e configurare i software

È possibile memorizzare lo script a livello locale oppure su Google Cloud Storage

Start Up Scripts

Page 17: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

gcutil Tool & API

Page 18: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

EconomiciAbbassamento del TCO (Total Cost of Ownership)Pay per use

ScalabilitàVerticale e orizzontale

FlessibilitàCreazione istanza rapidaAutomatizzazione

Vantaggi

Page 19: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Failures

Maintenance windows

Costo maggiore

Non si sfruttano i reali vantaggi del cloud

Cloud vs. Server1 istanza Cloud ≠ 1 Server

Page 20: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Hardware iniziale minoreSi può partire da n piccole istanze e via via scalare orizzontalmente e/o verticalmente

Fault-tolerantBuilding High Availability Applications on Google Compute Engine

Auto ScalingAuto Scaling on the Google Cloud Platform

Cloud vs. Servern istanze Cloud > 1 Server

Page 21: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Partiamo con istanzecon poche risorse

Se servono più risorse

Aumentiamo le risorse

Fonte immagine: http://www.transformeddc.com/author.asp?section_id=2693&doc_id=258758

ScalabilitàVerticale

Page 22: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Fonte immagine: http://www.internetria.com/blog/2013/05/08/nosql/

Partiamo conX istanze

Se servonopiù risorse

Affianchiamoaltre Y istanze

ScalabilitàOrizzontale

Page 23: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Fonte immagine: http://www.stylusinc.com/BI/smart-framework/software-testing/

Ottimo per ...Testing e benchmarking

Page 24: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Fonte immagine: http://blog.vendasta.com/?attachment_id=1650

Ottimo per ...Uso intenso ma discontinuo

Page 25: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

L’applicazione deve essere pensata e realizzata appositamente per girare in ambiente cloud.

Occorre creare una struttura ed un codice orientato alla scalabilità, con il presupposto che deve scalare rapidamente e semplicemente.

Filosofia CloudCloud non è solo una scelta

Page 26: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Distribuire le istanze su più zone/regioni

Utilizzare il Load Balancing

Utilizzare il Start Up Scripts

Utilizzare Persistent Disks

Eseguire il backup dei dati

Progettare sistemi robusti

Page 27: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Se progettiamo bene

Fonte immagine: http://www.bthaber.com/kategori/ozel-bulut

Page 28: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Se progettiamo male

Fonte immagine: http://creareamano.blogspot.it/2011_11_01_archive.html

Page 29: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Esiste un vademecum sul Cloud erogato dal Garante della Privacy.

"Cloud Computing: proteggere i dati per non cadere dalla nuvola"

Fonte immagine: http://www.zonalocale.it/rubriche/gabriele-cerulli/ma-come-funziona-la-legge-sulla-privacy

Un po' di burocrazia

Page 30: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioStruttura base

Page 31: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3 Istanza4

EsempioScalare orizzontalmente

Page 32: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioScalare verticalmente

Page 33: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioUna istanza fallisce

Page 34: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioUna zona fallisce

Page 35: Cloud computing: quando e perché

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Balancer

Web Server1 Web Server2 Web Server3 Web Server4

DB Server1 DB Server2

EsempioUso intenso web server

Page 36: Cloud computing: quando e perché

ZONA 1ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Balancer

DB Server1

Web Server1

DB Server2 DB Server3

Web Server2

DB Server4

EsempioUso intenso Database

Page 37: Cloud computing: quando e perché

REGIONE 1

ZONA 2

ZONA 1

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1

Istanza2

Istanza3

DNS

REGIONE 2

ZONA 1

Istanza4

ZONA 2

Istanza5

Balancer

EsempioCross regions

Page 38: Cloud computing: quando e perché

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Risorse utili

Easy, No-Fuss, Cost-Effective: Google Compute Engine Load Balancing In Actionhttps://cloud.google.com/resources/articles/google-compute-engine-load-balancing-in-action

Building High Availability Applications on Google Compute Enginehttps://cloud.google.com/resources/articles/building-high-availability-applications-on-google-compute-engine

Auto Scaling on the Google Cloud Platformhttps://cloud.google.com/resources/articles/auto-scaling-on-the-google-cloud-platform

Managing Complex Applications in the Cloudhttps://cloud.google.com/resources/articles/managing-complex-applications-in-the-cloud

Page 39: Cloud computing: quando e perché

Thanks!

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale