SlideShare a Scribd company logo
1 of 30
Infinite Scale 
Introduction to Google App Engine
There are only 10 types of people 
in the world: those who understand 
binary, and those who don’t
There are only 10 types of people 
in the world: those who understand 
binary, and those who don’t 
If you smiled, chances are you’ll understand this 
presentation, if not, at least you’ll know this stuff exists
Google Cloud Platform
Google App Engine 
• Platform as a Service 
• Run applications on Google’s infrastructure 
• Used by millions 
• Best Buy / Coca Cola / Ubisoft / Sony
Google App Engine 
• Build and deploy 
• No worrying about servers or load balancers 
• Auto scale to 7 billion requests per day 
• Java / Python / PHP / Go
GAE Python Runtime Environment 
• App Engine executes Python app code using 
an interpreter in a "sandboxed" environment 
• The interpreter can run any pure Python code 
• The "sandbox" environment isolates your app 
for service and security; an application 
cannot: 
– Write to the filesystem 
– Respond slowly 
– Make other kinds of system calls
GAE Python Runtime Environment 
• GAE Request Headers 
– Sanitized for security 
– Additional headers: country, region, city, latlong 
• GAE Responses 
– All output data is sent, does not support sending data 
to the browser before the handler returns 
– Additional headers when accessing the site as 
administrator: 
• Estimate of what 1,000 similar requests would cost 
• Resources used by the request, including server-side time 
• GAE automatically uses the SPDY protocol
Google App Engine Python Tutorial 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
Google App Engine Python Tutorial 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Hello, Universe! 
• Configuration file: app.yaml 
– YAML: recursive acronym for 
“YAML Ain’t Markup Language” 
– YAML is a human friendly data serialization 
standard for all programming languages 
• Python script: hellouniverse.py 
<CODE/>
Google App Engine Python Tutorial 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Frameworks 
• GAE supports any framework written in pure 
Python that speaks WSGI 
– Django, CherryPy, Pylons, web.py, web2py, etc. 
• WSGI – Web Server Gateway Interface 
– Interface between web servers and web 
applications or frameworks for Python 
• Webapp2 
– App Engine includes a simple web application 
framework, called webapp2
GAE Tutorial Frameworks 
• A webapp2 application has two parts 
– one or more RequestHandler classes that process 
requests and build responses 
– a WSGIApplication instance that routes incoming 
requests to handlers based on the URL
Google App Engine Python Tutorial 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Users 
• GAE provides several useful services based on 
Google infrastructure 
• Users service lets your application integrate 
with Google user accounts 
• With the Users service, your users can use the 
Google accounts they already have to sign in 
to your application 
<CODE/>
Google App Engine Forms 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Forms 
• The webapp2 framework makes processing 
form data easy 
– Define handlers to send form data 
– Define classes or methods to process data 
<CODE/>
Google App Engine Datastore 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Datastore 
• App Engine's data repository, the High 
Replication Datastore (HRD), replicates data 
across multiple datacenters 
• Data is written in Entities 
• The entities form a hierarchically-structured 
space similar to a directory structure 
<CODE/>
Google App Engine Templates 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Templates 
• With a templating system the HTML is kept in 
a separate file with special syntax 
• There are many templating systems for 
Python: EZT, Cheetah, ClearSilver, Quixote, 
Django, Jinja2, etc. 
• App Engine includes the Django and Jinja2 
templating engines 
<CODE/>
Google App Engine Assets 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Assets 
• GAE does not serve files directly out of your 
application's source directory 
• There are many cases where you want to 
serve static files directly to the web browser: 
Images, CSS stylesheets, JavaScript code, 
movies, Flash animations, etc. 
• App Engine can serve specific files without you 
having to code your own handler 
<CODE/>
Google App Engine Tests 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Tests 
• Instead of writing tests after you finish 
developing your application, consider writing 
the tests as you go 
• App Engine provides testing utilities that use 
local implementations of datastore and other 
App Engine services, by using service stubs 
(local service simulators) 
<CODE/>
Google App Engine Deployment 
1. Hello, Universe! 
2. Frameworks 
3. Users 
4. Forms 
5. Datastore 
6. Templates 
7. Assets 
8. Tests 
9. Deployment
GAE Tutorial Deployment 
• Use appcfg.py script or GAE Launcher 
• Each project can have one Release Pipeline: 
– Building the application 
– Running unit tests (optional) 
– Deploying the application to App Engine 
– Sending notifications upon completion (optional) 
• Trigger the Release Pipeline by pushing the 
source to the master branch 
of your Cloud Repository <EXAMPLE/>
Resources: 
• Google Cloud Platform 
https://cloud.google.com/ 
• Google App Engine Docs 
https://cloud.google.com/appengine/docs 
• GAE Developers Console 
https://console.developers.google.com 
• This tutorial is based on the official Python Getting Started guide 
from Google App Engine, created by the App Engine team and 
licensed under the Creative Commons Attribution 3.0 License 
Thank You!

