# 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?
- Optimize process and increase throughput with the same resources Vertical Scaling Example: One Pizza chef get more money
- Preparing beforehand at the non-peck hour preprocessing Example: Preprocess of making pizza off-time
- Keep Backups (Master, Slaves). Example: If a chef gets sick, then hire a backup chef
- Hire more resources Example: Hire more chef
- Micro Service Architecture (Divide Resouce in a particular job) Example: Distribute works among chefs
- Distributed System (Different Servers) Example: Pizza store in a different place
- Business decision using a load balancer
- Decoupling system. Example: Delivery Agent, Pizza shop
- Logging and metrics
- Extensible