Beyond Fast and Slow

7c4bac30ed2d3a9d346ced746b1d985d?s=47 Tom Santero
November 27, 2013

Beyond Fast and Slow

Full stack performance engineering with an existential twist.

7c4bac30ed2d3a9d346ced746b1d985d?s=128

Tom Santero

November 27, 2013
Tweet

Transcript

  1. Beyond Fast and Slow Tom Santero Full-Stack Engineering Meetup 11/26/2013

    Prelude to the Engineering of the Future
  2. tsantero twitter, github, @basho.com, IRC...

  3. tsantero

  4. Performance

  5. Performance what even is performance?

  6. Performance is(are) the system(s) performant?

  7. Performance is performant even a word?

  8. Performance price vs performance cloud vs bare metal scale vs

    optimization dynamic vs static typing** ** for seriously, y’all - not even trolling right now
  9. Performance capacity planning, modeling; testing; benchmarking; proof of concepts

  10. Performance production analysis optimization

  11. Performance the entire stack

  12. The Full Stack

  13. The Full Stack everything is distributed

  14. Distributed Systems “A distributed system is a software system in

    which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal.” -- Wikipedia
  15. The Full Stack single server systems are distributed

  16. Application Database System Libraries System Calls User-Level Kernel-Level Devices Kernel

    Thread Scheduler File Systems Network Stack Virtual Memory Device Drivers Figure 1.1 Generic System Software Stack. Adapted from “Systems Performance: Enterprise and The Cloud” by Brendan Gregg
  17. The Full Stack problems with continuous integration; issue of methodology;

    organization
  18. None
  19. The Full Stack Continuous Technical Debt Integration

  20. The Full Stack testing; metrics; deployment

  21. Testing

  22. Testing unit testing; regression

  23. Testing load testing

  24. Testing property based testing

  25. Metrics

  26. Metrics Metrics, Metrics Everywhere Coda Hale http://www.youtube.com/watch?v=czes-oa0yik

  27. Metrics collection

  28. “Whoever fights monsters should see to it that he does

    not become a monster. And if you gaze long enough into the abyss the abyss will gaze back into you. -- Friedrich Nietzsche
  29. Metrics analysis

  30. Application System Libraries System Calls Kernel Devices Workload Operating System

    Software Stack Workload Analysis Resource Analysis Figure 1.2 Analytics Perspectives. Adapted from “Systems Performance: Enterprise and The Cloud” by Brendan Gregg
  31. Metrics visualization

  32. “Even when the mouth lies, the way it looks still

    tells the truth.” -- Friedrich Nietzsche
  33. Metrics sample size; resolution?

  34. Metrics alerting

  35. “I’m not upset that you lied to me. I’m upset

    that from now on I can’t believe you.” -- Friedrich Nieztsche
  36. Deployment

  37. Deployment ship it? dev/test/prod? staggered deployment

  38. Deployment debugging production systems system wide activity processes stats dynamic

    tracing; strace, DTrace
  39. Application System Libraries System Calls Kernel Devices Workload Operating System

    Software Stack Workload Analysis Resource Analysis Figure 1.2 Analytics Perspectives. Adapted from “Systems Performance: Enterprise and The Cloud” by Brendan Gregg
  40. [slide intentionally left blank]

  41. Thanks! Questions?