SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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 a 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 a 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
 

Último

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Último (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

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