SlideShare a Scribd company logo
1 of 55
Download to read offline
Google App Engine
               Technical Update




Chris Schalk                 Ignacio Blanco
Developer Advocate           Software Engineer
http://twitter.com/cschalk   http://twitter.com/blanconet
What is
  cloud
computing?
Cloud Computing Defined




                           SaaS

                         APaaS


                             IaaS


Source: Gartner AADI Summit Dec 2009
IaaS value proposition…
APaaS value proposition…
APaaS value proposition…
Google App Engine



Easy to build
Easy to maintain
Easy to scale
By the numbers
By the numbers
By the numbers


 250,000+
Developers
By the numbers


100,000+
  Apps
By the numbers

  250M+
   daily
Pageviews
In a word… via Wordle




Word source: http://en.wikipedia.org/wiki/App_Engine
Some App Engine Partners
Socialwok
Social networking at scale

          >62M Users
gigy Socialize
gigy Socialize
                                                                      Flexible Scalability




        "Although we typically host all our services in-house,
  on our own infrastructure, we felt that GAE would be a better fit
for the live chat feature because of its unique traffic pattern, which
 is characterized by very low traffic most of the time with very high
                  bursts during high profile events."

                               Raviv Pavel, Gigya VP of Research and Development


http://googleappengine.blogspot.com/2010/02/scalability-means-flexibility.html#links
Why App Engine?
Managing Everything is Hard
DIY Hosting means hidden
           costs
Idle capacity
Software patches & upgrades
License fees
Lots of maintenance
Traffic & utilization forecasting
Upgrades
Cloud development in a box
SDK & “The Cloud”
Hardware
Networking
Operating system
Application runtime
   Java, Python
Static file serving
Services
Fault tolerance
Load balancing
App Engine Details
Specialized Services

Memcache   Datastore   URL Fetch




  Mail      XMPP       Task Queue




 Images    Blobstore   User Service
Specialized Services

Memcache   Datastore   URL Fetch




  Mail      XMPP       Task Queue




 Images    Blobstore   User Service
Language runtimes




             Duke, the Java mascot
           Copyright © Sun Microsystems Inc., all rights reserved.
Ensuring Portability
Extended Language support
       through JVM
Java
Scala
JRuby (Ruby)
Groovy
Quercus (PHP)
Rhino (JavaScript)    Duke, the Java mascot
                     Copyright © Sun Microsystems Inc., all rights reserved.

Jython (Python)
Always free to get started
-~5M pageviews/month
  6.5 CPU hrs/day
  1 GB storage
  650K URL Fetch calls/day
  2,000 recipients emailed
  1 GB/day bandwidth
  100,000 tasks enqueued
  650K XMPP messages/day
Application Platform Management
App Engine Dashboard
App Engine Health History
20+ months in review
Apr 2008   Python launch
May 2008   Memcache, Images API
Jul 2008   Logs export
Aug 2008   Batch write/delete
Oct 2008   HTTPS support
Dec 2008   Status dashboard, quota details
Feb 2009   Billing, larger files
Apr 2009   Java launch, DB import, cron support, SDC

May 2009   Key-only queries
Jun 2009   Task queues
Aug 2009   Kindless queries
Sep 2009   XMPP
Oct 2009   Incoming Email
Dec 2009   Blobstore
Feb 2010   Datastore cursors
Happy Birthday App Engine!




  Two years old as of Wed April 7th!
  Vibrant community of over 250k developers
  Over 250 million pageviews
  http://googleappengine.blogspot.com/2010/04/happy-birthday.html
Development Tools for App Engine
Google App Engine Launcher
SDK Console
Google Plugin for Eclipse
New Features!
Cursors
# class Person(db.Model): ...

# Start a query for all Person entities.
q = Person.all()

# If the app stored a cursor during a previous request, use it.
last_cursor = memcache.get('person_cursor')
if last_cursor:
    q.with_cursor(last_cursor)

# Perform the query to get 100 results.
people = q.fetch(100)

