68 أسطر
1.2 KiB
Markdown
68 أسطر
1.2 KiB
Markdown
# Scalability Calculations
|
||
|
||
## Required Capacity
|
||
|
||
Expected traffic:
|
||
|
||
15,000 requests/second
|
||
|
||
Each container handles:
|
||
|
||
500 requests/second
|
||
|
||
Base number of containers:
|
||
|
||
15000 / 500 = 30 containers
|
||
|
||
---
|
||
|
||
## Safety Margin
|
||
|
||
Required safety margin:
|
||
|
||
30%
|
||
|
||
30 × 1.30 = 39 containers
|
||
|
||
Final requirement:
|
||
|
||
**39 containers**
|
||
|
||
---
|
||
|
||
# Cold Start Strategy
|
||
|
||
To reduce startup latency for new containers:
|
||
|
||
- Keep at least 2 warm standby containers.
|
||
- Pre-pull container images on worker nodes.
|
||
- Use lightweight container images.
|
||
- Enable Horizontal Pod Autoscaler.
|
||
- Scale gradually based on CPU and request rate.
|
||
- Perform health checks before routing traffic.
|
||
|
||
This minimizes cold start delays during traffic spikes.
|
||
|
||
---
|
||
|
||
# Using Ghaymah Block Storage
|
||
|
||
Block Storage is suitable for stateful workloads because it provides persistent storage independent of the container lifecycle.
|
||
|
||
Typical use cases:
|
||
|
||
- PostgreSQL
|
||
- MySQL
|
||
- MongoDB
|
||
- Redis persistence
|
||
- Application uploads
|
||
- Log storage
|
||
|
||
Benefits:
|
||
|
||
- Persistent data after container restarts.
|
||
- High-performance disk access.
|
||
- Easy attachment to containers.
|
||
- Reliable storage for production workloads.
|
||
|
||
Containers can be recreated without losing application data because the storage volume remains intact. |