SlideShare a Scribd company logo
1 of 31
My App Engine has
more horsepower than
     your Pony
        @alper
Different strengths
Django is good for
  content heavy
App Engine is made for
scalability and realtime
Django on App Engine
Programming
     ≠
Configuration
The Good
Database
noSQL
no migrations
appcfg.py update
More batteries included
• Memcache
• Receiving (!) e-mail
• XMPP
• Task Queues + Cron
Scalability + Availability
The Bad
No serious queries
denormalize
Deadline exceeded
Django templates
django.forms
The Ugly
Retro
class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)
Domain linking
Admin interface
Enterprise
Programming
     ≠
Configuration
Best practices
• Work within the bounds
• Use indexes
• Use memcache
• Create JSON endpoints
• Compose complexity at the client side

More Related Content

What's hot

Active Admin
Active AdminActive Admin
Active AdminGreg Bell
 
Marrying angular rails
Marrying angular railsMarrying angular rails
Marrying angular railsVolker Tietz
 
Website building exercise
Website building exerciseWebsite building exercise
Website building exercisemeilai521
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ XeroCraig Walker
 
Save time, save money: Move your selenium testing on cloud
Save time, save money: Move your selenium testing on cloudSave time, save money: Move your selenium testing on cloud
Save time, save money: Move your selenium testing on cloudAnshul Sharma
 
Creating A Vba Function Library For Use In QTP/VBSCRIPT
Creating A Vba Function Library For Use In QTP/VBSCRIPTCreating A Vba Function Library For Use In QTP/VBSCRIPT
Creating A Vba Function Library For Use In QTP/VBSCRIPThsupadrasta
 
Active Admin: Create Your Admin Interface the Easy Way
Active Admin: Create Your Admin Interface the Easy WayActive Admin: Create Your Admin Interface the Easy Way
Active Admin: Create Your Admin Interface the Easy WaySmartLogic
 
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...Sébastien Levert
 
Angular JS and Magento
Angular JS and MagentoAngular JS and Magento
Angular JS and MagentoVinci Rufus
 
Client side performance analysis
Client side performance analysisClient side performance analysis
Client side performance analysisTsimafei Avilin
 
CUCUMBER - Making BDD Fun
CUCUMBER - Making BDD FunCUCUMBER - Making BDD Fun
CUCUMBER - Making BDD FunSQABD
 
Next.js in production by Jasdeep Lalli
Next.js in production by Jasdeep Lalli Next.js in production by Jasdeep Lalli
Next.js in production by Jasdeep Lalli React London 2017
 
Communication tool & Environment for Remote Worker
Communication tool & Environment for Remote WorkerCommunication tool & Environment for Remote Worker
Communication tool & Environment for Remote WorkerShotaro Sakamaki
 
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemBe Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemLucas Renan
 
Building Browser Extensions with Ember
Building Browser Extensions with EmberBuilding Browser Extensions with Ember
Building Browser Extensions with EmberAlex Blom
 
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSébastien Levert
 
Putting the 'ctions' in Azure Fun-ctions
Putting the 'ctions' in Azure Fun-ctionsPutting the 'ctions' in Azure Fun-ctions
Putting the 'ctions' in Azure Fun-ctionsNullOps
 
Ruby on Rails - An overview
Ruby on Rails -  An overviewRuby on Rails -  An overview
Ruby on Rails - An overviewThomas Asikis
 

What's hot (20)

Active Admin
Active AdminActive Admin
Active Admin
 
Marrying angular rails
Marrying angular railsMarrying angular rails
Marrying angular rails
 
Website building exercise
Website building exerciseWebsite building exercise
Website building exercise
 
Client Side Performance @ Xero
Client Side Performance @ XeroClient Side Performance @ Xero
Client Side Performance @ Xero
 
Save time, save money: Move your selenium testing on cloud
Save time, save money: Move your selenium testing on cloudSave time, save money: Move your selenium testing on cloud
Save time, save money: Move your selenium testing on cloud
 
Creating A Vba Function Library For Use In QTP/VBSCRIPT
Creating A Vba Function Library For Use In QTP/VBSCRIPTCreating A Vba Function Library For Use In QTP/VBSCRIPT
Creating A Vba Function Library For Use In QTP/VBSCRIPT
 
