SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Introduction To
    Google
   app engine
About speaker




   Speaker:    NAGA ROHIT S
   COnTACT:    snagarohit@gmail.com

 education:    Final Year Under Graudate,
               Department of CSE,
               Indian Institute of Technology Guwahati

Experience: The speaker has explored about an year
               developing applications on Google App
               Engine.
What we will learn today

•   Why Cloud ?
•   Platform as a Service
•   Who are in the race ?
         • Why Google App Engine is the Ge3k’s choice ?
•   Languages Supported
•   Getting Started
•   Hello World App
•   Frameworks
         • Webapp Framework
•   Users API
•   Handling GET & POST
         • Guest Book App
•   What’s Next ?
         •   BigTable
         •   GQL (Not SQL)
                                   INTRODUCTION
         •   Static Content
         •   Templates & Stuff
•   Creating & Uploading Your Application
•   Problems with IITG Proxy
•   Problems Patched 
Why cloud ?



• Scalability
• Redundancy
• Security
• High Initial Investment
• Pay As You Grow
• Pay only for What You Use
•…
• Cloud is the future of Internet
Platform as a service
Who are in the race ?



• Microsoft Azure  (not free)
• Amazon AWS         (free + meh! :P)
• Google App Engine  (free + awesome)
•…
•…
Languages supported



• PYTHON [2.5 + 2.7]
• GO [EXPERIMENTAL]
• JAVA [JAVA 6 JVM]
Getting started



• Minimum Requirements
     • Python 2.5+
     • Linux (Windows Fan? Sorry, You are alone )
•Download App Engine SDK
                 https://developers.google.com/appengine/downloads
                          [Google App Engine SDK for Python]

• Extract SDK
• cd to google_appengine
• Lock and Load!
Hello world app



• Inside the google_appengine directory, create a
  directory with the name helloworld
• Create a file named helloworld.py inside
  helloworld directory.
google_appengine/helloworld/helloworld.py:

                                                    HTTP Header.
                                                    Never mind! Just accept that you
                                                    need to write this line when you want
                                                    to print to the client’s browser



                                    This actually goes to the browser
Hello world app



• App engine application has a configuration file
  called app.yaml which tells the app engine
  about the application being developed and its
  configuration.
• Create a file app.yaml in the helloworld
  directory.
• Wait! What is YAML ?
     • YAML Ain’t Markup Language
     • Yet Another Markup Language
 In short, it’s a more human readable form of
 data storage.
Hello world app



google_appengine/helloworld/app.yaml:
                                        Application Identifier


                                        Version of the Application you are building


                                        Python/Java/Go/whatever

                                        Google API version that this application
                                         is built on. Basically this is for supporting
                                        legacy applications in case APIs change

                                        Handles every request of
                                        http://localhost/<AnyJunkHere>


                                        The script which needs to be run for
                                        the above handle match
Hello world app



• Summarizing,
google_appengine/helloworld/
           • helloworld.py
           • app.yaml

• Now, RUN!
$ ~/google_appengine/dev_appserver.py           helloworld/




       Starts the server by default on   Folder in which the app.yaml
       port 8080. Can be changed by      file for helloworld application resides
       command line options
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
Framework support



• Supports any Python-CGI Framework including
     •   Django
     •   CherryPy
     •   Pylons
     •   Web2Py
• Natively supports webapp Framework.
Webapp framework


google_appengine/helloworld/helloworld.py:                 Import webapp and
                                                           run_wsgi_app modules



                                             Set Headers




HTTP Get Request                                            Print this to browser




                        URL Match


                                                             Handling Class
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
USERS API


• Users API uses Google Accounts Sign-In
google_appengine/helloworld/helloworld.py:
                                              Import users module




                                               If user signs himself using Google Accounts
                                               to your web site, do the following




                              Otherwise, redirect to Sign-In/Sign-Up powered by Google Accounts
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
Guest book app (hadnling forms)


google_appengine/helloworld/helloworld.py:
                                             Good Ol’ HTTP Form that POSTs to
                                             http://localhost:8080/sign page




                                                      http://localhost:8080/sign
                                                      is handled by Guestbook class
Voila! It works!



• In your browser, type:
                 http://localhost:8080 ⏎
What’s next ?



• Using DataStore
  • Using GQL
                                     Explore!
• Using Templates
• Using Static Files in App Engine
• Uploading Your Application
Uploading application



• We use appcfg.py for application deploying
• Create and Manage your application at
                https://appengine.google.com/
• Click “Create Application”




• Follow the instructions and create an Application
  ID
• Application ID is unique throughout App Engine!
Uploading application



• Edit app.yaml file from your helloworld directory
 and change the value of “application:” setting
 from “helloworld” to your registered ID
