320 likes | 500 Views
Google App Engine(GAE). Ma, Zhichao 2012.06.19. Cloud. Agenda. What is GAE? Why GAE? Pricing Experiment Assessment. GAE. Overview Runtime environment & Architecture Datastore Services Administration console. Overview. PaaS Run web apps on Google's infrastructure
E N D
Google App Engine(GAE) Ma, Zhichao 2012.06.19
Agenda What is GAE? Why GAE? Pricing Experiment Assessment
GAE Overview Runtime environment & Architecture Datastore Services Administration console
Overview PaaS Run web apps on Google's infrastructure Easy to build, Easy to maintain, Easy to scale API Support languages: Python, Java(JVM-based interpreter or compiler), Go Domain: http://youappid.appspot.com/ Who's using App Engine
Runtime Environment(Java) ServletEnvironment, Java 6 No state 30 seconds limit Sandbox:walled arena
Architecture The App Engine request handling architecture
DataStore High Replication Datastore(HRD) Blobstore Google Cloud SQL
High Replication Datastore(HRD) Based on big table Schemaless JDO, JPA Kind, Entity, property, key
kind 属性 属性 实体 ……
Saving entities • Entity e = new Entity(“STUDENT”); • e.name = “zhangsan”; • datastore.put( e ); • Deleting entity • Entity e = datastore.get(key); • datastore.delete( e );
Query • API • Query q = new Query("Person"); q.addFilter("lastName", Query.FilterOperator.EQUAL, lastNameParam); q.addFilter("height", Query.FilterOperator.LESS_THAN, maxHeightParam); PreparedQuerypq = datastore.prepare(q); for (Entity result : pq.asIterable()) { } • GQL: SQL-like, no join
GQL syntax: SELECT [* | <property list> | __key__] FROM <kind>[WHERE <condition> [AND <condition> ...]][ORDER BY <property> [ASC | DESC] [, <property> [ASC | DESC] ...]][LIMIT [<offset>,]<count>][OFFSET <offset>]<condition> := <property> {< | <= | > | >= | = | != } <value><condition> := <property> IN <list><condition> := ANCESTOR IS <entity or key>
Blobstore Object:Up to 2G Writing Files to the Blobstore (Experimental)
Google Cloud SQL Web service Based on MySql Preview
Services Taskqueues and Cron jobs Memcache Images Users Mails Url Fetch ……
Task Queues and Cron Jobs Work that can’t be done within 30sec Ensures every task gets done eventually Enqueue task within transaction Cron Jobs: scheduled tasks
Administration console Web-based interface Create and manage app View resource usage statistics View logs
Agenda What is GAE? Why GAE? Pricing Experiment Assessment
Why GAE? Scalability Lower total cost of ownership Rich set of APIs Fully featured SDK for local development Ease of deployment Web administration console and diagnostic utilities
Agenda What is GAE? Why GAE? Pricing and Quotas Experiment Assessment
Agenda What is GAE? Why GAE? Pricing and Quotas Experiment Assessment
Assessment Easy to build Easy to scale Easy to maintain API Limit
Useful resources https://developers.google.com/appengine/ http://www.google.com/enterprise/cloud/appengine/pricing.html