Introduction to
     Google App Engine
Chakkrit Tantithanthavorn       #GAEseminar by SWPark
kla@chakkrit.com                           7 June 2012




                            1
2
    Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey




     3
         Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?




                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?




                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?
• Installed App Engine SDK?



                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?
• Installed App Engine SDK?
• Started a sample app on localhost?


                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?
• Installed App Engine SDK?
• Started a sample app on localhost?
• Deployed an app to App Engine?

                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?
• Installed App Engine SDK?
• Started a sample app on localhost?
• Deployed an app to App Engine?
• Plan to use App Engine for production?
                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Quick Survey
• Heard of Cloud Computing before today?
• Heard of App Engine before today?
• Installed App Engine SDK?
• Started a sample app on localhost?
• Deployed an app to App Engine?
• Plan to use App Engine for production?
• Already using App Engine in production?
                   3
                       Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
Agenda
 •   Part I: Introduction to Cloud Computing

      •   What is Cloud Computing?

      •   Classification of Cloud Computing

 •   Part II: Introduction to Google App Engine

      •   What is Google App Engine?

      •   Why Google App Engine?

      •   Core APIs & Language Support

      •   Google App Engine for Business

      •   Google App Engine Customers

      •   Q&A
                                         Time: 9:15-10:15
                           4
What is Cloud Computing?
 National Institute Of Standard and Technology

 Definition of Cloud Computing:

 Cloud computing is a model for enabling ubiquitous, convenient, on-
 demand network access to a shared pool of configurable computing
 resources (e.g., networks, servers, storage, applications, and services)
 that can be rapidly provisioned and released with minimal management
 effort or service provider interaction.

 Ref: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf




                                     5
What is Cloud Computing?
 Cloud Computing like Power Grid.




 source: goo.gl/yI7Dd   6
Classification of Cloud Computing




Source: Gartner AADI Summit Dec 2009
                                       7
Classification of Cloud Computing
Your Applications




                    8
5 Key Cloud Characteristics
• On-demand self-service
• Ubiquitous network access
• Location independent resource pooling
• Rapid elasticity
• Pay per use

                   9
What is Google App Engine?
•   Google’s Platform to build Web applications on the cloud

•   Dynamic Web Server, with full support to common web
    technologies

•   Automatic scaling and local balancing

•   SQL and NoSQL DataStore Model

•   Integration with Google Account through APIs




                              10
Why Google App Engine?
•   Auto Scaling - No need to over provision

•   Static Files - Static files use Google’s CDN

•   Easy Logs - View logs in web console

•   Easy Deployment - Literally 1-click deploy

•   Free Quota - 99% of apps will pay nothing

•   Affordable Scaling - Prices better than AWS

•   No config - No need to config OS or servers

•   Easy Security - Google patches OS/servers




                               11
Google App Engine

• Easy to build
  Local SDK - Java, Python, Go
  Lots of APIs



• Easy to maintain
  Admin Console
  Site Reliability Engineer



• Easy to scale
  Google scale infrastructure
  No limits to how much data you can push in the database



                                        12
Scalability
• Vertical Scalability

•   Horizontal Scalability




                      13
Life of a request



              App       App’s
   User      Engine    Runtime
           Front-End




                14
Scalability

              User
       User
                                  App’s
                                 Runtime
    User


                        App       App’s
   User                Engine    Runtime
                     Front-End
    User


       User                       App’s
              User               Runtime

      Dynamically / Automatically
                          15
Core APIs




            16
Languages Support
• Python v2.5, v2.7
• Java 5, Java 6
• Go




                      17
Development Life Cycle




             18
Admin Console




            19
Google App Engine for Business
• Enterprise application management
   • Centralized domain console
• Enterprise reliability and support
   • Service Level Agreement
   • Direct support
• Hosted SQL
   • Relational SQL database in the cloud




                            20
Google App Engine for Business
• SSL on your domain
• Secure by default
    • Integrated Single Sign On (SSO)
• Pricing that makes sense
    • Apps cost $9 per user, up to $500 max per
      month
    • http://www.google.com/enterprise/cloud/
      appengine/pricing.html



                         21
Google App Engine for Business
Google App Engine - Pricing and Features




                         22
Common type of GAE apps
• Mobile/Tablet
   • App backends
   • Cloud persistence
• Social/Mobile Games
   • Speed, scale
   • API integrations
• Consumer Web Apps
   • Unpredictable traffic
   • Scale
                         23