• Now, RUN!
$ ~/google_appengine/appcfg.py update helloworld/
• If you setup a free *.appspot.com domain name,
  the URL of your application begins with the
  application ID.
                 http://your_app_id.appspot.com
Is that it ?



• That’s all ?


                  NO
problems



• App Engine SDK doesn’t work with Proxy!!

                          

• So, basically, your time is wasted in hearing this
  lecture!
solution



• Kidding!

• I have patched an SDK. I will inform you shortly
 about its download link 
questions
Thanks




 Drop me a mail at

snagarohit@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App EngineAndrea Spadaccini
 
Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Matthew McCullough
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)Praveen Hanchinal
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentColin Su
 
Google App Engine
Google App EngineGoogle App Engine
Google App EngineCsaba Toth
 
Platform as a service google app engine
Platform as a service   google app enginePlatform as a service   google app engine
Platform as a service google app engineDeepu S Nath
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010Chris Schalk
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engineguestd77e8ae
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3Kay Kim
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - OverviewNathan Quach
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Introrobinb123
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsMuhammad Samu
 

Was ist angesagt? (20)

Google app engine
Google app engineGoogle app engine
Google app engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1Cloud Computing Bootcamp On The Google App Engine v1.2.1
Cloud Computing Bootcamp On The Google App Engine v1.2.1
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Platform as a service google app engine
Platform as a service   google app enginePlatform as a service   google app engine
Platform as a service google app engine
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google Application Engine
Google Application EngineGoogle Application Engine
Google Application Engine
 
Google App Engine - Overview #3
Google App Engine - Overview #3Google App Engine - Overview #3
Google App Engine - Overview #3
 
Google app engine - Overview
Google app engine - OverviewGoogle app engine - Overview
Google app engine - Overview
 
Gentle App Engine Intro
Gentle App Engine IntroGentle App Engine Intro
Gentle App Engine Intro
 
Getting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud FunctionsGetting Started with Firebase Cloud Functions
Getting Started with Firebase Cloud Functions
 
Introduction to Firebase from Google
Introduction to Firebase from GoogleIntroduction to Firebase from Google
Introduction to Firebase from Google
 

Andere mochten auch

Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A GlanceStefan Christoph
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappenginemarwa Ayad Mohamed
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAEMaito Kuwahara
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple IntroductionLenny Rachitsky
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Enginerajdeep
 
Google app engine
Google app engineGoogle app engine
Google app engineSuraj Mehta
 

Andere mochten auch (7)

Google App Engine At A Glance
Google App Engine At A GlanceGoogle App Engine At A Glance
Google App Engine At A Glance
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappengine
 
Hello World Python featuring GAE
Hello World Python featuring GAEHello World Python featuring GAE
Hello World Python featuring GAE
 
Google App Engine - Simple Introduction
Google App Engine - Simple IntroductionGoogle App Engine - Simple Introduction
Google App Engine - Simple Introduction
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
HBase Storage Internals
HBase Storage InternalsHBase Storage Internals
HBase Storage Internals
 

Ähnlich wie Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club

Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineMarian Borca
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munichdion
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-pythonDeepak Garg
 
App_Engine_PPT..........................
App_Engine_PPT..........................App_Engine_PPT..........................
App_Engine_PPT..........................HassamShahid2
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1Kay Kim
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaumsandeephegde
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP Eric Johnson
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Apigility-powered API's on IBM i
Apigility-powered API's on IBM iApigility-powered API's on IBM i
Apigility-powered API's on IBM ichukShirley
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAELove Sharma
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory WebinarNuwan Bandara
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
Wso2 product release webinar introducing jaggery
Wso2 product release webinar   introducing jaggeryWso2 product release webinar   introducing jaggery
Wso2 product release webinar introducing jaggeryWSO2
 

Ähnlich wie Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club (20)

Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munich
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
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
 
Google app-engine-with-python
Google app-engine-with-pythonGoogle app-engine-with-python
Google app-engine-with-python
 
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 - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Webapi
WebapiWebapi
Webapi
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Apigility-powered API's on IBM i
Apigility-powered API's on IBM iApigility-powered API's on IBM i
Apigility-powered API's on IBM i
 
Build Android App using GCE & GAE
Build Android App using GCE & GAEBuild Android App using GCE & GAE
Build Android App using GCE & GAE
 
Jaggery Introductory Webinar
Jaggery Introductory WebinarJaggery Introductory Webinar
Jaggery Introductory Webinar
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
Wso2 product release webinar introducing jaggery
Wso2 product release webinar   introducing jaggeryWso2 product release webinar   introducing jaggery
Wso2 product release webinar introducing jaggery
 