Active Admin: Create Your Admin Interface the Easy Way
Active Admin: Create Your Admin Interface the Easy WayActive Admin: Create Your Admin Interface the Easy Way
Active Admin: Create Your Admin Interface the Easy Way
 
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
SharePoint Saturday Utah 2018 - SharePoint Framework, Angular and Azure Funct...
 
Rails Concept
Rails ConceptRails Concept
Rails Concept
 
Angular JS and Magento
Angular JS and MagentoAngular JS and Magento
Angular JS and Magento
 
Client side performance analysis
Client side performance analysisClient side performance analysis
Client side performance analysis
 
CUCUMBER - Making BDD Fun
CUCUMBER - Making BDD FunCUCUMBER - Making BDD Fun
CUCUMBER - Making BDD Fun
 
Next.js in production by Jasdeep Lalli
Next.js in production by Jasdeep Lalli Next.js in production by Jasdeep Lalli
Next.js in production by Jasdeep Lalli
 
Communication tool & Environment for Remote Worker
Communication tool & Environment for Remote WorkerCommunication tool & Environment for Remote Worker
Communication tool & Environment for Remote Worker
 
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - EcosystemBe Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
 
Building Browser Extensions with Ember
Building Browser Extensions with EmberBuilding Browser Extensions with Ember
Building Browser Extensions with Ember
 
Introduction to Web Worker
Introduction to Web WorkerIntroduction to Web Worker
Introduction to Web Worker
 
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure FunctionsSharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
SharePoint Fest Seattle - SharePoint Framework, Angular & Azure Functions
 
Putting the 'ctions' in Azure Fun-ctions
Putting the 'ctions' in Azure Fun-ctionsPutting the 'ctions' in Azure Fun-ctions
Putting the 'ctions' in Azure Fun-ctions
 
Ruby on Rails - An overview
Ruby on Rails -  An overviewRuby on Rails -  An overview
Ruby on Rails - An overview
 

Viewers also liked

Unit 3 - General Topic Overview
Unit 3 - General Topic OverviewUnit 3 - General Topic Overview
Unit 3 - General Topic Overviewoutsidethecave
 
Tools for Changemakers
Tools for ChangemakersTools for Changemakers
Tools for ChangemakersLisa Bunker
 
Unit 3 - Narowing a Topic & Evaluating Sources
Unit 3 - Narowing a Topic & Evaluating SourcesUnit 3 - Narowing a Topic & Evaluating Sources
Unit 3 - Narowing a Topic & Evaluating Sourcesoutsidethecave
 
Open data obstakels - Hogeschool Rotterdam.key
Open data obstakels - Hogeschool Rotterdam.keyOpen data obstakels - Hogeschool Rotterdam.key
Open data obstakels - Hogeschool Rotterdam.keyAlper Çugun
 
Scrape de Overheid
Scrape de OverheidScrape de Overheid
Scrape de OverheidAlper Çugun
 
Unit 2 - Enlightenment
Unit 2 - EnlightenmentUnit 2 - Enlightenment
Unit 2 - Enlightenmentoutsidethecave
 
Willem de Kooning - dataviz - week 2
Willem de Kooning - dataviz -  week 2Willem de Kooning - dataviz -  week 2
Willem de Kooning - dataviz - week 2Alper Çugun
 
Grantwriting and Government Contracts for Small Business
Grantwriting and Government Contracts for Small BusinessGrantwriting and Government Contracts for Small Business
Grantwriting and Government Contracts for Small BusinessLisa Bunker
 
Unit 2 - French Revolution
Unit 2 - French RevolutionUnit 2 - French Revolution
Unit 2 - French Revolutionoutsidethecave
 
Da una poesia di Francois Villon
Da una poesia di Francois VillonDa una poesia di Francois Villon
Da una poesia di Francois Villonprofff
 
Unit 2 - Scientific Revoltuion
Unit 2 - Scientific RevoltuionUnit 2 - Scientific Revoltuion
Unit 2 - Scientific Revoltuionoutsidethecave
 

Viewers also liked (17)

Unit 3 - General Topic Overview
Unit 3 - General Topic OverviewUnit 3 - General Topic Overview
Unit 3 - General Topic Overview
 
Tools for Changemakers
Tools for ChangemakersTools for Changemakers
Tools for Changemakers
 
Unit 3 - Narowing a Topic & Evaluating Sources
Unit 3 - Narowing a Topic & Evaluating SourcesUnit 3 - Narowing a Topic & Evaluating Sources
Unit 3 - Narowing a Topic & Evaluating Sources
 