App Engine Restrictions
•   Read-only access to file system

•   Applications cannot create new threads

•   60 second deadline per request/response

•   Free up to 5GB of storage serving ~5M pageviews/month

•   Further Information: https://developers.google.com/
    appengine/docs/quotas




                              24
App Engine Customers




            25
Social networking at scale




   source: goo.gl/rs4WN   26
Angry Birds




 We didn't want to compromise on performance," he said.
 "We haven't been able to bring this to the Web. It hasn't
 been possible until today. We are bringing Angry Birds to
        the biggest platform out there, the Web.
                            27     http://news.cnet.com/8301-30686_3-20061878-266.html
Chillingo Crystal




              28
The Royal Wedding




Peaked at 32,000 requests per second w/o disruption!
                          29
Acknowledgement
•   Thanks to Software Park Thailand and Google Inc.

•   Thanks to Google Developer Group Thailand (GDG.in.th)

•   All contents in this slides has inspired by many talented
    people.

    •   Thanks to David Chandler, http://www.slideshare.net/
        turbomanage/google-app-engine-update-2012

    •   Thanks to Rajdeep Dua. http://www.slideshare.net/
        rajdeep/introduction-to-google-app-engine-presentation

    •   Thanks to Robin Bhattacharyya. http://
        www.slideshare.net/robinb123/gentle-app-engine-intro



                               30
Thank you for your
        attention.
Chakkrit Tantithanthavorn        #GAEseminar by SWPark
kla@chakkrit.com                            7 June 2012
        http://www.chakkrit.com/gae-seminar/

                            31

