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

Designing Production Systems

pigol
September 20, 2017

Designing Production Systems

Deck of the talk I gave at a company meet up on what all aspects to be considered when designing large scale production systems.

pigol

September 20, 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