add Q4
فشلت بعض الفحوصات
CI/CD - Build & Deploy to Ghaymah Cloud / build-and-test (push) Has been cancelled
CI/CD - Build & Deploy to Ghaymah Cloud / deploy-staging (push) Has been cancelled
CI/CD - Build & Deploy to Ghaymah Cloud / deploy-production (push) Has been cancelled

هذا الالتزام موجود في:
Ubuntu
2026-07-28 03:23:39 +00:00
الأصل 8f27b9be75
التزام b43f9bf706
3 ملفات معدلة مع 105 إضافات و0 حذوفات

76
Q4-Scalability/README.md Normal file
عرض الملف

@@ -0,0 +1,76 @@
# Q4 - Scalability & Load Balancing
## Objective
Design a scalable architecture capable of handling **15,000 requests per second** on the Ghaymah Container Platform.
---
## Proposed Architecture
The solution uses:
- Ghaymah Load Balancer
- 39 Application Containers
- PostgreSQL Database
- Redis Cache
- Ghaymah Block Storage
- Monitoring and Health Checks
The Load Balancer distributes incoming traffic evenly across all application containers while health checks ensure traffic is only routed to healthy instances.
---
## Container Calculation
Expected Traffic
- 15,000 requests/second
Container Capacity
- 500 requests/second
Required Containers
15000 / 500 = 30
Including 30% reserve capacity
30 × 1.3 = 39 containers
---
## Cold Start Strategy
The platform keeps additional warm containers available to reduce startup latency during sudden traffic spikes.
New containers are automatically created when resource utilization reaches the defined thresholds and are added to the Load Balancer only after passing health checks.
---
## Ghaymah Block Storage
Persistent storage is attached to the database layer to ensure application data survives container restarts and deployments.
Suitable workloads include:
- Databases
- Logs
- Uploaded files
- Stateful applications
---
## Monitoring
The deployment should continuously monitor:
- CPU Utilization
- Memory Usage
- Response Time
- Error Rate
- Container Health
- Restart Count
Alerts should be triggered before resources reach critical levels to prevent service interruption.

عرض الملف

@@ -0,0 +1,29 @@
# Container Capacity Calculation
## Given
- Expected Traffic = 15,000 requests/second
- One container capacity = 500 requests/second
- Required headroom = 30%
---
## Step 1
Number of containers without headroom
15000 / 500 = 30 Containers
---
## Step 2
Adding 30% reserve capacity
30 × 1.30 = 39 Containers
---
## Final Result
The application should run **39 containers** to safely handle the expected traffic while maintaining additional capacity for sudden traffic spikes and infrastructure failures.

ملف ثنائي غير معروض.

بعد

العرض:  |  الارتفاع:  |  الحجم: 1.2 MiB