الملفات
ghaymah-exam-amirkasseb-sre/q4-scalability/calculations.md
2026-07-26 19:57:48 +03:00

1.7 KiB
خام اللوم التاريخ

Scalability and Load Balancing

2. Calculating the Number of Containers Required

Given:

  • Total load: 15,000 req/s
  • Capacity per container: 500 req/s
  • Safety margin: 30%

Calculation:

Effective load = 15,000 × 1.3 = 19,500 req/s
Number of containers = 19,500 ÷ 500 = 39 containers

Result: 39 containers

Check: 15,000 ÷ 39 ≈ 385 req/s per container (≈ 77% of max capacity), leaving a ~23% margin to absorb sudden spikes in load.


3. Cold Start Strategy for New Containers

Strategy Description
Predictive Scaling Monitor the load growth trend and spin up new containers before the critical threshold is reached
Warm Pool Keep 2-3 containers ready in standby mode so they can be activated instantly when needed
Golden Images Use pre-baked, optimized container images to reduce init time
Gradual Traffic Ramp-up Route traffic to the new container gradually instead of sending full load immediately
Readiness Probe Don't add the container to the load balancer until it passes a readiness check

4. Using ghaymah Block Storage for Stateful Workloads

  • Persistence across rescheduling: If a container fails or is moved to another node, the same volume can be reattached without losing data.
  • Decoupling storage from compute: Allows the container layer to scale independently from the storage layer.
  • Low-latency I/O: Suitable for databases and queueing systems that need fast read/write.
  • Snapshots: Periodic snapshots for backup and data recovery in case of failures.
  • Single-container attachment: Typically used behind a centralized database rather than inside each of the 39 containers, to preserve statelessness in the processing layer.