SlideShare a Scribd company logo
1 of 28
Download to read offline
Does your stuff scale?
Steven Holmes
http://p.ota.to
Potato?
Does your stuff scale?
1. Django + Google App Engine
2. Scaling an organisation + culture
Non-technical
Scalability
Technical
1. Load
2. Functional
3. Organisational
4. Geographic
Part 1
+
1. Auto-scaling
2. Services & APIs
3. No sysadmin
Why Google App Engine?
Just make good things.
App Engine: caveats
1. Sandbox
2. File system
3. Portability
What is it?
• Django ported to NoSQL
• GitHub, open source
• Django 1.4, Django 1.5 beta
Pros
• Familiar APIs
• Portability
• Works in production
How do you run it?
• Clone repo(s)
• ./manage.py runserver
Cons
• Familiarity can be misleading
• Can feel ‘heavy’ / kludgy
Django non-rel github.com/django-nonrel
What is it?
• Lightweight skeleton
• Django + App Engine models
Pros
• “Best of both worlds”
• NDB
• Automatic caching, structured data
How do you run it?
• Clone repo
• dev_appserver.py .
Cons
• Learning curve
• Portability
Djappengine github.com/potatolondon/djappengine
What is it?
• Custom Django database backend wrapper for Django's MySQL backend
Pros
• Fully supported Django
• Flexibility
• Unpredictable reporting
How do you run it?
• Create a CloudSQL instance
• 'google.appengine.ext.django.backends.rdbms' in settings.py
• ./manage.py syncdb
Cons
• More setup
• Possibly not as scalable as datastore?
App Engine + CloudSQL Search “Django + CloudSQL”
Part 2
Technical
Non-technical
Scalability
1. Load
2. Functional
3. Organisational
4. Geographic
+
• Planning
• Caching
• Offline tasks
• Preparation
◦ Load tests
◦ Profiling (e.g. using app stats)
Scalability - Load
Technical
Non-technical
Scalability
1. Load
2. Functional
3. Organisational
4. Geographic
+
• Django!
◦ Documentation, Community
• App Engine
◦ Services & APIs
■ Memcache
■ Taskqueue, mapreduce
■ Search
■ Email
■ Images
◦ Versioning
■ 10 testable versions per app
■ http://0.myapp.appspot.com {live}
■ http://1.myapp.appspot.com {not live}
■ http://some-feature-branch.myapp.appspot.com {not live}
■ A/B testing / traffic splitting
◦ SDK
Scalability - Functional
Technical
Non-technical
Scalability
1. Load
2. Functional
3. Organisational
4. Geographic
+
• Be a minimalist
• Remove bottlenecks & overhead
• Just make good things.
• Internal apps
Scalability - Organisational
• Be a minimalist
• Remove bottlenecks & overhead
• Just make good things.
• Internal apps
◦ e.g. wiki, recruitment, deployments, checklists
Scalability - Organisational
• Integrated and centralised
◦ Google Apps domain
• Security
◦ HTTPs
Technical
Non-technical
Scalability
1. Load
2. Functional
3. Organisational
4. Geographic
+
Just make good things.
Questions?
• Potato lab > http://p.ota.to/lab
• GitHub > github.com/potatolondon
• App Engine > developers.google.com/appengine
• Django non-rel > django-nonrel.org

More Related Content

What's hot

Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOpsMike McGarr
 
Webhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceWebhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceSparkPost
 
Semi Automatic Code Review
Semi Automatic Code ReviewSemi Automatic Code Review
Semi Automatic Code ReviewRichard Huang
 
Scala on Rails #rakutentech
Scala on Rails #rakutentechScala on Rails #rakutentech
Scala on Rails #rakutentechKazuhiro Sera
 
POST/CON Keynote 2019
POST/CON Keynote 2019POST/CON Keynote 2019
POST/CON Keynote 2019Postman
 
Serverless testing @ serverlessdays Hamburg
Serverless testing @ serverlessdays HamburgServerless testing @ serverlessdays Hamburg
Serverless testing @ serverlessdays HamburgAvishai Shafir
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017Matt Raible
 
