cloud google app engine paas

11
Cloud Computing: PaaS Systems Michele Stecca Castelfranco Veneto, 29 Maggio 2012

Upload: steccami

Post on 16-Jan-2015

492 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Cloud   Google App Engine Paas

Cloud Computing: PaaS Systems

Michele Stecca

Castelfranco Veneto, 29 Maggio 2012

Page 2: Cloud   Google App Engine Paas

• Alcuni PaaS provider– GAE

– Windows Azure

– Heroku– Heroku

– CloudFoundry

– AppScale*

– …

* Non è un provider!

Page 3: Cloud   Google App Engine Paas

Service modelsService models

(Source: www.openadc.org)

Page 4: Cloud   Google App Engine Paas

Google App Engine (1/5)Google App Engine (1/5)

• E’ un PaaS Cloud Provider

• Permette il deployment di applicazioni sviluppatesecondo la specifica delle HTTP Servlet (= deployment diWAR file)

• Utilizza il Servlet container Jetty

• Fornisce un plugin per Eclipse per facilitare lo sviluppo e• Fornisce un plugin per Eclipse per facilitare lo sviluppo eil deployment di applicazioni

• Gestisce in automatico la scalabilità (in base allerichieste/banda/…)

• Alcune limitazioni:

– Impossibilità di creare Thread

– Impossibilità di creare Socket

– …

Page 5: Cloud   Google App Engine Paas

Google App Engine (2/5)Google App Engine (2/5)

Architettura di Google App Engine

Page 6: Cloud   Google App Engine Paas

Google App Engine (3/5)Google App Engine (3/5)

Architettura di Google App Engine

• Runtime Environment: livello di front-end(Application Server, Load Balancer, ecc…)(Application Server, Load Balancer, ecc…)

• Datastore: livello di persistenza basato su BigTable(database non-relazionale)

• Servizi aggiuntivi: memcache, mail, XMPP,URLFetch, ecc…

Page 7: Cloud   Google App Engine Paas

Google App Engine (4/5)Google App Engine (4/5)

La specifica JPA è supportata:

• Esiste un JPA Provider chiamato DataNucleus chegestisce il datastore

• Oltre all’aggiunta di una nuova persistence-unit nelfile persistence.xml, è necessario modificarefile persistence.xml, è necessario modificarel’applicativo per poter continuare ad utilizzare JPA

Page 8: Cloud   Google App Engine Paas

Google App Engine (5/5)Google App Engine (5/5)

• Esiste comunque il concetto di “istanza” ma èdiverso dal concetto di AMI/macchina virtuale dovel’utente deve gestire tutti gli aspetti sistemistici.

– Una istanza è una macchina provvista di RAM ma sullaquale gira solo il container di riferimento (che NON vienequale gira solo il container di riferimento (che NON vienegestito dall’utente)

• Fornisce scalabilità automatica:

– Quando le richieste passano troppo tempo nella codadelle “pending requests”, il sistema scalaautomaticamente

– Il parametro “Pending request latency” è impostabilesolo per le applicazioni a pagamento (2$/week)

Page 9: Cloud   Google App Engine Paas

Altre piattaforme PaaSAltre piattaforme PaaS

• Microsoft Windows Azure (applicazioni .NET)

• CloudFoundry di VMware (Spring, Ruby on Rails, Node.js, ecc.)

• Heroku (applicazioni Ruby)

• Nuvola Italiana

• Seeweb

• Ma non solo Web Apps (per esempio BusinessProcess as a Service come runmyprocess.com)

• AWS Elastic Beanstalk

Ancora Amazon ???

Page 10: Cloud   Google App Engine Paas

AWS Elastic BeanstalkAWS Elastic Beanstalk

• Sviluppato su AWS (è stato rilasciato di recente)

• Permette il deployment di HTTP Servlet (Tomcatserver) o di applicazioni PHP

• E’ possibile effettuare il deployment dei file WAR daEclipse, via Web Service o da Command Line

• Permette l’utilizzo dei DB di AWS

Page 11: Cloud   Google App Engine Paas

Q&A

Grazie per l’attenzione!

Contatti

E-mail:

[email protected]

Twitter:

@steccami