1 . SCALABILITY

Scalability is the ability of a system to handle increased load by adding resources. The key word here is "ability", a scalable system can grow to meet demand without requiring a complete architectural overhaul.

Measuring Scalability:

image.png

Performance Under Load:

image.png

VERTICAL SCALING:

Vertical scaling means adding more power to your existing machines. Instead of adding more servers, you upgrade to bigger ones.

  1. First choice as the whole structure remains same, same code can run for more people
  2. Can increase more CPUs, RAMs to increase memory, faster SSD for i/o bottlenecks, network card for better bandwidth
  3. Example: a chef is making food for 8 customers per hour, so you upgrade it with a Nepali to serve 15 customers per hour.

PROS:

  1. Simplicity, ease to do it, low complexity. ( 1 person easy to manage him instruct him control him)
  2. Low maintenance and overhead: of data partitioning, synchronisation, routing queries ( No need of defining work roles, less people = less maintenance).
  3. Performance: better latency, all things tightly coupled