AtlasCamp 2015: Plugins 2: All grown up
AtlasCamp 2015: Plugins 2: All grown upAtlasCamp 2015: Plugins 2: All grown up
AtlasCamp 2015: Plugins 2: All grown upAtlassian
 
Space Camp :: Introduction to API Security
Space Camp :: Introduction to API SecuritySpace Camp :: Introduction to API Security
Space Camp :: Introduction to API SecurityPostman
 
Driving Pipeline Automation With Newman and the Postman API
Driving Pipeline Automation With Newman and the Postman APIDriving Pipeline Automation With Newman and the Postman API
Driving Pipeline Automation With Newman and the Postman APIPostman
 
Useful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvmUseful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvmAnton Shapin
 
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...Matt Raible
 
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a BarAtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a BarAtlassian
 
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"Postman
 
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...epamspb
 
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...Sébastien Levert
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 
2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShipAfterShip
 

What's hot (20)

Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOps
 
Webhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 ConferenceWebhooks with Azure Functions - Live 360 Conference
Webhooks with Azure Functions - Live 360 Conference
 
Semi Automatic Code Review
Semi Automatic Code ReviewSemi Automatic Code Review
Semi Automatic Code Review
 
Scala on Rails #rakutentech
Scala on Rails #rakutentechScala on Rails #rakutentech
Scala on Rails #rakutentech
 
Azkaban
AzkabanAzkaban
Azkaban
 
POST/CON Keynote 2019
POST/CON Keynote 2019POST/CON Keynote 2019
POST/CON Keynote 2019
 
Serverless testing @ serverlessdays Hamburg
Serverless testing @ serverlessdays HamburgServerless testing @ serverlessdays Hamburg
Serverless testing @ serverlessdays Hamburg
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017
 
AtlasCamp 2015: Plugins 2: All grown up
AtlasCamp 2015: Plugins 2: All grown upAtlasCamp 2015: Plugins 2: All grown up
AtlasCamp 2015: Plugins 2: All grown up
 
Space Camp :: Introduction to API Security
Space Camp :: Introduction to API SecuritySpace Camp :: Introduction to API Security
Space Camp :: Introduction to API Security
 
Lspe
LspeLspe
Lspe
 
Driving Pipeline Automation With Newman and the Postman API
Driving Pipeline Automation With Newman and the Postman APIDriving Pipeline Automation With Newman and the Postman API
Driving Pipeline Automation With Newman and the Postman API
 
Useful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvmUseful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvm
 
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
Cloud Native PWAs (progressive web apps with Spring Boot and Angular) - DevNe...
 
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a BarAtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
AtlasCamp 2014: A P2 Plugin and a SaaS Platform Walk Into a Bar
 
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
Postman Webinar: "From APIs to Serverless Cloud Applications in Minutes"
 
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
 
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
North American Collaboration Summit 2018 - SharePoint Framework, Angular & Az...
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip2017-08-04 Kubernetes in AfterShip
2017-08-04 Kubernetes in AfterShip
 

Viewers also liked

Helping Journalists Get It Right
Helping Journalists Get It RightHelping Journalists Get It Right
Helping Journalists Get It RightRenita Coleman
 
Merkel wiper auas
Merkel wiper auasMerkel wiper auas
Merkel wiper auaswalleseals
 
Obo mne
Obo mneObo mne
Obo mnewindof
 
Report abc company draft
Report abc company   draftReport abc company   draft
Report abc company draftAiiM Education
 
Mh beethoven
Mh beethovenMh beethoven
Mh beethovenS Marley
 
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...Veha Thmey
 
China high speed railway lines network-201407
China high speed railway lines network-201407China high speed railway lines network-201407
China high speed railway lines network-201407tjrgx
 
Marriott management philosophy
Marriott management philosophyMarriott management philosophy
Marriott management philosophyFawad Akhtar
 
Emc cla rii on fibre channel storage fundamentals
Emc cla rii on fibre channel storage fundamentalsEmc cla rii on fibre channel storage fundamentals
Emc cla rii on fibre channel storage fundamentalsweiguang sun
 
Unit 1 c - all topics
Unit 1   c - all topicsUnit 1   c - all topics
Unit 1 c - all topicsveningstonk
 
