Top Banner
Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg http://clouddevcourse.telerik.c &
17

3. Cloud sofware development - google app-engine

Jan 16, 2015

Download

Technology

Google App Engine
Telerik Software Academy: http://clouddevcourse.telerik.com/
The website and all video materials are in Bulgarian

What is Google App Engine(GAE) ?;
Why GAE ?;
Architecture of GAE;
Quota & Pricing;
Developing using GAE;
Deploying Applications;
Security; GAE datastore;
Demo application
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3. Cloud sofware development - google app-engine

Google App Engine

Danail AlexievTechnical TrainerSoftAcad.bg

http://clouddevcourse.telerik.com

&

Page 2: 3. Cloud sofware development - google app-engine

Who’s Talking?•Danail AlexievoSoftware Consultant at Axway, technical trainer at SoftAcad learning center

Page 3: 3. Cloud sofware development - google app-engine

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

Page 4: 3. Cloud sofware development - google app-engine

What is GAE?• Google’s platform to build Web

Applications on the cloud

• Dynamic Web server

• Transactional DataStore Model

Page 5: 3. Cloud sofware development - google app-engine

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)

Page 6: 3. Cloud sofware development - google app-engine

Architecture of GAE

Page 7: 3. Cloud sofware development - google app-engine

Quota & Pricinghttp://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

Page 8: 3. Cloud sofware development - google app-engine

Developing using GAE

• Dynamic web servingo With full support for common web technologies

• Persistent storageo With queries, sorting and transactions

• Automatic scaling and load balancing• Google Account APIs

o For authenticating users and sending email

• A local development environmento That simulates Google App Engine on your computer

• Task queueso For performing work outside of the scope of a web

request

• Scheduled tasks for triggering events

Page 9: 3. Cloud sofware development - google app-engine

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

Page 10: 3. Cloud sofware development - google app-engine

The GAE Datastore

Page 11: 3. Cloud sofware development - google app-engine

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

Page 12: 3. Cloud sofware development - google app-engine

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 groupo 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

Page 13: 3. Cloud sofware development - google app-engine

Developing using GAE

• Hello world• Datastore & entities• Memcache• Mail and Task Queues API• High Replication• Queues & Backends• Warmup requests• Pagination

Page 14: 3. Cloud sofware development - google app-engine

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>

Page 15: 3. Cloud sofware development - google app-engine

Google App Engine

Page 16: 3. Cloud sofware development - google app-engine

Homework1. 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.

2. 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.

Page 17: 3. Cloud sofware development - google app-engine

Free Trainings @ Telerik

Academy

“Cloud Development" course @ Telerik Academy

clouddevcourse.telerik.com Telerik Software Academy

academy.telerik.com Telerik Academy @ Facebook

facebook.com/TelerikAcademy Telerik Software Academy Forums

forums.academy.telerik.com