1 / 16

Google App Engine

Google App Engine. Danail Alexiev Technical Trainer SoftAcad.bg. Who’s Talking?. Danail Alexiev Software Consultant at Axway , technical trainer at SoftAcad learning center. Topics Today. What is Google App Engine(GAE) ? Why GAE ? Architecture of GAE Quota & Pricing

Download Presentation

Google App Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg

  2. Who’s Talking? • Danail Alexiev • Software Consultant at Axway, technical trainer at SoftAcad learning center

  3. Topics Today • What is Google App Engine(GAE) ? • Why GAE ? • Architecture of GAE • Quota & Pricing • Developing using GAE • Deploying Applications • Security • GAE datastore • Demo application

  4. What is GAE? • Google’s platform to build Web Applications on the cloud • Dynamic Web server • Transactional DataStore Model

  5. Why GAE? • Automatic scaling and load balancing • Lower total cost of ownership • Web administration console & utilities • Enhances developing & deploying of web applications • Multilanguage support (Java, Python, GO..) • Secure environment (Sandbox)

  6. Architecture of GAE

  7. Quota & Pricing http://code.google.com/intl/bg-BG/appengine/docs/quotas.html#Resources • $0.10 - $0.12 per CPU core-hour • $0.15 - $0.18 per GB-month of storage • $0.11 - $0.13 per GB outgoing bandwidth • $0.09 - $0.11 per GB incoming bandwidth

  8. Developing using GAE • Dynamic web serving • With full support for common web technologies • Persistent storage • With queries, sorting and transactions • Automatic scaling and load balancing • Google Account APIs • For authenticating users and sending email • A local development environment • That simulates Google App Engine on your computer • Task queues • For performing work outside of the scope of a web request • Scheduled tasks for triggering events

  9. The Sandbox • Outgoing access via URL fetch or email services • Incoming access via HTTP (or HTTPS) • Store state via App Engine datastore, memcache • Respond to web request, queued task, scheduled task • Return response data within 30 seconds • Quotas and Limits • Free 500MB of storage and 5 million page views a month • 10 applications per developer account

  10. The GAE Datastore

  11. Intro to DS • Apparently based on BigTable • Absolutely not a relational database • No joins (they do have “reference fields”) • No aggregate queries - not even count()! • Hierarchy affects sharding and transactions • All queries must run against an existing index

  12. Models & Entities • Data is stored as entities • Entities have properties - key/value pairs • An entity has a unique key • Entities live in a hierarchy, and siblings exist in the same entity group • These are actually really important for transactions and performance • A model is kind of like a class; it lets you define a type of entity

  13. Developing using GAE • Hello world • Datastore & entities • Memcache • Mail and Task Queues API • High Replication • Queues & Backends • Warmup requests • Pagination

  14. Deployment • Register using admin console if not done yet and get application ID • Uploading using eclipse plugin – just click upload! • Or using command line : appengine-java-sdk\bin\appcfg.cmd [options] <action> <war-location>

  15. Google App Engine

  16. Homework • Following the GAE tutorial at https://developers.google.com/appengine/docs/java/gettingstarted/creating create and deploy a "Hello World" application in the GAE cloud. • Following the official GAE manuals (https://developers.google.com/appengine/docs/java/gettingstarted/) create and deploy a simple guestbook application in Java or Python. In case you find difficulties, check the solution here: http://code.google.com/p/guestbook-java/ As a result of your work send the source code + the URLs of your working application deployed in GAE.

More Related