19
Christian Rizza Email: [email protected] Sitoweb: www.e-ludo.it G+: +ChristianRizza

Introduzione a Google App Engine

Embed Size (px)

DESCRIPTION

Introduzione alla Google Cloud Platform e Google App Engine

Citation preview

Page 1: Introduzione a Google App Engine

Christian RizzaEmail: [email protected]

Sitoweb: www.e-ludo.it

G+: +ChristianRizza

Page 2: Introduzione a Google App Engine

+ChristianRizza

Caso DOOMLa prima versione ufficiale di Doom è

stata pubbicata intorno alla mezzanotte

del 10 dicembre 1993

pochi minuti dopo, l'enorme numero di

utenti che cercavano di scaricare in

contemporanea il file provocò il crash del

sistema.

Nei primi cinque mesi dall'uscita, la

versione shareware è stata prelevata da

1,5 milioni di persone

… era il 1993

Page 3: Introduzione a Google App Engine

+ChristianRizza

Caso Diablo III

"Stiamo risolvendo i

problemi legati a login e

creazione del personaggio

dovuti al traffico. Abbiamo

aggiunto nuovi server e

messo i nostri website

offline"

… era il 2012

Page 4: Introduzione a Google App Engine

+ChristianRizza

E se la nostra App avesse successo?

• Quanti richieste riesce a servire

contemporaneamente ?

• E se dovessimo elaborare dei dati?

• Quanto spazio richiedono i nostri dati?

• Scalabilità orizzontale o verticale?

• …

Page 5: Introduzione a Google App Engine

+ChristianRizza

Google Cloud Platform

• La piattaforma di Google offre diversi

prodotti

Page 6: Introduzione a Google App Engine

+ChristianRizza

Google App Engine

• Infrastruttura semplice da gestire

• Scalabile per siti e/o applicazioni web

• Utile per backend e frontend

• Caratteristiche principali:

Page 7: Introduzione a Google App Engine

+ChristianRizza

Google Compute Engine

• Fornisce un sistema di cloud computing basato su macchine

GNU/Linux interconnesse

• Utile per processi batch e per l’analisi massiva di dati

• Caratteristiche Principali:

Page 8: Introduzione a Google App Engine

+ChristianRizza

Google Cloud Storage

• Garantisce un’infrastruttura di storage con accesso via REST API

• Fornisce supporto per dati critici e funzionalità di backup dei dati

• Caratteristiche Principali:

Page 9: Introduzione a Google App Engine

+ChristianRizza

Google Big Query

• Permette l’analisi dei dati in real-time

• Valuta i trend attraverso SQL e tool interattivi

• Evita qualsiasi tipo di installazione server

• Caratteristiche Principali:

Page 10: Introduzione a Google App Engine

+ChristianRizza

Google Cloud SQL

• Fornisce database relazionali MySql nel cloud

• Include servizi di gestione e amministrazione e replicazione dei

dati

• Caratteristiche Principali:

Page 11: Introduzione a Google App Engine

+ChristianRizza

Google Cloud Datastore

• Permette l’utilizzo di database non relazionali

• Completamente scalabile

• Caratteristiche principali:

Page 12: Introduzione a Google App Engine

+ChristianRizza

Google App Engine

• Piattaforma di hosting e di sviluppo

• Utilizza la stessa infrastruttura di Google

• Ottima garanzia di funzionamento e scalabilità

• Se molto ricco di API attraverso

• Java

• Python

• PHP

• Go

• Possibilità di deploy locale

Page 13: Introduzione a Google App Engine

+ChristianRizza

Servizi

• Integrazione con Google Accounts

• URL fetch

• Mail

• Memcache

• Image Manipulation

• Task schedulati

Page 14: Introduzione a Google App Engine

+ChristianRizza

Quote e Costi

• È possibile utilizzare le quote gratuite

• Fino a 1 GB di storage di tipo NOSQL con Google Datastore

• Fino a 5 milioni di pagine visitate al mese

• È possibile registrare fino a 10 applicazioni differenti

• Nel servizio a pagamento google garantisce il 99,95% di SLA

(Service Level Agreement)

• Oltre le quote

• Superando le quote il "servizio relativo" viene sospeso

• È possibile acquistare risorse aggiuntive per superare le quote o far

fronte a carichi di lavoro improvvisi

Page 15: Introduzione a Google App Engine

+ChristianRizza

Ambiente di Sviluppo

• Google App Engine mette a disposizione il supporto

per lo sviluppo in Java, Python, PHP e Go

• Configurazione per lo sviluppo Java• L’SDK di App Engine

• Installazione JDK 1.7

• Eclipse con Google Plugin

Page 16: Introduzione a Google App Engine

+ChristianRizza

Google Cloud Console

• La console ci permette di

• Gestire le impostazioni dell’applicazione (Info, Servizi collegati)

• Gestire le performance delle applicazioni (Cpu, Memory, Pending

Latency)

• Visualizzare e configurare tutti i servizi Cloud (utilizzati e non)

• Gestire gli host collegati all’app

• Gestire il datastore (backup e replicazione)

• Gestire le istanze della propria applicazione (in base a QPS)

Page 17: Introduzione a Google App Engine

+ChristianRizza

Getting Started

• Google offre diversi strumenti per poter iniziare a

sviluppare applicazioni sul cloud.• Documentazione

• Tutorial

• Esempi

• All’interno della console esistono diversi progetti pronti da

deployare sul cloud e da scaricare per poterne studiare il

funzionamento

• Cosa aspettate?

Page 18: Introduzione a Google App Engine

+ChristianRizza

Passi da seguire

• Configurare l’ambiente di sviluppo (Java, Php, Python e Go)

• Creare l’applicazione in locale

• Utilizzare i servizi messi a disposizione dalla piattaforma

• Pubblicare su Google Cloud

• Gestire la propria applicazione tramite console!

Page 19: Introduzione a Google App Engine

Grazie per l’attenzione

Email: [email protected]

Sitoweb: www.e-ludo.it

G+: +ChristianRizza

Christian Rizza