More Related Content

What's hot

Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointChakkaradeep Chandran
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersChris O'Brien
 
Using and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationUsing and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationDenys Vuika
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the CloudSauce Labs
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Helm v3 for Beginners
Helm v3 for BeginnersHelm v3 for Beginners
Helm v3 for BeginnersHrittik Roy
 
Continuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersContinuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersSergey Bolshchikov
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePointIron Speed
 
PGI - QA Automation Initiatives v2
PGI - QA Automation Initiatives v2PGI - QA Automation Initiatives v2
PGI - QA Automation Initiatives v2Mahmudul Hasan
 
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Chris O'Brien
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeSambhu Lakshmanan
 
Deployment automation framework with selenium
Deployment automation framework with seleniumDeployment automation framework with selenium
Deployment automation framework with seleniumWenhua Wang
 
Continuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCDContinuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCDAroj George
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2Shahed Chowdhuri
 
Modern App Development with the SharePoint Framework
Modern App Development with the SharePoint FrameworkModern App Development with the SharePoint Framework
Modern App Development with the SharePoint FrameworkPete Filicetti
 
DevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureDevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureMurughan Palaniachari
 

What's hot (20)

Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Selenium
SeleniumSelenium
Selenium
 
Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePoint
 
COB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developersCOB - Azure Functions for Office 365 developers
COB - Azure Functions for Office 365 developers
 
Using and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationUsing and extending Alfresco Content Application
Using and extending Alfresco Content Application
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Helm v3 for Beginners
Helm v3 for BeginnersHelm v3 for Beginners
Helm v3 for Beginners
 
Continuous Delivery for Front-End Engineers
Continuous Delivery for Front-End EngineersContinuous Delivery for Front-End Engineers
Continuous Delivery for Front-End Engineers
 
Build Database Applications for SharePoint
Build Database Applications for SharePointBuild Database Applications for SharePoint
Build Database Applications for SharePoint
 
PGI - QA Automation Initiatives v2
PGI - QA Automation Initiatives v2PGI - QA Automation Initiatives v2
PGI - QA Automation Initiatives v2
 
ASP.NET Core Unit Testing
ASP.NET Core Unit TestingASP.NET Core Unit Testing
ASP.NET Core Unit Testing
 
Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2Managing the SharePoint 2010 Application Lifecycle - Part 2
Managing the SharePoint 2010 Application Lifecycle - Part 2
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Deployment automation framework with selenium
Deployment automation framework with seleniumDeployment automation framework with selenium
Deployment automation framework with selenium
 
Continuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCDContinuous Delivery with Chef and GoCD
Continuous Delivery with Chef and GoCD
 
ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
 
Modern App Development with the SharePoint Framework
Modern App Development with the SharePoint FrameworkModern App Development with the SharePoint Framework
Modern App Development with the SharePoint Framework
 
DevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azureDevOps ci/cd with Microsoft vsts and azure
DevOps ci/cd with Microsoft vsts and azure
 

Similar to Infinite Scale - Introduction to Google App Engine

App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................HassamShahid2
 
Google App Engine for Python - Unit01: Basic
Google App Engine for Python - Unit01: BasicGoogle App Engine for Python - Unit01: Basic
Google App Engine for Python - Unit01: BasicWei-Tsung Su
 
Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.pptYoung Alista
 
appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)Ryo Yamasaki
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaKunal Dabir
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Naga Rohit
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Servicesmfrancis
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP Eric Johnson
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
 

Similar to Infinite Scale - Introduction to Google App Engine (20)

App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT.ppt
App_Engine_PPT.pptApp_Engine_PPT.ppt
App_Engine_PPT.ppt
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................
 
Google App Engine for Python - Unit01: Basic
Google App Engine for Python - Unit01: BasicGoogle App Engine for Python - Unit01: Basic
Google App Engine for Python - Unit01: Basic
 
Google appenginejava.ppt
Google appenginejava.pptGoogle appenginejava.ppt
Google appenginejava.ppt
 
appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)
 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google De...
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
OSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home ServicesOSGi Community Event 2010 - App Store for the Connected Home Services
OSGi Community Event 2010 - App Store for the Connected Home Services
 
Syncitall
SyncitallSyncitall
Syncitall
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014
 

Recently uploaded

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiMonica Sydney
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Balliameghakumariji156
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsMonica Sydney
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 

Recently uploaded (20)

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 