Propertics of element
Propertics  of elementPropertics  of element
Propertics of elementsatapisat
 
Nidec asi capability overview for oil&gas applications
Nidec asi capability overview for oil&gas applicationsNidec asi capability overview for oil&gas applications
Nidec asi capability overview for oil&gas applicationsNidec Corporation
 

Viewers also liked (18)

Being Miss Geeky - WIT
Being Miss Geeky - WITBeing Miss Geeky - WIT
Being Miss Geeky - WIT
 
Helping Journalists Get It Right
Helping Journalists Get It RightHelping Journalists Get It Right
Helping Journalists Get It Right
 
Solinea Lazuli Tower Project Brief
Solinea Lazuli Tower Project BriefSolinea Lazuli Tower Project Brief
Solinea Lazuli Tower Project Brief
 
HAKQ Profile
HAKQ ProfileHAKQ Profile
HAKQ Profile
 
Merkel wiper auas
Merkel wiper auasMerkel wiper auas
Merkel wiper auas
 
Obo mne
Obo mneObo mne
Obo mne
 
Report abc company draft
Report abc company   draftReport abc company   draft
Report abc company draft
 
Effectivnoe upravlenie personalom
Effectivnoe upravlenie personalomEffectivnoe upravlenie personalom
Effectivnoe upravlenie personalom
 
Mh beethoven
Mh beethovenMh beethoven
Mh beethoven
 
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...
02មហាគ្រោះជាតិខ្មែរ great danger-khmer-nation-official-khmerlanguage​​ by tie...
 
1351 anglyskoe slovo_dlya_detey_i_vzroslykh
1351 anglyskoe slovo_dlya_detey_i_vzroslykh1351 anglyskoe slovo_dlya_detey_i_vzroslykh
1351 anglyskoe slovo_dlya_detey_i_vzroslykh
 
China high speed railway lines network-201407
China high speed railway lines network-201407China high speed railway lines network-201407
China high speed railway lines network-201407
 
Marriott management philosophy
Marriott management philosophyMarriott management philosophy
Marriott management philosophy
 
Emc cla rii on fibre channel storage fundamentals
Emc cla rii on fibre channel storage fundamentalsEmc cla rii on fibre channel storage fundamentals
Emc cla rii on fibre channel storage fundamentals
 
Unit 1 c - all topics
Unit 1   c - all topicsUnit 1   c - all topics
Unit 1 c - all topics
 
PPTv 1
PPTv 1PPTv 1
PPTv 1
 
Propertics of element
Propertics  of elementPropertics  of element
Propertics of element
 
Nidec asi capability overview for oil&gas applications
Nidec asi capability overview for oil&gas applicationsNidec asi capability overview for oil&gas applications
Nidec asi capability overview for oil&gas applications
 

Similar to Does Your Stuff Scale?

Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsAchievers Tech
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Performance metrics for a social network
Performance metrics for a social networkPerformance metrics for a social network
Performance metrics for a social networkThierry Schellenbach
 
Manual JavaScript Analysis Is A Bug
Manual JavaScript Analysis Is A BugManual JavaScript Analysis Is A Bug
Manual JavaScript Analysis Is A BugLewis Ardern
 
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJSSrijan Technologies
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemYi-Ting Cheng
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine JavaChris Schalk
 
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...Daniel Gallego Vico
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?weschwee
 
Hack The Future: 10 technical disciplines
Hack The Future: 10 technical disciplinesHack The Future: 10 technical disciplines
Hack The Future: 10 technical disciplinesHack The Future
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
 
Benchmarking at Parse
Benchmarking at ParseBenchmarking at Parse
Benchmarking at ParseTravis Redman
 
Advanced Benchmarking at Parse
Advanced Benchmarking at ParseAdvanced Benchmarking at Parse
Advanced Benchmarking at ParseMongoDB
 
AppEngine Performance Tuning
AppEngine Performance TuningAppEngine Performance Tuning
AppEngine Performance TuningDavid Chen
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael CollinsDevopsdays
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Ford Prior
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloudwesley chun
 

