un common sense
play

(un)Common Sense mike@youtube Briefly goals / disclaimer* broad - PowerPoint PPT Presentation

(un)Common Sense mike@youtube Briefly goals / disclaimer* broad strokes scalability efficiency productivity YouTube then...(big) python - everywhere two-tier system fast, sequential requests open source tools


  1. (un)Common Sense mike@youtube

  2. Briefly ● goals / disclaimer* ● broad strokes ● scalability ● efficiency ● productivity

  3. YouTube then...(big) ● python - everywhere ● two-tier system ○ fast, sequential requests ● open source tools omnipresent

  4. YouTube now...(bigger) ● python web app ● many components ○ ~3 languages ● RPCs galore ○ slower, parallel requests ○ tiers not tears

  5. Scalable systems... ● solve the problem at hand ● product of evolution ● start simple ○ the complexity comes for free

  6. Remove the bottlenecks.

  7. Scalable techniques... ● divide and conquer ● approximate correctness ● expert knob twiddling (cheat!) ○ consistency, durability... ● jitter / entropy injection

  8. Scalable components... ● well defined boundaries ○ inputs / outputs ○ dependencies ● freedom and autonomy ○ leverage local optimizations

  9. Scalable development? ● communication through code/data/schema ● partition the problems ● RPC as a means of sanity

  10. Efficiency ● uncorrelated with scalability ● focus on algorithms first ● learn to measure ○ use representative samples

  11. Efficient Python? One simple mantra…

  12. All magic comes with a price.

  13. Efficient Python ● pick your battles ● avoid ORMs ● use OOP with restraint ● eschew magic

  14. Efficient Ideas ● leverage other languages ○ C++, Go ● simple network protocols ○ !HTTP ● sensible encodings ○ self-describing vs schema

  15. Efficient Ideas ● don't be too clever*

  16. Productivity ● philosophy vs doctrine ● more conventions ○ less documentation* ● more effective collaboration ● more diffusion of responsibility

  17. Productivity ● knobs and hammers ● leave manholes ● don't forget unix ideals

  18. Questions ?

Recommend


More recommend