Modernising a Legacy Retail Platform for 10× Traffic

Challenge
A decade-old monolithic platform struggled under peak seasonal demand. Page load times exceeded 8 seconds, checkout abandonment reached 34%, and the system routinely failed during high-traffic campaigns.
Solution
We incrementally decomposed the monolith into domain-driven microservices, introduced a sharded PostgreSQL architecture, and deployed a CDN-backed, globally distributed storefront with sub-200ms response times.
Results
Concurrent capacity increased from 800 to 12,000 users. Checkout abandonment reduced from 34% to 11%. Page load time improved to under 1.2 seconds. The platform processed a record £42M in a single campaign weekend.
Global Retail Group’s platform worked, until it mattered most.
For most of the year, performance was acceptable. But during peak trading periods such as Black Friday, holiday campaigns etc., the system consistently failed under load.
Symptoms:
- Page load times exceeding 8 seconds
- Checkout abandonment at 34%
- Failed deployments during critical windows
- Frequent outages under peak traffic
This wasn’t just a performance issue. It was a revenue risk.

The Architecture Constraint
The underlying system had reached its limits:
- 1.2M+ lines of tightly coupled code
- Single shared database with 400+ tables
- No clear domain boundaries
- 4-hour deployment cycles requiring maintenance windows
Scaling vertically was no longer viable. The architecture itself needed to change.
Migration Strategy
A full rewrite would have introduced unacceptable risk during active trading cycles. Instead, we applied a strangler-fig modernisation strategy, incrementally replacing core components while keeping the platform live.
Phase 1: Product Catalogue Extraction
The product catalogue was the highest-read domain and the primary source of database load.
What we did:
- Extracted catalogue into a dedicated microservice
- Introduced Elasticsearch for fast search and filtering
- Implemented aggressive edge caching via CDN
Impact:
- Reduced database load by 60%
- Significantly improved response times for browsing
Phase 2: Checkout & Payments Rebuild
Checkout was the highest-risk and highest-value flow. We redesigned it as a stateless, event-driven saga:
- Each checkout step emits events to downstream services
- Introduced idempotency for payment operations
- Built a PCI-compliant payment microservice
- Implemented retry and failure recovery mechanisms
This ensured resilience under high concurrency.
Phase 3: Data Layer Transformation
The original monolithic database was a bottleneck.
We introduced:
- Sharded PostgreSQL architecture
- Domain-based data ownership per service
- Read replicas for high-traffic workloads
This enabled horizontal scaling and eliminated single-point contention.
Phase 4: Global Performance Layer
To meet global performance requirements:
- Deployed CDN-backed storefront
- Implemented edge caching for static and semi-dynamic content
- Optimised TTFB to sub-200ms globally
This shifted load away from origin infrastructure and improved user experience significantly.
Phase 5: Parallel Run & Decommissioning
- Ran legacy and new systems in parallel for one full trading cycle
- Gradually shifted traffic to new services
- Monitored system behaviour under peak conditions
- Safely decommissioned legacy infrastructure
No downtime. No disruption.
Measured Impact
Since your CMS struggles with tables, use this format 👇
Concurrent usersBefore: 800After: 12,000Impact: 15× scale capacity
Page load timeBefore: 8+ secondsAfter: <1.2 secondsImpact: dramatically improved UX
Checkout abandonmentBefore: 34%After: 11%Impact: +23 percentage point improvement
Deployment timeBefore: 4 hours + downtimeAfter: <8 minutes, zero downtimeImpact: continuous delivery
Peak campaign revenueBefore: constrained by system limitsAfter: £42M in a single weekendImpact: revenue unlocked
Business Outcomes
Before:
- Revenue limited by system capacity
- Poor customer experience during peak demand
- High operational risk during deployments
After:
- Platform scaled confidently for peak events
- Consistent, fast customer experience globally
- Engineering team able to deploy continuously
- Revenue growth supported by infrastructure
Why This Worked
- Incremental modernisation reduced riskThe system evolved without disrupting operations
- Domain-driven design improved clarityServices aligned with business capabilities
- Event-driven architecture improved resilienceFailures were isolated instead of cascading
- Edge-first strategy improved performanceReduced dependency on core infrastructure
- Parallel run ensured stabilityMigration validated under real-world load
Timeline
- Phase 1: Catalogue extraction
- Phase 2: Checkout and payments rebuild
- Phase 3: Data layer transformation
- Phase 4: Global performance optimisation
- Phase 5: Parallel run and decommission
Delivered without disruption during active trading cycles.
Final Thought
Retail platforms don’t fail gradually. They fail when demand peaks. The systems that succeed are the ones designed for their busiest day, not their average one.
Scaling Retail Platforms?
Intagleo Systems helps organisations modernise legacy e-commerce platforms, improve performance, and scale confidently for peak demand.
