cloud google app engine paas
DESCRIPTION
TRANSCRIPT
![Page 1: Cloud Google App Engine Paas](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/1.jpg)
Cloud Computing: PaaS Systems
Michele Stecca
Castelfranco Veneto, 29 Maggio 2012
![Page 2: Cloud Google App Engine Paas](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/2.jpg)
• Alcuni PaaS provider– GAE
– Windows Azure
– Heroku– Heroku
– CloudFoundry
– AppScale*
– …
* Non è un provider!
![Page 3: Cloud Google App Engine Paas](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/3.jpg)
Service modelsService models
(Source: www.openadc.org)
![Page 4: Cloud Google App Engine Paas](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/5.jpg)
Google App Engine (2/5)Google App Engine (2/5)
Architettura di Google App Engine
![Page 6: Cloud Google App Engine Paas](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022081807/54b830344a7959ae148b4598/html5/thumbnails/10.jpg)
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