Consumer packaged goods — D2C commerce

Re-architecting a D2C Platform from a Few Stores to 100,000

A direct-to-consumer platform built for a handful of stores had to reach around 100,000 across India and further markets. We re-architected it for that scale — reworking the data model, optimising the integration layer, and resolving the production performance problems that surfaced along the way.

Client
Global FMCG group — direct-to-consumer business
Role
Principal enterprise architect — scalability re-architecture, data modelling and integration
Period
2017-03 – 2019-05

The challenge

The platform had been built for a small number of stores and was being asked to serve on the order of 100,000 across India and additional markets. That is not a capacity increase; it is a different problem. Entities that were reasonable to model one way at pilot scale became the bottleneck at national scale, integration patterns that were adequate for a few hundred synchronisations a day would not carry the new volume, and the programme was simultaneously moving onto the vendor's then-new cloud commerce offering. Delivery ran through a large systems integrator across several time zones.

Approach

  • Treated the store-count increase as a re-architecture rather than a sizing exercise — the model had to change, not just the infrastructure.
  • Reworked the data model around the entities whose cardinality was growing by orders of magnitude.
  • Optimised the integration layer for the new volume and shape of traffic rather than scaling it linearly.
  • Produced platform sizing from the client's own traffic and catalogue characteristics rather than a reference model.
  • Insisted on evidence before diagnosis — thread dumps taken on the affected node at a defined interval, not a description of the symptom.
  • Reviewed the cloud offering against the storefront's actual dependencies before migration, not during.

Innovation

  • Located the scale ceiling in the data model rather than the infrastructure — the change that mattered was structural, and no amount of sizing would have substituted for it.
  • Made 'show me ten thread dumps' the standard opening move: the fastest route from a reported symptom to a known cause.
  • Assessed the early cloud offering against real dependencies, giving the programme a decision rather than a surprise.

Outcome

  • Platform re-architected to support a store footprint around three orders of magnitude larger than its original design point.
  • Data model and integration layer reworked for the new scale, across India and further markets.
  • Recurring production incidents closed at root cause, each with a retained written RCA.
  • Session failover validated and open points closed before scale-up.
  • Cloud migration proceeded with gaps identified in advance rather than discovered at go-live.

Recommendations

  • A 1,000x growth target is a modelling problem, not a sizing problem. If the answer is only more infrastructure, the model has not been examined.
  • Ask for thread dumps before opinions. Most production performance debates are settled in ten minutes by evidence nobody collected.
  • Session timeouts that disagree with each other cost real memory and buy nothing. Derive them from measured session length.
  • Before adopting a new cloud platform, list what your storefront actually depends on and check each item. Absent components are found late and expensively.
  • Write the RCA down. An undocumented fix gets re-diagnosed next quarter.

Technology

  • SAP Commerce Cloud (CCv2)
  • SAP Commerce (hybris)
  • MuleSoft
  • Redis
  • JVM performance analysis
  • Session replication / failover

Want the working artefacts?

The account above is the whole story. If you want the material behind it — data models and partitioning, sizing inputs, load-test design, the decision frameworks as something you can actually apply — we will send the appendix for Re-architecting a D2C Platform from a Few Stores to 100,000 to a work address. Client identities stay masked either way.

Facing something similar?

If any of this maps onto a problem you are carrying, we are happy to talk it through — no obligation, and you will get a straight answer about whether it is worth doing.

Start a conversation