From 88b7df3e3669cf6aef74842d04a1828ecaa1f53a Mon Sep 17 00:00:00 2001 From: hassan90122 Date: Tue, 28 Jul 2026 21:26:03 +0000 Subject: [PATCH] Add scalability architecture diagram --- scalability/architecture.png | Bin 0 -> 29134 bytes scalability/calculations.md | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 scalability/architecture.png create mode 100644 scalability/calculations.md diff --git a/scalability/architecture.png b/scalability/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..3b00c5a33db3603a2b3910d8b7b3b9cbf9612102 GIT binary patch literal 29134 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 b&yy7($8gEXJN$l>x>4=AwsMK0&BOl!P4_F} literal 0 HcmV?d00001 diff --git a/scalability/calculations.md b/scalability/calculations.md new file mode 100644 index 0000000..522f282 --- /dev/null +++ b/scalability/calculations.md @@ -0,0 +1,33 @@ +# Scalability Calculation + +## Given + +Incoming traffic = 15,000 requests/second + +Container capacity = 500 requests/second + +Safety margin = 30% + +--- + +## Step 1 + +Minimum containers required: + +15000 / 500 = 30 containers + +--- + +## Step 2 + +Add a 30% safety margin: + +30 × 1.30 = 39 containers + +--- + +## Final Result + +Required containers = **39** + +This deployment can safely handle 15,000 requests per second while providing additional capacity for traffic spikes and failover.