Unit 2 - Middle Ages
Unit 2 - Middle AgesUnit 2 - Middle Ages
Unit 2 - Middle Ages
 
Open data obstakels - Hogeschool Rotterdam.key
Open data obstakels - Hogeschool Rotterdam.keyOpen data obstakels - Hogeschool Rotterdam.key
Open data obstakels - Hogeschool Rotterdam.key
 
Unit 3 - Introduction
Unit 3 - IntroductionUnit 3 - Introduction
Unit 3 - Introduction
 
Why Library 2.0
Why Library 2.0Why Library 2.0
Why Library 2.0
 
Scrape de Overheid
Scrape de OverheidScrape de Overheid
Scrape de Overheid
 
Unit 2 - Enlightenment
Unit 2 - EnlightenmentUnit 2 - Enlightenment
Unit 2 - Enlightenment
 
Willem de Kooning - dataviz - week 2
Willem de Kooning - dataviz -  week 2Willem de Kooning - dataviz -  week 2
Willem de Kooning - dataviz - week 2
 
Grantwriting and Government Contracts for Small Business
Grantwriting and Government Contracts for Small BusinessGrantwriting and Government Contracts for Small Business
Grantwriting and Government Contracts for Small Business
 
Unit 2 - French Revolution
Unit 2 - French RevolutionUnit 2 - French Revolution
Unit 2 - French Revolution
 
Da una poesia di Francois Villon
Da una poesia di Francois VillonDa una poesia di Francois Villon
Da una poesia di Francois Villon
 
Unit 2 - Reformation
Unit 2 - ReformationUnit 2 - Reformation
Unit 2 - Reformation
 
Unit 2 - Scientific Revoltuion
Unit 2 - Scientific RevoltuionUnit 2 - Scientific Revoltuion
Unit 2 - Scientific Revoltuion
 
Unit 2 - Renaissance
Unit 2 - RenaissanceUnit 2 - Renaissance
Unit 2 - Renaissance
 
Unit 2 - Introduction
Unit 2 - IntroductionUnit 2 - Introduction
Unit 2 - Introduction
 

Similar to App engine beats pony.key

App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munichdion
 
Developing Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDeveloping Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDmitry Vinnik
 
Advanced Web Technology.pptx
Advanced Web Technology.pptxAdvanced Web Technology.pptx
Advanced Web Technology.pptxssuser35fdf2
 
ASP.NET AJAX - 20090916
ASP.NET AJAX - 20090916ASP.NET AJAX - 20090916
ASP.NET AJAX - 20090916Viral Patel
 
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Fwdays
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?Balajihope
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10Chris Schalk
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
 
Cross-Platform Mobile Chemistry Apps
Cross-Platform Mobile Chemistry AppsCross-Platform Mobile Chemistry Apps
Cross-Platform Mobile Chemistry AppsRichard Apodaca
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web AppsTimothy Fisher
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassSpike Brehm
 
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the webIsomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the webSigma Software
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Dimitri de Putte
 
Beautifying the Beautiful: Theming WSO2 API Manager
Beautifying the Beautiful: Theming WSO2 API ManagerBeautifying the Beautiful: Theming WSO2 API Manager
Beautifying the Beautiful: Theming WSO2 API ManagerWSO2
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Enginecatherinewall
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
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
 
Quick start with AngularJS
Quick start with AngularJSQuick start with AngularJS
Quick start with AngularJSIuliia Baranova
 

Similar to App engine beats pony.key (20)

App Engine On Air: Munich
App Engine On Air: MunichApp Engine On Air: Munich
App Engine On Air: Munich
 
Developing Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptxDeveloping Lightning Components for Communities.pptx
Developing Lightning Components for Communities.pptx
 
Advanced Web Technology.pptx
Advanced Web Technology.pptxAdvanced Web Technology.pptx
Advanced Web Technology.pptx
 
ASP.NET AJAX - 20090916
ASP.NET AJAX - 20090916ASP.NET AJAX - 20090916
ASP.NET AJAX - 20090916
 
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
Maciej Treder "Server-side rendering with Angular—be faster and more SEO, CDN...
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - Appengine
 
What is Mean Stack Development ?
What is Mean Stack Development ?What is Mean Stack Development ?
What is Mean Stack Development ?
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
 