Similar to Does Your Stuff Scale? (20)

Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Performance metrics for a social network
Performance metrics for a social networkPerformance metrics for a social network
Performance metrics for a social network
 
Building JavaScript
Building JavaScriptBuilding JavaScript
Building JavaScript
 
Manual JavaScript Analysis Is A Bug
Manual JavaScript Analysis Is A BugManual JavaScript Analysis Is A Bug
Manual JavaScript Analysis Is A Bug
 
Fashiolista
FashiolistaFashiolista
Fashiolista
 
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
Devfest09 App Engine Java
Devfest09  App Engine  JavaDevfest09  App Engine  Java
Devfest09 App Engine Java
 
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
 
What is Google App Engine?
What is Google App Engine?What is Google App Engine?
What is Google App Engine?
 
Hack The Future: 10 technical disciplines
Hack The Future: 10 technical disciplinesHack The Future: 10 technical disciplines
Hack The Future: 10 technical disciplines
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
Benchmarking at Parse
Benchmarking at ParseBenchmarking at Parse
Benchmarking at Parse
 
Advanced Benchmarking at Parse
Advanced Benchmarking at ParseAdvanced Benchmarking at Parse
Advanced Benchmarking at Parse
 
AppEngine Performance Tuning
AppEngine Performance TuningAppEngine Performance Tuning
AppEngine Performance Tuning
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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 ...
 
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
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Does Your Stuff Scale?

  • 1. Does your stuff scale? Steven Holmes http://p.ota.to
  • 3. Does your stuff scale? 1. Django + Google App Engine 2. Scaling an organisation + culture
  • 6. 1. Auto-scaling 2. Services & APIs 3. No sysadmin Why Google App Engine?
  • 7. Just make good things.
  • 8. App Engine: caveats 1. Sandbox 2. File system 3. Portability
  • 9. What is it? • Django ported to NoSQL • GitHub, open source • Django 1.4, Django 1.5 beta Pros • Familiar APIs • Portability • Works in production How do you run it? • Clone repo(s) • ./manage.py runserver Cons • Familiarity can be misleading • Can feel ‘heavy’ / kludgy Django non-rel github.com/django-nonrel
  • 10.
  • 11. What is it? • Lightweight skeleton • Django + App Engine models Pros • “Best of both worlds” • NDB • Automatic caching, structured data How do you run it? • Clone repo • dev_appserver.py . Cons • Learning curve • Portability Djappengine github.com/potatolondon/djappengine
  • 12.
  • 13. What is it? • Custom Django database backend wrapper for Django's MySQL backend Pros • Fully supported Django • Flexibility • Unpredictable reporting How do you run it? • Create a CloudSQL instance • 'google.appengine.ext.django.backends.rdbms' in settings.py • ./manage.py syncdb Cons • More setup • Possibly not as scalable as datastore? App Engine + CloudSQL Search “Django + CloudSQL”
  • 14.
  • 17. • Planning • Caching • Offline tasks • Preparation ◦ Load tests ◦ Profiling (e.g. using app stats) Scalability - Load
  • 19. • Django! ◦ Documentation, Community • App Engine ◦ Services & APIs ■ Memcache ■ Taskqueue, mapreduce ■ Search ■ Email ■ Images ◦ Versioning ■ 10 testable versions per app ■ http://0.myapp.appspot.com {live} ■ http://1.myapp.appspot.com {not live} ■ http://some-feature-branch.myapp.appspot.com {not live} ■ A/B testing / traffic splitting ◦ SDK Scalability - Functional
  • 21. • Be a minimalist • Remove bottlenecks & overhead • Just make good things. • Internal apps Scalability - Organisational
  • 22.
  • 23.
  • 24.
  • 25. • Be a minimalist • Remove bottlenecks & overhead • Just make good things. • Internal apps ◦ e.g. wiki, recruitment, deployments, checklists Scalability - Organisational • Integrated and centralised ◦ Google Apps domain • Security ◦ HTTPs
  • 27. Just make good things.
  • 28. Questions? • Potato lab > http://p.ota.to/lab • GitHub > github.com/potatolondon • App Engine > developers.google.com/appengine • Django non-rel > django-nonrel.org