Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Designing Production Systems

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for pigol pigol
August 18, 2017

Designing Production Systems

Talk given to the TravelTriangle engineering team on how to think about system-design, and architecture. It requires a multi-faceted thought process that goes beyond just the technical aspects.

Avatar for pigol

pigol

August 18, 2017
Tweet

More Decks by pigol

Other Decks in Programming

Transcript

  1. … with proper design, the features come cheaply. This approach

    is arduous, but continues to succeed. -- Dennis Ritchie Design
  2. How do I design? What is my product stack? •

    Browser • Mobile • DNS Servers • Load Balancer • Nginx • Web Server • Internal ELB • Rails • Redis/Varnish • ElasticSearch • MySQL • Wordpress • Postfix
  3. How do I design? What is my product stack? •

    Browser • Mobile • DNS Servers • Load Balancer • Nginx • Web Server • Internal ELB • Rails • Redis/Varnish/SideKiq • ElasticSearch • MySQL • Wordpress • Postfix
  4. How do I design? Fail Individual Components! - Circuit Breaking

    - Bulk Heading - Timing Out - Retries - Asynchronous Flows
  5. How do I design? CPU, RAM & I/O (Disk, Network)

    Understand the basic components … duh!!
  6. How do I design? Learn tools and how to read

    numbers - Htop - Chrome Dev Tools - Iotop - Vmstat & more… - Netstat - Lsof
  7. How do I design? Numbers every engineers should know. Talk

    by Jeffrey Dean, Google. https://www.youtube.com/watch?v=mod XC5IWTJI
  8. How do I design? Read Read Read!! - Blogs -

    YouTube videos - Books - Papers - Talk to your friends