Infinite Scale - Introduction to Google App Engine

  • 1. Infinite Scale Introduction to Google App Engine
  • 2.
  • 3. There are only 10 types of people in the world: those who understand binary, and those who don’t
  • 4. There are only 10 types of people in the world: those who understand binary, and those who don’t If you smiled, chances are you’ll understand this presentation, if not, at least you’ll know this stuff exists
  • 6. Google App Engine • Platform as a Service • Run applications on Google’s infrastructure • Used by millions • Best Buy / Coca Cola / Ubisoft / Sony
  • 7. Google App Engine • Build and deploy • No worrying about servers or load balancers • Auto scale to 7 billion requests per day • Java / Python / PHP / Go
  • 8. GAE Python Runtime Environment • App Engine executes Python app code using an interpreter in a "sandboxed" environment • The interpreter can run any pure Python code • The "sandbox" environment isolates your app for service and security; an application cannot: – Write to the filesystem – Respond slowly – Make other kinds of system calls
  • 9. GAE Python Runtime Environment • GAE Request Headers – Sanitized for security – Additional headers: country, region, city, latlong • GAE Responses – All output data is sent, does not support sending data to the browser before the handler returns – Additional headers when accessing the site as administrator: • Estimate of what 1,000 similar requests would cost • Resources used by the request, including server-side time • GAE automatically uses the SPDY protocol
  • 10. Google App Engine Python Tutorial 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 11. Google App Engine Python Tutorial 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 12. GAE Tutorial Hello, Universe! • Configuration file: app.yaml – YAML: recursive acronym for “YAML Ain’t Markup Language” – YAML is a human friendly data serialization standard for all programming languages • Python script: hellouniverse.py <CODE/>
  • 13. Google App Engine Python Tutorial 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 14. GAE Tutorial Frameworks • GAE supports any framework written in pure Python that speaks WSGI – Django, CherryPy, Pylons, web.py, web2py, etc. • WSGI – Web Server Gateway Interface – Interface between web servers and web applications or frameworks for Python • Webapp2 – App Engine includes a simple web application framework, called webapp2
  • 15. GAE Tutorial Frameworks • A webapp2 application has two parts – one or more RequestHandler classes that process requests and build responses – a WSGIApplication instance that routes incoming requests to handlers based on the URL
  • 16. Google App Engine Python Tutorial 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 17. GAE Tutorial Users • GAE provides several useful services based on Google infrastructure • Users service lets your application integrate with Google user accounts • With the Users service, your users can use the Google accounts they already have to sign in to your application <CODE/>
  • 18. Google App Engine Forms 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 19. GAE Tutorial Forms • The webapp2 framework makes processing form data easy – Define handlers to send form data – Define classes or methods to process data <CODE/>
  • 20. Google App Engine Datastore 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 21. GAE Tutorial Datastore • App Engine's data repository, the High Replication Datastore (HRD), replicates data across multiple datacenters • Data is written in Entities • The entities form a hierarchically-structured space similar to a directory structure <CODE/>
  • 22. Google App Engine Templates 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 23. GAE Tutorial Templates • With a templating system the HTML is kept in a separate file with special syntax • There are many templating systems for Python: EZT, Cheetah, ClearSilver, Quixote, Django, Jinja2, etc. • App Engine includes the Django and Jinja2 templating engines <CODE/>
  • 24. Google App Engine Assets 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 25. GAE Tutorial Assets • GAE does not serve files directly out of your application's source directory • There are many cases where you want to serve static files directly to the web browser: Images, CSS stylesheets, JavaScript code, movies, Flash animations, etc. • App Engine can serve specific files without you having to code your own handler <CODE/>
  • 26. Google App Engine Tests 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 27. GAE Tutorial Tests • Instead of writing tests after you finish developing your application, consider writing the tests as you go • App Engine provides testing utilities that use local implementations of datastore and other App Engine services, by using service stubs (local service simulators) <CODE/>
  • 28. Google App Engine Deployment 1. Hello, Universe! 2. Frameworks 3. Users 4. Forms 5. Datastore 6. Templates 7. Assets 8. Tests 9. Deployment
  • 29. GAE Tutorial Deployment • Use appcfg.py script or GAE Launcher • Each project can have one Release Pipeline: – Building the application – Running unit tests (optional) – Deploying the application to App Engine – Sending notifications upon completion (optional) • Trigger the Release Pipeline by pushing the source to the master branch of your Cloud Repository <EXAMPLE/>
  • 30. Resources: • Google Cloud Platform https://cloud.google.com/ • Google App Engine Docs https://cloud.google.com/appengine/docs • GAE Developers Console https://console.developers.google.com • This tutorial is based on the official Python Getting Started guide from Google App Engine, created by the App Engine team and licensed under the Creative Commons Attribution 3.0 License Thank You!