SlideShare a Scribd company logo
Living In The Cloud ,[object Object]
Introductions ,[object Object],http://www.wordle.net/gallery/wrdl/710650/fkedupmonkey_tags
The Cloud!
Tonight’s Agenda ,[object Object],App Engine
Before the Cloud: Web Apps
After the Cloud: Web Apps
[object Object],Mo’ Users, Mo’ Problems
Old Architecture code/data
Old Architecture
Old Architecture
Old Architecture
Solution: App Engine
What Is App Engine? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ We wear pagers so you don’t have to.” —  Guido van Rossum Scalable }
App Engine Architecture code data
Simple, Automatic Scaling
App Engine Components code data
Python
Data Store
Data Store db.GqlQuery(&quot;SELECT * FROM Shout &quot; &quot;WHERE who >= 'b '  AND who <  '   c  '   &quot; &quot;ORDER BY when DESC&quot;).fetch(100) query = Shout.all() query.order('-date') query.filter('who >=', 'b') query.filter('who <', ‘c') shouts = query.fetch(100)
Memcache
Users @gmail.com @myappsdomain.com
Demo ,[object Object]
Before the Cloud: User Apps
After the Cloud: User Apps
[object Object],[object Object],Damn Needy Users
Solution: Google data APIs
How Do You Make Things Accessible? ,[object Object],[object Object],A pplication P rogramming I nterface ( )
APIs ,[object Object],[object Object]
Remote Procedure Calls fooInstance->addNumbers(2, 3); <?xml version=&quot;1.0&quot;?><methodCall>  <methodName>Foo.addNumbers</methodName>  <params>  <param>  <value><int>2</int></value> <value><int>3</int></value>  </param>  </params></methodCall> fooInstance.addNumbers(2, 3); PHP XML (Network) C++
REST [Fielding 2000] Re presentational S tate T ransfer ( )
REST ,[object Object],Application state and functionality is abstracted into discrete  resources .
REST ,[object Object],Resources are accessible via  URLs . /blog/posts/1234
REST ,[object Object],Resources share a  uniform interface  for  transferring state . HTTP:// } GET POST PUT DELETE
RSS/ATOM Feed { Entries Example RSS feed.
ATOMPub Feed { Entries GET POST PUT DELETE
Google data APIs Protocol Feed Query { Entries GET POST PUT DELETE
The Google Data Protocol REST Google Data Protocol RSS 2.0 Architecture Syndication Updates AtomPub Atom
The Google Data Protocol RSS 2.0 Atom(Pub) Google Data Syndication Format ✓ ✓ ✓ Queries ✓ Updates ✓ ✓ Optimistic Concurrency ✓ Authentication ✓
The Google Data Protocol Over 15 APIs, 1 Protocol Many Uses
Case Study: CalGoo
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requesting a feed or resource
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Creating a new resource
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Creating a new resource
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Updating an entry
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Updating an entry
The Google Data Protocol ,[object Object],[object Object],Updating an entry
Demo ,[object Object]
The Google Data Protocol ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Searching for a resource
Demo ,[object Object]
JSON and RSS ,[object Object],?alt=json ?alt=json-in-script ?alt=kml ?alt=rss
Client Libraries ,[object Object],.NET Java JavaScript Objective-C Python + Community Contributed
Demo ,[object Object]
My Secret Motivation For Giving This Talk ,[object Object],[object Object],[object Object]
Demo ,[object Object]
Conclusion ,[object Object],App Engine Scalable Architecture (AtomPub) APIs
Questions? Pamela Fox [email_address] @pamelafox More Info http://code.google.com ↶

More Related Content

What's hot

Week13 key concepts_googlesearchtechniques
Week13 key concepts_googlesearchtechniquesWeek13 key concepts_googlesearchtechniques
Week13 key concepts_googlesearchtechniques
carolyn oldham
 

What's hot (20)

Spam Wars
Spam WarsSpam Wars
Spam Wars
 
Server Logs: After Excel Fails
Server Logs: After Excel FailsServer Logs: After Excel Fails
Server Logs: After Excel Fails
 
Week 9 10 ppt-google_search
Week 9 10 ppt-google_searchWeek 9 10 ppt-google_search
Week 9 10 ppt-google_search
 
Information Retrieval and Extraction
Information Retrieval and ExtractionInformation Retrieval and Extraction
Information Retrieval and Extraction
 
Week 9 10 ppt-how_searchworks
Week 9 10 ppt-how_searchworksWeek 9 10 ppt-how_searchworks
Week 9 10 ppt-how_searchworks
 
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick StoxPubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
Pubcon Vegas 2017 You're Going To Screw Up International SEO - Patrick Stox
 
Google's Top 3 Ranking Factors - Content, Links, and RankBrain - Raleigh SEO ...
Google's Top 3 Ranking Factors - Content, Links, and RankBrain - Raleigh SEO ...Google's Top 3 Ranking Factors - Content, Links, and RankBrain - Raleigh SEO ...
Google's Top 3 Ranking Factors - Content, Links, and RankBrain - Raleigh SEO ...
 
Twitter data analysis using r (part 2)
Twitter data analysis using r (part 2)Twitter data analysis using r (part 2)
Twitter data analysis using r (part 2)
 
FoundConf 2018 Signals Speak - Alexis Sanders
FoundConf 2018 Signals Speak - Alexis SandersFoundConf 2018 Signals Speak - Alexis Sanders
FoundConf 2018 Signals Speak - Alexis Sanders
 
Using the RSS Platform on Windows: Syndication Goes Mainstream
Using the RSS Platform on Windows: Syndication Goes MainstreamUsing the RSS Platform on Windows: Syndication Goes Mainstream
Using the RSS Platform on Windows: Syndication Goes Mainstream
 
TechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEOTechSEO Boost 2018: The Statelessness of Technical SEO
TechSEO Boost 2018: The Statelessness of Technical SEO
 
Mobile-First Indexing and AMP - SMX Advanced 2018
Mobile-First Indexing and AMP - SMX Advanced 2018Mobile-First Indexing and AMP - SMX Advanced 2018
Mobile-First Indexing and AMP - SMX Advanced 2018
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
 
Cloud Computing Project
Cloud Computing ProjectCloud Computing Project
Cloud Computing Project
 
Week13 key concepts_googlesearchtechniques
Week13 key concepts_googlesearchtechniquesWeek13 key concepts_googlesearchtechniques
Week13 key concepts_googlesearchtechniques
 
Week12keyconceptsgooglesearchtechniques
Week12keyconceptsgooglesearchtechniquesWeek12keyconceptsgooglesearchtechniques
Week12keyconceptsgooglesearchtechniques
 
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 20195 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
5 Time-Saving SEO Alerts to Use Right Now - brightonSEO 2019
 
BD-ACA Week6
BD-ACA Week6BD-ACA Week6
BD-ACA Week6
 
Fe Colleges Conference
Fe Colleges ConferenceFe Colleges Conference
Fe Colleges Conference
 
Introducing URL Shorteners
Introducing URL ShortenersIntroducing URL Shorteners
Introducing URL Shorteners
 

Viewers also liked

Viewers also liked (7)

Ten modules I haven't yet talked about
Ten modules I haven't yet talked aboutTen modules I haven't yet talked about
Ten modules I haven't yet talked about
 
Iot dan cc
Iot dan ccIot dan cc
Iot dan cc
 
Living in the cloud
Living in the cloudLiving in the cloud
Living in the cloud
 
Web技術勉強会6回目
Web技術勉強会6回目Web技術勉強会6回目
Web技術勉強会6回目
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Fallacies of distributed computing
Fallacies of distributed computingFallacies of distributed computing
Fallacies of distributed computing
 
六合彩
六合彩六合彩
六合彩
 

Similar to Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure

GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
David Calavera
 
Architecting Web Services
Architecting Web ServicesArchitecting Web Services
Architecting Web Services
Lorna Mitchell
 

Similar to Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure (20)

GTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementationGTAC: AtomPub, testing your server implementation
GTAC: AtomPub, testing your server implementation
 
Web APIs & Google APIs
Web APIs & Google APIsWeb APIs & Google APIs
Web APIs & Google APIs
 
Struts2
Struts2Struts2
Struts2
 
Lecture1 B Frames&Forms
Lecture1 B  Frames&FormsLecture1 B  Frames&Forms
Lecture1 B Frames&Forms
 
Migration testing framework
Migration testing frameworkMigration testing framework
Migration testing framework
 
DevDays09 Internet Explorer 8
DevDays09 Internet Explorer 8DevDays09 Internet Explorer 8
DevDays09 Internet Explorer 8
 
Lecture3
Lecture3Lecture3
Lecture3
 
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
 
Html5
Html5Html5
Html5
 
An Introduction to Solr
An Introduction to SolrAn Introduction to Solr
An Introduction to Solr
 
Dan Holevoet, Google
Dan Holevoet, GoogleDan Holevoet, Google
Dan Holevoet, Google
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
 
Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
 
Ajax ons2
Ajax ons2Ajax ons2
Ajax ons2
 
Html5 Overview
Html5 OverviewHtml5 Overview
Html5 Overview
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVC
 
Architecting Web Services
Architecting Web ServicesArchitecting Web Services
Architecting Web Services
 
REST dojo Comet
REST dojo CometREST dojo Comet
REST dojo Comet
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 

Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure