3. cloud sofware development - google app-engine
DESCRIPTION
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 applicationTRANSCRIPT
![Page 1: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/1.jpg)
Google App Engine
Danail AlexievTechnical TrainerSoftAcad.bg
http://clouddevcourse.telerik.com
&
![Page 2: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/2.jpg)
Who’s Talking?•Danail AlexievoSoftware Consultant at Axway, technical trainer at SoftAcad learning center
![Page 3: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/6.jpg)
Architecture of GAE
![Page 7: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/10.jpg)
The GAE Datastore
![Page 11: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/15.jpg)
Google App Engine
![Page 16: 3. Cloud sofware development - google app-engine](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062417/54b830534a7959ae148b45a1/html5/thumbnails/17.jpg)
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