SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Semi Automatic Code Review
Semi Automatic Code ReviewSemi Automatic Code Review
Semi Automatic Code Review
Richard Huang
 
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
 

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

En vedette

Report abc company draft
Report abc company   draftReport abc company   draft
Report abc company draft
AiiM Education
 
Mh beethoven
Mh beethovenMh beethoven
Mh beethoven
S 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-201407
tjrgx
 
Marriott management philosophy
Marriott management philosophyMarriott management philosophy
Marriott management philosophy
Fawad Akhtar
 

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

Similaire à Does Your Stuff Scale?

Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 

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

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

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