Cross-Platform Mobile Chemistry Apps
Cross-Platform Mobile Chemistry AppsCross-Platform Mobile Chemistry Apps
Cross-Platform Mobile Chemistry Apps
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
Isomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master ClassIsomorphic JavaScript: #DevBeat Master Class
Isomorphic JavaScript: #DevBeat Master Class
 
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the webIsomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
 
Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012Backbonification for dummies - Arrrrug 10/1/2012
Backbonification for dummies - Arrrrug 10/1/2012
 
Beautifying the Beautiful: Theming WSO2 API Manager
Beautifying the Beautiful: Theming WSO2 API ManagerBeautifying the Beautiful: Theming WSO2 API Manager
Beautifying the Beautiful: Theming WSO2 API Manager
 
React loadable
React loadableReact loadable
React loadable
 
Cannibalising The Google App Engine
Cannibalising The  Google  App  EngineCannibalising The  Google  App  Engine
Cannibalising The Google App Engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
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
 
Quick start with AngularJS
Quick start with AngularJSQuick start with AngularJS
Quick start with AngularJS
 

More from Alper Çugun

Code camping amsterdam day proceedings
Code camping amsterdam   day proceedingsCode camping amsterdam   day proceedings
Code camping amsterdam day proceedingsAlper Çugun
 
Willem de kooning - week 3 - visualisatie
Willem de kooning  - week 3 - visualisatieWillem de kooning  - week 3 - visualisatie
Willem de kooning - week 3 - visualisatieAlper Çugun
 
Willem de Kooning - week 1.key
Willem de Kooning - week 1.keyWillem de Kooning - week 1.key
Willem de Kooning - week 1.keyAlper Çugun
 
Dutchstats keynote short
Dutchstats keynote   shortDutchstats keynote   short
Dutchstats keynote shortAlper Çugun
 
Foursquare and Location Based Services
Foursquare and Location Based ServicesFoursquare and Location Based Services
Foursquare and Location Based ServicesAlper Çugun
 
What Makes You Horny? Big Data!
What Makes You Horny? Big Data!What Makes You Horny? Big Data!
What Makes You Horny? Big Data!Alper Çugun
 
What Makes You Horny? Big Data!
What Makes You Horny? Big Data!What Makes You Horny? Big Data!
What Makes You Horny? Big Data!Alper Çugun
 
Content Syndicatie
Content SyndicatieContent Syndicatie
Content SyndicatieAlper Çugun
 
De Geest van de Webrichtlijnen
De Geest van de WebrichtlijnenDe Geest van de Webrichtlijnen
De Geest van de WebrichtlijnenAlper Çugun
 
Widgets Belastingdienst
Widgets BelastingdienstWidgets Belastingdienst
Widgets BelastingdienstAlper Çugun
 
Free Economies Reboot
Free Economies   RebootFree Economies   Reboot
Free Economies RebootAlper Çugun
 
Portable Social Networks
Portable Social NetworksPortable Social Networks
Portable Social NetworksAlper Çugun
 

More from Alper Çugun (14)

Code camping amsterdam day proceedings
Code camping amsterdam   day proceedingsCode camping amsterdam   day proceedings
Code camping amsterdam day proceedings
 
Willem de kooning - week 3 - visualisatie
Willem de kooning  - week 3 - visualisatieWillem de kooning  - week 3 - visualisatie
Willem de kooning - week 3 - visualisatie
 
Willem de Kooning - week 1.key
Willem de Kooning - week 1.keyWillem de Kooning - week 1.key
Willem de Kooning - week 1.key
 
Dutchstats keynote short
Dutchstats keynote   shortDutchstats keynote   short
Dutchstats keynote short
 
Foursquare and Location Based Services
Foursquare and Location Based ServicesFoursquare and Location Based Services
Foursquare and Location Based Services
 
What Makes You Horny? Big Data!
What Makes You Horny? Big Data!What Makes You Horny? Big Data!
What Makes You Horny? Big Data!
 
What Makes You Horny? Big Data!
What Makes You Horny? Big Data!What Makes You Horny? Big Data!
What Makes You Horny? Big Data!
 
Content Syndicatie
Content SyndicatieContent Syndicatie
Content Syndicatie
 
De Geest van de Webrichtlijnen
De Geest van de WebrichtlijnenDe Geest van de Webrichtlijnen
De Geest van de Webrichtlijnen
 