Kürzlich hochgeladen

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Kürzlich hochgeladen (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Introduction to Google App Engine - Naga Rohit S [ IIT Guwahati ] - Google Developers Group, Web & Coding Club

  • 1. Introduction To Google app engine
  • 2. About speaker Speaker: NAGA ROHIT S COnTACT: snagarohit@gmail.com education: Final Year Under Graudate, Department of CSE, Indian Institute of Technology Guwahati Experience: The speaker has explored about an year developing applications on Google App Engine.
  • 3. What we will learn today • Why Cloud ? • Platform as a Service • Who are in the race ? • Why Google App Engine is the Ge3k’s choice ? • Languages Supported • Getting Started • Hello World App • Frameworks • Webapp Framework • Users API • Handling GET & POST • Guest Book App • What’s Next ? • BigTable • GQL (Not SQL) INTRODUCTION • Static Content • Templates & Stuff • Creating & Uploading Your Application • Problems with IITG Proxy • Problems Patched 
  • 4. Why cloud ? • Scalability • Redundancy • Security • High Initial Investment • Pay As You Grow • Pay only for What You Use •… • Cloud is the future of Internet
  • 5. Platform as a service
  • 6. Who are in the race ? • Microsoft Azure  (not free) • Amazon AWS  (free + meh! :P) • Google App Engine  (free + awesome) •… •…
  • 7. Languages supported • PYTHON [2.5 + 2.7] • GO [EXPERIMENTAL] • JAVA [JAVA 6 JVM]
  • 8. Getting started • Minimum Requirements • Python 2.5+ • Linux (Windows Fan? Sorry, You are alone ) •Download App Engine SDK https://developers.google.com/appengine/downloads [Google App Engine SDK for Python] • Extract SDK • cd to google_appengine • Lock and Load!
  • 9. Hello world app • Inside the google_appengine directory, create a directory with the name helloworld • Create a file named helloworld.py inside helloworld directory. google_appengine/helloworld/helloworld.py: HTTP Header. Never mind! Just accept that you need to write this line when you want to print to the client’s browser This actually goes to the browser
  • 10. Hello world app • App engine application has a configuration file called app.yaml which tells the app engine about the application being developed and its configuration. • Create a file app.yaml in the helloworld directory. • Wait! What is YAML ? • YAML Ain’t Markup Language • Yet Another Markup Language In short, it’s a more human readable form of data storage.
  • 11. Hello world app google_appengine/helloworld/app.yaml: Application Identifier Version of the Application you are building Python/Java/Go/whatever Google API version that this application is built on. Basically this is for supporting legacy applications in case APIs change Handles every request of http://localhost/<AnyJunkHere> The script which needs to be run for the above handle match
  • 12. Hello world app • Summarizing, google_appengine/helloworld/ • helloworld.py • app.yaml • Now, RUN! $ ~/google_appengine/dev_appserver.py helloworld/ Starts the server by default on Folder in which the app.yaml port 8080. Can be changed by file for helloworld application resides command line options
  • 13. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 14. Framework support • Supports any Python-CGI Framework including • Django • CherryPy • Pylons • Web2Py • Natively supports webapp Framework.
  • 15. Webapp framework google_appengine/helloworld/helloworld.py: Import webapp and run_wsgi_app modules Set Headers HTTP Get Request Print this to browser URL Match Handling Class
  • 16. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 17. USERS API • Users API uses Google Accounts Sign-In google_appengine/helloworld/helloworld.py: Import users module If user signs himself using Google Accounts to your web site, do the following Otherwise, redirect to Sign-In/Sign-Up powered by Google Accounts
  • 18. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 19. Guest book app (hadnling forms) google_appengine/helloworld/helloworld.py: Good Ol’ HTTP Form that POSTs to http://localhost:8080/sign page http://localhost:8080/sign is handled by Guestbook class
  • 20. Voila! It works! • In your browser, type: http://localhost:8080 ⏎
  • 21. What’s next ? • Using DataStore • Using GQL Explore! • Using Templates • Using Static Files in App Engine • Uploading Your Application
  • 22. Uploading application • We use appcfg.py for application deploying • Create and Manage your application at https://appengine.google.com/ • Click “Create Application” • Follow the instructions and create an Application ID • Application ID is unique throughout App Engine!
  • 23. Uploading application • Edit app.yaml file from your helloworld directory and change the value of “application:” setting from “helloworld” to your registered ID • Now, RUN! $ ~/google_appengine/appcfg.py update helloworld/ • If you setup a free *.appspot.com domain name, the URL of your application begins with the application ID. http://your_app_id.appspot.com
  • 24. Is that it ? • That’s all ? NO
  • 25. problems • App Engine SDK doesn’t work with Proxy!!  • So, basically, your time is wasted in hearing this lecture!
  • 26. solution • Kidding! • I have patched an SDK. I will inform you shortly about its download link 
  • 28. Thanks Drop me a mail at snagarohit@gmail.com