Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hopelessness and Confidence in Distributed Systems Design

1,395 views

Published on

The slides from my Strangeloop 2015 keynote
Video is available here:
https://www.youtube.com/watch?v=TlU1opuCXB0&feature=youtu.be&a

Published in: Technology
  • Be the first to comment

Hopelessness and Confidence in Distributed Systems Design

  1. 1. Hopelessness and Confidence in Distributed Systems Design Camille Fournier, Senior Thinker and Raconteur @skamille
  2. 2. The easiest way to scale! Hassle-free scaling! Easiest. Database. Ever. Sync state in a cinch at a distributed system scale. Real-time data Real-time Analytics Real-time Decisions
  3. 3. @aphyr  
  4. 4. Distributed Systems: Ugly, Hard, and Here to Stay
  5. 5. TRADE/OFF
  6. 6. TRADE/OFF
  7. 7. Embrace Hopelessness Gain Confidence
  8. 8. A brief interlude: The goals of Distributed Systems
  9. 9. SCALE
  10. 10. FAILURE TOLERANCE
  11. 11. A DISTRIBUTED CACHE FOR RISK ANALYSIS
  12. 12. Scaling /
  13. 13. "DSM  FIGURE"  by  Mehrnazzhian  -­‐  Own  work.  Licensed  under  CC  BY-­‐SA  4.0  via  Commons  
  14. 14. Azul
  15. 15. SYNCHRONIZATION PERFORMANCE/
  16. 16. REWRITING MODIFICATION/
  17. 17. BEST practice: TESTING
  18. 18. GLOBAL SERVICE DISCOVERY USING ZOOKEEPER
  19. 19. GLOBAL service discovery system
  20. 20. Failure Tolerance Scaling /
  21. 21. Naïve approach: Central Coordinator! •  Should all data be in one system? That would be easy! •  But then… DISTANCE PERFOMANCE/
  22. 22. •  Speed of light •  Limitations of bandwidth and latency DISTANCE PERFOMANCE/
  23. 23. Fallacies of Distributed Computing Deutsch et al, Sun Microsystems 1.  The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4.  The network is secure. 5.  Topology doesn't change. 6.  There is one administrator. 7.  Transport cost is zero. 8. The network is homogeneous.
  24. 24. Wide Area Networks Add Complexity
  25. 25. FEATURES CONTROL/
  26. 26. BEST PRACTICE: Remember that clients are part of your system
  27. 27. A second brief interlude…
  28. 28. MICROSERVICES AT RENT THE RUNWAY
  29. 29. Evolution off of a monolith
  30. 30. Scaling (systems and humans) and failure tolerance (??) /
  31. 31. COMMON UNDERSTANDING THE PERFECT TOOL FOR THE JOB / @coda  
  32. 32. RATE OF CHANGE THOROUGHNESS/
  33. 33. @adrianco  
  34. 34. BEST PRACTICE: DATA DESIGN (AGAIN!)
  35. 35. BEST PRACTICE: Data Design (again!) •  Silence comes via good design! •  You can always design poorly and have to overcommunicate/coordinate
  36. 36. Distributed Systems: Ugly, Hard and Here to Stay
  37. 37. COMBAT HOPE AND FEAR BY UNDERSTANDING TRADE/OFFS
  38. 38. Hopeless and Confident
  39. 39. Thank you! Special Thanks: @randommood @SeanTAllen @chrisk5000 @HenryR @aphyr @caitie @pbailis (aka Littlefinger) @giltene @MikeM6174 @tsantero ?s: @skamille

×