The Cloud Engineers

The Cloud Engineers

How I Scaled a Serverless E-Commerce Platform for Black Friday

A deep dive into the architecture behind scaling an e-commerce platform to 1 million orders per second on Black Friday.

Lefteris Karageorgiou's avatar
Lefteris Karageorgiou
Nov 04, 2026
∙ Paid

In early 2025, a major European e-commerce retailer came to me with a problem that kept their CTO up at night. Their checkout crashed every Black Friday and Christmas sale.

They handled 40,000 orders per second at normal peak. Black Friday pushed past 300,000 requests per second, and their infrastructure couldn’t take it. The target: 1 million orders per second by Q4 2025, with no hit to customer experience and no revenue lost to downtime.

By Black Friday 2025, the same checkout handled 312,000 orders per second at peak. Zero errors. 95ms average acknowledgment.

Here’s how.

Black Friday 2024: the failure chain

The platform was multi-brand, serving Europe and expanding into North America. The architecture was simple: API Gateway took order submissions, called Lambda synchronously to validate inventory and payment, and wrote confirmed orders to DynamoDB.

At 40,000 requests per second, this worked fine. Then the midnight sale launched, and traffic hit 280,000 requests per second within 15 minutes.

Here’s what broke, in order:

  • API Gateway throttled at regional limits.

  • Lambda concurrency maxed out at 3,000 executions, and timeouts cascaded.

  • DynamoDB hot-partitioned on doorbuster SKUs, because everyone was buying the same deals at once.

  • Checkout latency went from 300ms to over 8 seconds.

  • Error rates hit 23%. Nearly a quarter of customers couldn’t check out.

The damage: an estimated €4.2 million in lost revenue over a 6-hour outage window. Support queues overflowed, and the brand took a beating on social media.

The real problem was the shape of the traffic. Normal days ran 5,000–10,000 orders per second, and regular peaks hit 40,000. Black Friday, Cyber Monday, and Christmas Eve flash sales brought 20–50x spikes within minutes. A synchronous design meant over-provisioning all year for a few days of traffic. Economically, that doesn’t work.

The requirements we set before writing code

Performance: Accept 1 million order requests per second at peak, with acknowledgment under 300ms. Full processing could take 5–15 seconds.

Reliability: 99.999% durability for accepted orders. Every order is revenue, so zero data loss. Inventory could be eventually consistent. Order capture could not.

Cost: Under €120,000 a month during peak season (November–December) and under €30,000 a month off-peak. Running the old architecture safely through Black Friday would have needed €500,000+ in over-provisioned capacity.

Scalability: Absorb 50x spikes with no manual intervention, pre-warming, or capacity planning. Go from 10,000 to 500,000+ requests per second within minutes.

Customer experience: Instant feedback that the order was accepted, and a confirmation email within 30 seconds.

User's avatar

Continue reading this post for free, courtesy of Lefteris Karageorgiou.

Or purchase a paid subscription.
© 2026 Lefteris Karageorgiou · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture