Cloud computing: quando e perché

Post on 04-Jun-2015

74 Views

Preview:

Click to see full reader

DESCRIPTION

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

Transcript

Cloud Computing

Cloud Computing

IaaSInfrastructure as a Service

Esistono diverse tipologie

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Cloud Computing

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

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

Regions & Zones

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

gcutil Tool & API

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

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

Ottimo per ...Testing e benchmarking

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

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

Ottimo per ...Uso intenso ma discontinuo

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Se progettiamo bene

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Se progettiamo male

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

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioStruttura base

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3 Istanza4

EsempioScalare orizzontalmente

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioScalare verticalmente

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioUna istanza fallisce

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1 Istanza2 Istanza3

EsempioUna zona fallisce

ZONA 2ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Balancer

Web Server1 Web Server2 Web Server3 Web Server4

DB Server1 DB Server2

EsempioUso intenso web server

ZONA 1ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Balancer

DB Server1

Web Server1

DB Server2 DB Server3

Web Server2

DB Server4

EsempioUso intenso Database

REGIONE 1

ZONA 2

ZONA 1

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

Internet

Balancer

Istanza1

Istanza2

Istanza3

DNS

REGIONE 2

ZONA 1

Istanza4

ZONA 2

Istanza5

Balancer

EsempioCross regions

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

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

Thanks!

Blog : www.andrea-cardinale.itE-mail : a.cardinale80@gmail.com

Twitter : @CardinaleAndreaGoogle+ : + Andrea Cardinale

Andrea Cardinale

top related