# System Design Basics

Systems design a procedure by which we define the architecture of a system to satisfy given requirements. It is a technique by which the required amounts of scalability, reliability, performance and consistency are satisfied in real world systems.

# How to start with distributed systems?

  1. Optimize process and increase throughput with the same resources Vertical Scaling Example: One Pizza chef get more money
  2. Preparing beforehand at the non-peck hour preprocessing Example: Preprocess of making pizza off-time
  3. Keep Backups (Master, Slaves). Example: If a chef gets sick, then hire a backup chef
  4. Hire more resources Example: Hire more chef
  5. Micro Service Architecture (Divide Resouce in a particular job) Example: Distribute works among chefs
  6. Distributed System (Different Servers) Example: Pizza store in a different place
  7. Business decision using a load balancer
  8. Decoupling system. Example: Delivery Agent, Pizza shop
  9. Logging and metrics
  10. Extensible
Last Updated: 11/21/2020, 9:42:13 AM