Widgets Belastingdienst
Widgets BelastingdienstWidgets Belastingdienst
Widgets Belastingdienst
 
Free Economies Reboot
Free Economies   RebootFree Economies   Reboot
Free Economies Reboot
 
Kado Experience
Kado ExperienceKado Experience
Kado Experience
 
Free Economies
Free Economies Free Economies
Free Economies
 
Portable Social Networks
Portable Social NetworksPortable Social Networks
Portable Social Networks
 

Recently uploaded

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

App engine beats pony.key

Editor's Notes

  1. My extremely biased take on why App Engine is more suitable for a variety of needs than django is currently.
  2. I have programmed Django for ages somewhere after launch in 2005. Before that I was using CherryPy (more on that later). This is going to be my extremely biased talk. http://www.cherrypy.org/
  3. Recently I have been doing some stuff in Google App Engine and I’m quite enamoured by it. It was mostly unusable on first launch but it too has come a long way in short time.
  4. different strokes for different folks
  5. Fun if you want to write another blog (!) or other content heavy editorial site. Or huge complex websites that compose multiple apps. Coming from a newspaper background, this is rather duh!
  6. Scalability is not the same thing as performance. It means that as your application gets bigger, it does not degenerate (like Twitter does). And for complex small, data heavy sites. App Engine has some distinct characteristics which are cool (and some which aren’t).
  7. You can, I’m not sure why you would. Without most of the features that make django worthwhile this seems like a pretty silly proposition. While app engine itself is perfectly usable for a variety of applications.
  8. Experience trumps programming, programming trumps configuration. We want to program, not configure. If we wanted to configure stuff, we would program Java.
  9. traditional relational databases suck if you don’t agree, you probably have not been using them enough
  10. high performance and loose integrity (sides of the same coin) django non-rel ORM exists also seems like a silly idea, http://www.allbuttonspressed.com/projects/django-nonrel I haven’t looked into the current django-couchdb and other libraries yet, but it would be nice if these were ready for mainline use.
  11. best approach to data migration: don’t ‘expando Models rule’ Never having to migrate another database table again is a Good Thing.
  12. Free hosting Standardized project layout (a Good Idea) Makes it 100x more likely that I’ll build a throwaway webservice on GAE than I will with django. django-fabric: http://theironlion.net/archive/django-fabric-deploy-your-django-apps-easily/ looks too complex, lots of configuration
  13. Yeah, most of this stuff is not very hard to setup in one way or other. But having this stuff built-in matters. Programmers that don’t understand that simple fact, ruin it for the rest. It removes the necessity to think about it. You can just use the API.
  14. free account will work for your toy website (which are super easy to get started) as soon as it gets serious you can just convert $ into scale, you never have to hire (or become!) a sysop to configure EC2 instances yourself also you don’t need to backup because it’s a gridded setup, it will generally never go down (except when it does), at least it won’t go down for the more mundane of reasons
  15. no JOINs no aggregates no DISTINCT
  16. http://en.wikipedia.org/wiki/Denormalization adding redundant data or by grouping data (remember, we don’t have JOINs) for instance cannot query SELECT DISTINCT city FROM entries so either walk through all your records (bad idea!) or make a new table called Cities and only put city stuff in there
  17. A bad idea if it happens, but because everything in App Engine is in the request/response paradigm, this can be difficult if you want to do some complicated stuff that is hard to decompose/incrementalize. But webservers aren’t really the place (yet!) for that kinda stuff.
  18. A Good Thing (you can use any templating language you want), but we’re stuck on the old 0.96 version (which is frankly silly given the number of updates App Engine gets).
  19. Would be nice to have.
  20. It feels very oldschool if you remember CherryPy (that’s what I used before Django came out). Not that hard and pretty easy to write a website in.
  21. can’t really remove www. Domain linking in Google Applications is a fucking ghetto (even for domains you completely control). It’s doable but it’s very much harder than it should be.
  22. It could be way prettier and nicer to use than it is. Common workflows could also be made easier.
  23. This is pretty nice from an ops point of view.
  24. Google is branding App Engine as an Enterprise product. All good software engineers know that the Enterprise is where programming goes to die. This may yield: - better availability (SLAs and that kinda crap) - more conservatism in development - a bigger focus on Java because of paying customers Which is a mixed bag.
  25. Any system that removes configuration options and let’s you focus on the programming part (on getting work done) is a good system.