# Store the latest cursor for the next request.
cursor = q.cursor()
memcache.set('person_cursor', cursor)
Task queue
# for each user, add a task to send a custom email message
  for u in users:
     taskqueue.add(url='/work/sendmail',
       params=dict(to=u.email, subject='Hello ' + u.name, body='this
is a message!'))

  return # finished now, emails will be sent offline using tasks
  ...
# task handler automatically called for each task created above
  class MailWorker(webapp.RequestHandler):
      def post(self):
       mail.send_mail('from_me@example.com',
          self.request.get('to'), self.request.get('subject'),
          self.request.get('body'))
Cron #1
cron.yaml (in your project root)

cron:
- description: clear memcache
  url: /memcache_clear
  schedule: every 24 hours
...

# Human-readable schedule format:
# every 5 minutes
# every 12 hours
# 2nd,third mon,wed,thu of march 17:00
# every monday 09:00
# 1st monday of sep,oct,nov 17:00
# every day 00:00
Cron #2
...
class ClearMemcache(webapp.RequestHandler):
    def get(self):
      pre_flush_stats = memcache.get_stats()
      memcache.flush_all()
      post_flush_stats = memcache.get_stats()
      subject = 'Daily memcache flush'
      sender = 'somebody@example.com'
      recipient = 'interested-people@example.com'
      body = ('Hello! The weekly memcache flush succeeded.n')
      body += '<3 your friendly neighborhood cron job'
      body += 'pre-flush stats %s nn' % str(pre_flush_stats)
      body += 'post-flush stats %s' % str(post_flush_stats)
      mail.send_mail(sender, recipient, subject, body)

application = webapp.WSGIApplication([('/memcache_clear',
ClearMemcache)], debug=True)
...
AppStats

           Win a T-shirt

           Upload before/after
           screenshots and link
           them on Twitter before
           May 2nd
               @app_engine
               #coolappstats
Demo time!
Wall demo App




http://devfestmxwall.appspot.com
Guestbook + XMPP




http://devfestmxguestbook.appspot.com
Add in gmail and chat with:
 devfestmxguestbook@appspot.
             com
A latin american App
Engine user's perspective:
      eForcers.com
Nuestra Experiencia con Google App Engine

   Aplicaciones empresariales y sitios Web públicos
   Runtime Python y Java. ~2 años

Beneficios
  Concentrarnos en la funcionalidad NO en el resto
  Fácil despliegue instalación

Retos
   Base de datos relacional vs. Bigtable
   Limitantes y restricciones
Fundación Rogelio Salmona
                         http://obra.fundacionrogeliosalmona.org




Panel de Soporte para
Operadores Google Apps
Contáctenos

www.eforcers.com

       Eforcers S.A.
       Cra. 12 No. 90 - 20
               Oficina 301
        Bogotá, Colombia
          [571] 6 22 83 20
       info@eforcers.com
More Info on App Engine:
   http://code.google.com/appengine




 http://googleappengine.blogspot.com/
http://gae-java-persistence.blogspot.com/
          http://bit.ly/gcodelabs
One last thing

   If you experience any issue during the
appengine signup like not receiving the SMS



           http://bit.ly/devfestsms

More Related Content

What's hot

Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsJim Jeffers
 
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionBuild 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionWindows Developer
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munichdion
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsChris Love
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsChris Love
 
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web AppMike North
 
Progressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web TechnologiesProgressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web TechnologiesGeekNightHyderabad
 
Progressive Web Apps and React
Progressive Web Apps and ReactProgressive Web Apps and React
Progressive Web Apps and ReactMike Melusky
 
Architecting in Cloud
Architecting in CloudArchitecting in Cloud
Architecting in CloudEdureka!
 
Firebase Cloud Messaging for iOS
Firebase Cloud Messaging for iOSFirebase Cloud Messaging for iOS
Firebase Cloud Messaging for iOSJames Daniels
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...Robert Nyman
 
What's New with Confluence Connect
What's New with Confluence ConnectWhat's New with Confluence Connect
What's New with Confluence ConnectAtlassian
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsFastly
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsAtlassian
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps✅ William Pinaud
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsSuraj Kumar
 
The A1 by Christian John Felix
The A1 by Christian John FelixThe A1 by Christian John Felix
The A1 by Christian John FelixDEVCON
 

What's hot (20)

Building Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in RailsBuilding Mobile Friendly APIs in Rails
Building Mobile Friendly APIs in Rails
 
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and compositionBuild 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
Build 2017 - B8100 - What's new and coming for Windows UI: XAML and composition
 
App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munich
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - Appengine
 
Introduction to Progressive Web Applications
Introduction to Progressive Web ApplicationsIntroduction to Progressive Web Applications
Introduction to Progressive Web Applications
 
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web App
 
Progressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web TechnologiesProgressive Web Applications - The Next Gen Web Technologies
Progressive Web Applications - The Next Gen Web Technologies
 
Progressive Web Apps and React
Progressive Web Apps and ReactProgressive Web Apps and React
Progressive Web Apps and React
 
Oracle APEX & PhoneGap
Oracle APEX & PhoneGapOracle APEX & PhoneGap
Oracle APEX & PhoneGap
 
Architecting in Cloud
Architecting in CloudArchitecting in Cloud
Architecting in Cloud
 
Firebase Cloud Messaging for iOS
Firebase Cloud Messaging for iOSFirebase Cloud Messaging for iOS
Firebase Cloud Messaging for iOS
 
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
The web - What it has, what it lacks and where it must go - Bulgaria Web Summ...
 
What's New with Confluence Connect
What's New with Confluence ConnectWhat's New with Confluence Connect
What's New with Confluence Connect
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Integration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real ThingsIntegration Testing on Steroids: Run Your Tests on the Real Things
Integration Testing on Steroids: Run Your Tests on the Real Things
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
The A1 by Christian John Felix
The A1 by Christian John FelixThe A1 by Christian John Felix
The A1 by Christian John Felix
 

Viewers also liked

Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesChris Schalk
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudChris Schalk
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesChris Schalk
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudChris Schalk
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudChris Schalk
 
Integrating JSF with Google Server-Side technologies
Integrating JSF with Google Server-Side technologiesIntegrating JSF with Google Server-Side technologies
Integrating JSF with Google Server-Side technologiesChris Schalk
 
Questões de vestibulares e ENEM sobre o Mediterrâneo antigo
Questões de vestibulares e ENEM sobre o Mediterrâneo antigoQuestões de vestibulares e ENEM sobre o Mediterrâneo antigo
Questões de vestibulares e ENEM sobre o Mediterrâneo antigoZé Knust
 

Viewers also liked (8)

Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
 
Integrating JSF with Google Server-Side technologies
Integrating JSF with Google Server-Side technologiesIntegrating JSF with Google Server-Side technologies
Integrating JSF with Google Server-Side technologies
 
Questões de vestibulares e ENEM sobre o Mediterrâneo antigo
Questões de vestibulares e ENEM sobre o Mediterrâneo antigoQuestões de vestibulares e ENEM sobre o Mediterrâneo antigo
Questões de vestibulares e ENEM sobre o Mediterrâneo antigo
 

Similar to App engine devfest_mexico_10

App engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycApp engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycChris Schalk
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App EngineChris Schalk
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineTahir Akram
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Lou Sacco
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic appsMichael Stephenson
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for LaunchCraig Phares
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishChris Schalk
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Ido Green
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
 
Resume latest Update
Resume latest UpdateResume latest Update
Resume latest UpdateVaibhav soni
 

Similar to App engine devfest_mexico_10 (20)

App engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nycApp engine cloud_comp_expo_nyc
App engine cloud_comp_expo_nyc
 
What is Google App Engine
What is Google App EngineWhat is Google App Engine
What is Google App Engine
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
Developing Java Web Applications In Google App Engine
Developing Java Web Applications In Google App EngineDeveloping Java Web Applications In Google App Engine
Developing Java Web Applications In Google App Engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Sujeet Gupta
Sujeet GuptaSujeet Gupta
Sujeet Gupta
 
Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014Meteor Meet-up San Diego December 2014
Meteor Meet-up San Diego December 2014
 
Tech UG - Newcastle 09-17 - logic apps
Tech UG - Newcastle 09-17 -   logic appsTech UG - Newcastle 09-17 -   logic apps
Tech UG - Newcastle 09-17 - logic apps
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Bootstrapping an App for Launch
Bootstrapping an App for LaunchBootstrapping an App for Launch
Bootstrapping an App for Launch
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)Big Data And HTML5 (DevCon TLV 2012)
Big Data And HTML5 (DevCon TLV 2012)
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
 
Resume
ResumeResume
Resume
 
Resume latest Update
Resume latest UpdateResume latest Update
Resume latest Update
 

More from Chris Schalk

Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesChris Schalk
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesChris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesChris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudChris Schalk
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Chris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesChris Schalk
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesChris Schalk
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies OverviewChris Schalk
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for BusinessChris Schalk
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesChris Schalk
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris Schalk
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessChris Schalk
 
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryIntro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryChris Schalk
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010Chris Schalk
 
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 App Engine and Social Apps
Google App Engine and Social AppsGoogle App Engine and Social Apps
Google App Engine and Social AppsChris Schalk
 

More from Chris Schalk (20)

Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud Technologies
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud Technologies
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the Cloud
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologies
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
 
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQueryIntro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
Intro to new Google cloud technologies: Google Storage, Prediction API, BigQuery
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010
 
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
 
Google App Engine and Social Apps
Google App Engine and Social AppsGoogle App Engine and Social Apps
Google App Engine and Social Apps
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

App engine devfest_mexico_10

  • 1.
  • 2. Google App Engine Technical Update Chris Schalk Ignacio Blanco Developer Advocate Software Engineer http://twitter.com/cschalk http://twitter.com/blanconet
  • 3. What is cloud computing?
  • 4. Cloud Computing Defined SaaS APaaS IaaS Source: Gartner AADI Summit Dec 2009
  • 8. Google App Engine Easy to build Easy to maintain Easy to scale
  • 11. By the numbers 250,000+ Developers
  • 13. By the numbers 250M+ daily Pageviews
  • 14. In a word… via Wordle Word source: http://en.wikipedia.org/wiki/App_Engine
  • 15. Some App Engine Partners
  • 17. Social networking at scale >62M Users
  • 19. gigy Socialize Flexible Scalability "Although we typically host all our services in-house, on our own infrastructure, we felt that GAE would be a better fit for the live chat feature because of its unique traffic pattern, which is characterized by very low traffic most of the time with very high bursts during high profile events." Raviv Pavel, Gigya VP of Research and Development http://googleappengine.blogspot.com/2010/02/scalability-means-flexibility.html#links
  • 22.
  • 23. DIY Hosting means hidden costs Idle capacity Software patches & upgrades License fees Lots of maintenance Traffic & utilization forecasting Upgrades
  • 24. Cloud development in a box SDK & “The Cloud” Hardware Networking Operating system Application runtime Java, Python Static file serving Services Fault tolerance Load balancing
  • 26. Specialized Services Memcache Datastore URL Fetch Mail XMPP Task Queue Images Blobstore User Service
  • 27. Specialized Services Memcache Datastore URL Fetch Mail XMPP Task Queue Images Blobstore User Service
  • 28. Language runtimes Duke, the Java mascot Copyright © Sun Microsystems Inc., all rights reserved.
  • 30. Extended Language support through JVM Java Scala JRuby (Ruby) Groovy Quercus (PHP) Rhino (JavaScript) Duke, the Java mascot Copyright © Sun Microsystems Inc., all rights reserved. Jython (Python)
  • 31. Always free to get started -~5M pageviews/month 6.5 CPU hrs/day 1 GB storage 650K URL Fetch calls/day 2,000 recipients emailed 1 GB/day bandwidth 100,000 tasks enqueued 650K XMPP messages/day
  • 34. App Engine Health History
  • 35. 20+ months in review Apr 2008 Python launch May 2008 Memcache, Images API Jul 2008 Logs export Aug 2008 Batch write/delete Oct 2008 HTTPS support Dec 2008 Status dashboard, quota details Feb 2009 Billing, larger files Apr 2009 Java launch, DB import, cron support, SDC May 2009 Key-only queries Jun 2009 Task queues Aug 2009 Kindless queries Sep 2009 XMPP Oct 2009 Incoming Email Dec 2009 Blobstore Feb 2010 Datastore cursors
  • 36. Happy Birthday App Engine! Two years old as of Wed April 7th! Vibrant community of over 250k developers Over 250 million pageviews http://googleappengine.blogspot.com/2010/04/happy-birthday.html
  • 37. Development Tools for App Engine
  • 38. Google App Engine Launcher
  • 40. Google Plugin for Eclipse
  • 42. Cursors # class Person(db.Model): ... # Start a query for all Person entities. q = Person.all() # If the app stored a cursor during a previous request, use it. last_cursor = memcache.get('person_cursor') if last_cursor: q.with_cursor(last_cursor) # Perform the query to get 100 results. people = q.fetch(100) # Store the latest cursor for the next request. cursor = q.cursor() memcache.set('person_cursor', cursor)
  • 43. Task queue # for each user, add a task to send a custom email message for u in users: taskqueue.add(url='/work/sendmail', params=dict(to=u.email, subject='Hello ' + u.name, body='this is a message!')) return # finished now, emails will be sent offline using tasks ... # task handler automatically called for each task created above class MailWorker(webapp.RequestHandler): def post(self): mail.send_mail('from_me@example.com', self.request.get('to'), self.request.get('subject'), self.request.get('body'))
  • 44. Cron #1 cron.yaml (in your project root) cron: - description: clear memcache url: /memcache_clear schedule: every 24 hours ... # Human-readable schedule format: # every 5 minutes # every 12 hours # 2nd,third mon,wed,thu of march 17:00 # every monday 09:00 # 1st monday of sep,oct,nov 17:00 # every day 00:00
  • 45. Cron #2 ... class ClearMemcache(webapp.RequestHandler): def get(self): pre_flush_stats = memcache.get_stats() memcache.flush_all() post_flush_stats = memcache.get_stats() subject = 'Daily memcache flush' sender = 'somebody@example.com' recipient = 'interested-people@example.com' body = ('Hello! The weekly memcache flush succeeded.n') body += '<3 your friendly neighborhood cron job' body += 'pre-flush stats %s nn' % str(pre_flush_stats) body += 'post-flush stats %s' % str(post_flush_stats) mail.send_mail(sender, recipient, subject, body) application = webapp.WSGIApplication([('/memcache_clear', ClearMemcache)], debug=True) ...
  • 46. AppStats Win a T-shirt Upload before/after screenshots and link them on Twitter before May 2nd @app_engine #coolappstats
  • 49. Guestbook + XMPP http://devfestmxguestbook.appspot.com Add in gmail and chat with: devfestmxguestbook@appspot. com
  • 50. A latin american App Engine user's perspective: eForcers.com
  • 51. Nuestra Experiencia con Google App Engine Aplicaciones empresariales y sitios Web públicos Runtime Python y Java. ~2 años Beneficios Concentrarnos en la funcionalidad NO en el resto Fácil despliegue instalación Retos Base de datos relacional vs. Bigtable Limitantes y restricciones
  • 52. Fundación Rogelio Salmona http://obra.fundacionrogeliosalmona.org Panel de Soporte para Operadores Google Apps
  • 53. Contáctenos www.eforcers.com Eforcers S.A. Cra. 12 No. 90 - 20 Oficina 301 Bogotá, Colombia [571] 6 22 83 20 info@eforcers.com
  • 54. More Info on App Engine: http://code.google.com/appengine http://googleappengine.blogspot.com/ http://gae-java-persistence.blogspot.com/ http://bit.ly/gcodelabs
  • 55. One last thing If you experience any issue during the appengine signup like not receiving the SMS http://bit.ly/devfestsms