3. Cloud Computing
IaaS
Infrastructure as a Service
Esistono diverse tipologie
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
4. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Cloud Computing
5. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Fonte immagine: http://www.tomshw.it/
Google Compute Engine
6. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
7. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
8. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Fonte immagine: https://developers.google.com/compute/docs/zones
Regions & Zones
9. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Contiene il sistema operativo e il file system root
Solo Linux: Debian e CentOS
Creazione di immagini personalizzate
Images
10. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
11. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Scratch disk
Legato 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 disks
Esistono al di là della vita di un'istanza.
Disks
12. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
13. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
14. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
15. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
16. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
17. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
gcutil Tool & API
18. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Economici
Abbassamento del TCO (Total Cost of Ownership)
Pay per use
Scalabilità
Verticale e orizzontale
Flessibilità
Creazione istanza rapida
Automatizzazione
Vantaggi
19. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Failures
Maintenance windows
Costo maggiore
Non si sfruttano i reali vantaggi del cloud
Cloud vs. Server
1 istanza Cloud ≠ 1 Server
20. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Hardware iniziale minore
Si può partire da n piccole istanze e via via scalare orizzontalmente e/o
verticalmente
Fault-tolerant
Building High Availability Applications on Google Compute Engine
Auto Scaling
Auto Scaling on the Google Cloud Platform
Cloud vs. Server
n istanze Cloud > 1 Server
21. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Partiamo con istanze
con 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
22. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Fonte immagine: http://www.internetria.com/blog/2013/05/08/nosql/
Partiamo con
X istanze
Se servono
più risorse
Affianchiamo
altre Y istanze
Scalabilità
Orizzontale
23. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Fonte immagine: http://www.stylusinc.com/BI/smart-framework/software-testing/
Ottimo per ...
Testing e benchmarking
24. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Fonte immagine: http://blog.vendasta.com/?attachment_id=1650
Ottimo per ...
Uso intenso ma discontinuo
25. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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 Cloud
Cloud non è solo una scelta
26. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
27. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Se progettiamo bene
Fonte immagine: http://www.bthaber.com/kategori/ozel-bulut
28. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Se progettiamo male
Fonte immagine: http://creareamano.blogspot.it/2011_11_01_archive.html
29. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + 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
30. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1 Istanza2 Istanza3
Esempio
Struttura base
31. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1 Istanza2 Istanza3 Istanza4
Esempio
Scalare orizzontalmente
32. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1 Istanza2 Istanza3
Esempio
Scalare verticalmente
33. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1 Istanza2 Istanza3
Esempio
Una istanza fallisce
34. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1 Istanza2 Istanza3
Esempio
Una zona fallisce
35. ZONA 2ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Balancer
Web Server1 Web Server2 Web Server3 Web Server4
DB Server1 DB Server2
Esempio
Uso intenso web server
36. ZONA 1ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Balancer
DB Server1
Web Server1
DB Server2 DB Server3
Web Server2
DB Server4
Esempio
Uso intenso Database
37. REGIONE 1
ZONA 2
ZONA 1
Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Internet
Balancer
Istanza1
Istanza2
Istanza3
DNS
REGIONE 2
ZONA 1
Istanza4
ZONA 2
Istanza5
Balancer
Esempio
Cross regions
38. Blog : www.andrea-cardinale.it
E-mail : a.cardinale80@gmail.com
Twitter : @CardinaleAndrea
Google+ : + Andrea Cardinale
Andrea Cardinale
Risorse utili
Easy, No-Fuss, Cost-Effective: Google Compute Engine Load Balancing
In Action
https://cloud.google.com/resources/articles/google-compute-engine-load-balancing-in-action
Building High Availability Applications on Google Compute Engine
https://cloud.google.com/resources/articles/building-high-availability-applications-on-google-
compute-engine
Auto Scaling on the Google Cloud Platform
https://cloud.google.com/resources/articles/auto-scaling-on-the-google-cloud-platform
Managing Complex Applications in the Cloud
https://cloud.google.com/resources/articles/managing-complex-applications-in-the-cloud