Does Your Stuff Scale?
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Does Your Stuff Scale?

on

  • 1,091 views

Slides from my DjangoCon Europe 2013 talk: Does Your Stuff Scale?

Slides from my DjangoCon Europe 2013 talk: Does Your Stuff Scale?

Statistics

Views

Total Views
1,091
Views on SlideShare
617
Embed Views
474

Actions

Likes
0
Downloads
3
Comments
0

7 Embeds 474

http://p.ota.to 272
https://p.ota.to 101
http://localhost 63
https://www.bowstring.co 19
https://twitter.com 17
http://eventifier.co 1
http://0.0.0.0 1
More...

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Does Your Stuff Scale? Presentation Transcript

  • 1. Does your stuff scale?Steven Holmeshttp://p.ota.to
  • 2. Potato?
  • 3. Does your stuff scale?1. Django + Google App Engine2. Scaling an organisation + culture
  • 4. Non-technicalScalabilityTechnical1. Load2. Functional3. Organisational4. Geographic
  • 5. Part 1+
  • 6. 1. Auto-scaling2. Services & APIs3. No sysadminWhy Google App Engine?
  • 7. Just make good things.
  • 8. App Engine: caveats1. Sandbox2. File system3. Portability
  • 9. What is it?• Django ported to NoSQL• GitHub, open source• Django 1.4, Django 1.5 betaPros• Familiar APIs• Portability• Works in productionHow do you run it?• Clone repo(s)• ./manage.py runserverCons• Familiarity can be misleading• Can feel ‘heavy’ / kludgyDjango non-rel github.com/django-nonrel
  • 10. What is it?• Lightweight skeleton• Django + App Engine modelsPros• “Best of both worlds”• NDB• Automatic caching, structured dataHow do you run it?• Clone repo• dev_appserver.py .Cons• Learning curve• PortabilityDjappengine github.com/potatolondon/djappengine
  • 11. What is it?• Custom Django database backend wrapper for Djangos MySQL backendPros• Fully supported Django• Flexibility• Unpredictable reportingHow do you run it?• Create a CloudSQL instance• google.appengine.ext.django.backends.rdbms in settings.py• ./manage.py syncdbCons• More setup• Possibly not as scalable as datastore?App Engine + CloudSQL Search “Django + CloudSQL”
  • 12. Part 2
  • 13. TechnicalNon-technicalScalability1. Load2. Functional3. Organisational4. Geographic+
  • 14. • Planning• Caching• Offline tasks• Preparation◦ Load tests◦ Profiling (e.g. using app stats)Scalability - Load
  • 15. TechnicalNon-technicalScalability1. Load2. Functional3. Organisational4. Geographic+
  • 16. • 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◦ SDKScalability - Functional
  • 17. TechnicalNon-technicalScalability1. Load2. Functional3. Organisational4. Geographic+
  • 18. • Be a minimalist• Remove bottlenecks & overhead• Just make good things.• Internal appsScalability - Organisational
  • 19. • Be a minimalist• Remove bottlenecks & overhead• Just make good things.• Internal apps◦ e.g. wiki, recruitment, deployments, checklistsScalability - Organisational• Integrated and centralised◦ Google Apps domain• Security◦ HTTPs
  • 20. TechnicalNon-technicalScalability1. Load2. Functional3. Organisational4. Geographic+
  • 21. Just make good things.
  • 22. Questions?• Potato lab > http://p.ota.to/lab• GitHub > github.com/potatolondon• App Engine > developers.google.com/appengine• Django non-rel > django-nonrel.org