Introduction to Google App Engine

  • 1.
    Introduction to Google App Engine Chakkrit Tantithanthavorn #GAEseminar by SWPark kla@chakkrit.com 7 June 2012 1
  • 2.
    2 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 3.
    Quick Survey 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 4.
    Quick Survey • Heardof Cloud Computing before today? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 5.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 6.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? • Installed App Engine SDK? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 7.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? • Installed App Engine SDK? • Started a sample app on localhost? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 8.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? • Installed App Engine SDK? • Started a sample app on localhost? • Deployed an app to App Engine? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 9.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? • Installed App Engine SDK? • Started a sample app on localhost? • Deployed an app to App Engine? • Plan to use App Engine for production? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 10.
    Quick Survey • Heardof Cloud Computing before today? • Heard of App Engine before today? • Installed App Engine SDK? • Started a sample app on localhost? • Deployed an app to App Engine? • Plan to use App Engine for production? • Already using App Engine in production? 3 Image source: http://bringingaba.blogspot.com/2012/02/bring-aba-into-inclusive-classrooms.html
  • 11.
    Agenda • Part I: Introduction to Cloud Computing • What is Cloud Computing? • Classification of Cloud Computing • Part II: Introduction to Google App Engine • What is Google App Engine? • Why Google App Engine? • Core APIs & Language Support • Google App Engine for Business • Google App Engine Customers • Q&A Time: 9:15-10:15 4
  • 12.
    What is CloudComputing? National Institute Of Standard and Technology Definition of Cloud Computing: Cloud computing is a model for enabling ubiquitous, convenient, on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Ref: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf 5
  • 13.
    What is CloudComputing? Cloud Computing like Power Grid. source: goo.gl/yI7Dd 6
  • 14.
    Classification of CloudComputing Source: Gartner AADI Summit Dec 2009 7
  • 15.
    Classification of CloudComputing Your Applications 8
  • 16.
    5 Key CloudCharacteristics • On-demand self-service • Ubiquitous network access • Location independent resource pooling • Rapid elasticity • Pay per use 9
  • 17.
    What is GoogleApp Engine? • Google’s Platform to build Web applications on the cloud • Dynamic Web Server, with full support to common web technologies • Automatic scaling and local balancing • SQL and NoSQL DataStore Model • Integration with Google Account through APIs 10
  • 18.
    Why Google AppEngine? • Auto Scaling - No need to over provision • Static Files - Static files use Google’s CDN • Easy Logs - View logs in web console • Easy Deployment - Literally 1-click deploy • Free Quota - 99% of apps will pay nothing • Affordable Scaling - Prices better than AWS • No config - No need to config OS or servers • Easy Security - Google patches OS/servers 11
  • 19.
    Google App Engine •Easy to build Local SDK - Java, Python, Go Lots of APIs • Easy to maintain Admin Console Site Reliability Engineer • Easy to scale Google scale infrastructure No limits to how much data you can push in the database 12
  • 20.
    Scalability • Vertical Scalability • Horizontal Scalability 13
  • 21.
    Life of arequest App App’s User Engine Runtime Front-End 14
  • 22.
    Scalability User User App’s Runtime User App App’s User Engine Runtime Front-End User User App’s User Runtime Dynamically / Automatically 15
  • 23.
  • 24.
    Languages Support • Pythonv2.5, v2.7 • Java 5, Java 6 • Go 17
  • 25.
  • 26.
  • 27.
    Google App Enginefor Business • Enterprise application management • Centralized domain console • Enterprise reliability and support • Service Level Agreement • Direct support • Hosted SQL • Relational SQL database in the cloud 20
  • 28.
    Google App Enginefor Business • SSL on your domain • Secure by default • Integrated Single Sign On (SSO) • Pricing that makes sense • Apps cost $9 per user, up to $500 max per month • http://www.google.com/enterprise/cloud/ appengine/pricing.html 21
  • 29.
    Google App Enginefor Business Google App Engine - Pricing and Features 22
  • 30.
    Common type ofGAE apps • Mobile/Tablet • App backends • Cloud persistence • Social/Mobile Games • Speed, scale • API integrations • Consumer Web Apps • Unpredictable traffic • Scale 23
  • 31.
    App Engine Restrictions • Read-only access to file system • Applications cannot create new threads • 60 second deadline per request/response • Free up to 5GB of storage serving ~5M pageviews/month • Further Information: https://developers.google.com/ appengine/docs/quotas 24
  • 32.
  • 33.
    Social networking atscale source: goo.gl/rs4WN 26
  • 34.
    Angry Birds Wedidn't want to compromise on performance," he said. "We haven't been able to bring this to the Web. It hasn't been possible until today. We are bringing Angry Birds to the biggest platform out there, the Web. 27 http://news.cnet.com/8301-30686_3-20061878-266.html
  • 35.
  • 36.
    The Royal Wedding Peakedat 32,000 requests per second w/o disruption! 29
  • 37.
    Acknowledgement • Thanks to Software Park Thailand and Google Inc. • Thanks to Google Developer Group Thailand (GDG.in.th) • All contents in this slides has inspired by many talented people. • Thanks to David Chandler, http://www.slideshare.net/ turbomanage/google-app-engine-update-2012 • Thanks to Rajdeep Dua. http://www.slideshare.net/ rajdeep/introduction-to-google-app-engine-presentation • Thanks to Robin Bhattacharyya. http:// www.slideshare.net/robinb123/gentle-app-engine-intro 30
  • 38.
    Thank you foryour attention. Chakkrit Tantithanthavorn #GAEseminar by SWPark kla@chakkrit.com 7 June 2012 http://www.chakkrit.com/gae-seminar/ 31

Editor's Notes

  • #2 \n\n
  • #3 \n
  • #4 \n
  • #5 \n
  • #6 \n
  • #7 \n
  • #8 \n
  • #9 \n
  • #10 \n
  • #11 \n
  • #12 การให้บริการตามความต้องการของผู้ใช้\n\nIn May 1997, NetCentric tried to trademark the “cloud computing” but later abandoned it in April 1999.\nIn April 2001, M$ use cloud’ of computers in Azure platform\nIn August 2006, Eric Schmidt of Google described their approach to SaaS as cloud computing at a search engine conference\nWhen Schmidt Google used it in 2006 to describe their own stuff and then Amazon included the word “cloud” in EC2 when it was launched a few weeks later (August 24)\nhttp://cloudcomputing.sys-con.com/node/795054\n
  • #13 เล่าประวัติ + อธิบายว่า cloud computing คืออะไร\n\n\n
  • #14 End Users\nApplication Developer\nSystem/Network Architect\n
  • #15 \n
  • #16 \n
  • #17 \n
  • #18 \n
  • #19 \n
  • #20 \n
  • #21 \n
  • #22 \n
  • #23 \n
  • #24 \n
  • #25 \n
  • #26 \n
  • #27 \n
  • #28 \n
  • #29 \n
  • #30 \n
  • #31 \n
  • #32 \n
  • #33 \n
  • #34 \n
  • #35 \n
  • #36 \n
  • #37 \n
  • #38 \nGAE ปัจจุบัน Version อะไร??ตอบ 1.6.6\n