SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines 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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[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
 

Dernier (20)

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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[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
 

App engine beats pony.key

Notes de l'éditeur

  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.