Home / Deployment scenarios / Hybrid cloud for omnichannel retail
Reference deployment Hybrid cloud

A retailer that keeps its core at home and rents the peak

A retailer with about 350 stores and a growing online business had a simple problem with expensive consequences. On six or seven sale days a year the website needs ten times its normal capacity, and on the other 358 days it does not. This design keeps the systems that run the stores where they are and moves only the parts that need to stretch, with one identity, one network and stock that agrees on both sides.

SectorOmnichannel retail
Estate350 stores + e-commerce
Programme6 months, 5 phases
ModelHybrid: core on-prem, burst on cloud
The situation

A website that falls over on the days that matter most

The retailer sells apparel, footwear and home goods through about 350 stores and its own website and app. ERP, the POS back-end, inventory and order management run in the company’s own data centre, which was refreshed two years ago and still has plenty of life in it. The storefront runs there too, on a fixed set of virtual machines.

On a normal day the site handles around 8,000 concurrent shoppers. On the big sale days, festive season and end-of-season clearance, that rises to 80,000 or more in the first hours. Last year the site slowed to a crawl for most of the opening morning of the largest sale, and the promotions engine, which works out every discount at checkout, was the first thing to buckle.

Buying hardware for the peak would leave it idle for more than 350 days a year. Moving everything to public cloud would mean re-platforming an ERP that works well and feeds every till in the country. The question was how to give the website room to grow tenfold for a weekend, without overselling stock or creating a second set of everything to manage.

What could not be compromised

  • ERP, POS back-end and inventory stay on-premises. Store operations cannot depend on an internet path.
  • No overselling: stock shown online must be within a minute of what the stores and warehouses actually hold.
  • Card data stays out of the retailer’s systems through a tokenised payment gateway, keeping PCI DSS scope small.
  • Customer data is handled under the DPDP Act, with consent records and a clear view of where it is stored.
  • Cloud spend must follow the sale calendar. Peak capacity is paid for in the sale weeks, not all year.
Options weighed

Four ways to handle a tenfold peak

Each option was costed over three years against last year’s traffic and the sale calendar for the next two years.

OptionWhat worksWhat does notVerdict
Buy on-premises capacity for the peakOne environment, no new skills.Ten times the web and promotions capacity sits idle most of the year. Lead time for each year’s growth.Rejected
Move everything to public cloudElastic everywhere, one platform.Re-platforms a stable ERP and puts every till behind an internet path. Highest cost and risk for the least benefit.Rejected
Hosted commerce platformElastic storefront out of the box.Promotions logic and stock rules would be rebuilt in someone else’s product. Per-order fees grow with the business.Rejected
Hybrid: core on-premises, storefront and promotions burst to cloudPays for the peak only in sale weeks. Stores unaffected. Uses containers the team already builds.Stock and price sync must be designed carefully. Two environments need one set of tools.Chosen
Target architecture

The storefront stretches, the core stays put

The storefront and promotions engine run on Kubernetes in a public cloud region in India, behind the CDN. They never call the ERP during a shopping session. Instead, they read from a local copy of the catalogue and stock, kept current by a stream of changes over a private link. Orders are queued in the cloud and drained into order management on-premises at a steady rate.

Scroll sideways to see the whole diagram →
CUSTOMERS AND STORESPUBLIC CLOUD, INDIA REGION (BURST)SHARED LAYERON-PREMISES DCOnline shoppersweb and app, 10x on sale daysCDN and WAFimages, pages, bot filtering350 storesPOS tills over SD-WANStorefront on Kubernetesweb, app APIs, 6 to 60 podsPromotions engineoffers, coupons, price rulesCatalogue and stock cacheread copy, updated in secondsOrder queueabsorbs checkout peaksCost controlsbudgets, tags, scale-down rulesShared identityone directory, SSO, MFAPrivate link2 x 10G, one IP planOne monitoringlogs, metrics, spendPOS back-endsales, returns, loyaltyERPpricing, purchasing, financeInventory servicestock by store and warehouseOrder managementfulfilment, ship from storeBackup and recoveryimmutable copies, second siteHTTPSSD-WAN2SSOSSOofferscheckout4prices3stockordersnightly6spend15User or API trafficControl / API callData / replicationScheduled copyLogging / management
Numbered flows: (1) shoppers reach the storefront through the CDN, (2) one directory signs in customers and staff on both sides, (3) stock changes stream from inventory to the cloud cache, (4) prices and offers flow from ERP to the promotions engine, (5) orders queue in the cloud and drain into order management, (6) cloud spend feeds the same monitoring as everything else.
Building blockWhy it is there
1 CDN and WAFServes images, static pages and cached product listings from the edge, and filters bots that hit stock pages on sale mornings. About 85% of requests never reach the storefront at all.
2 Storefront on KubernetesThe web front end and app APIs, packaged as containers. Runs at 6 pods on a normal day and scales to 60 on sale days, across three availability zones in an Indian region.
3 Promotions engineWorks out every discount, coupon and bundle at basket and checkout. It runs next to the storefront so it can scale with it, and reads price rules that ERP publishes.
4 Catalogue and stock cacheA read copy of products, prices and stock by location. Updated from change events, so the storefront never queries ERP or inventory directly during a session.
5 Order queue and order managementCheckout writes each order to a durable queue in the cloud. Order management on-premises drains it at a rate it can handle, reserves stock and decides whether to ship from a warehouse or a store.
6 Shared identityOne directory for staff and administrators across both environments, with SSO and MFA. Customer accounts sit in a customer identity service that uses the same policies and audit trail.
7 Private link and one network designTwo 10G private connections to the cloud region on separate paths, one IP address plan, one firewall policy model and one DNS. The cloud is treated as another site, not as the internet.
8 Cost controlsEvery cloud resource is tagged by service and sale event. Budgets alert at 50%, 80% and 100%, and scale-down rules return capacity to baseline within hours of a sale closing.
Sizing, worked out

Sized from last year’s sale day, not from the average

Sizing used per-minute traffic from last year’s biggest sale, plus 30% growth. Normal days and sale days are sized separately because only the sale day drives the burst.

ItemNormal daySale day peakBasis
Concurrent shoppers~8,000~80,00010x measured, first two hours of the sale
Requests reaching storefront~225 per second~2,250 per second~1,500 and ~15,000 per second at the CDN, 85% served from cache
Storefront pods6 (2 per zone)up to 60~60 requests per second per pod, 2,250 / 60 = 38, plus 50% headroom
Orders~400 an hour~4,000 an hourQueue drains at 6,000 an hour, so it never grows during the sale
Stock change events~10 lakh a day~30 lakh a day~2.5 lakh till transactions a day, about 4 lines each, 3x on sale days
Private link~80 Mbps used~300 Mbps used2 x 10G on separate paths, sized for resilience rather than volume
Cloud spend₹14 to 18 lakh a month+₹5 to 8 lakh per sale eventBaseline storefront plus burst hours, at reserved and on-demand rates

A full load test at 1.5 times the expected sale peak runs three weeks before each major sale, with the CDN, storefront, promotions, queue and order management all in the path.

How it is delivered

From one shared network to the first live sale

The order of work follows the retail calendar. The first sale on the new design is a smaller one, and nothing changes in the four weeks before festive season.

1

Foundations

Weeks 1 to 6

Private links, IP plan, firewall policy, DNS and shared identity built and tested. Cloud landing zone with tagging and budgets from day one.

Gate: On-premises and cloud reach each other only over the private link, with every rule in one policy repository.

2

Data sync

Weeks 7 to 12

Change data capture on inventory and ERP price tables, streamed to the cloud cache. Stock accuracy measured against store counts every hour.

Gate: Cloud stock within 60 seconds of source for 99.9% of changes over two weeks.

3

Storefront and promotions

Weeks 13 to 18

Containers deployed to the cloud cluster, order queue built, order management connected. Traffic shifted by CDN weights: 5%, 25%, 100%.

Gate: Two weeks at 100% with checkout errors and page times equal or better than on-premises.

4

First sale

Weeks 19 to 22

Load test at 1.5x, autoscaling limits tuned, war room runbook rehearsed. A mid-size sale runs on the new design.

Gate: Sale completes with no slowdown, no oversold lines and spend inside the event budget.

5

Hand-over

Weeks 23 to 26

Runbooks, cost reports per sale and on-call rotas handed to the platform team. Old storefront VMs kept warm for one more sale, then retired.

Gate: Team runs a sale rehearsal on its own.

Way back: Until the old storefront VMs are retired, the CDN can send all traffic back to on-premises in minutes. The order queue is the only new path for orders, so it is tested with a fallback that writes orders directly to order management if the queue is unavailable.
Risks, handled up front

The risks in splitting a retailer across two places

RiskWhat could happenHow the design handles it
OversellingStock in the cloud lags a store sale and the last unit sells twiceStock streams as changes within seconds, low-stock items keep a safety buffer online, and order management confirms the reservation before the confirmation email goes out.
Private link failureThe cloud loses its path to stock and order systems mid-saleTwo links on separate paths and providers. If both fail, the storefront keeps selling from the cache with wider safety buffers and orders wait in the queue.
Runaway spendAutoscaling or a bot attack runs up a large billHard upper limits on pod and node counts, budget alerts per event, and bot filtering at the CDN before traffic reaches anything that scales.
Promotion errorsA wrong price rule gives away margin at scalePrice rules come only from ERP, are checked against a margin floor before publishing, and can be withdrawn across the site in under a minute.
Two environments to runThe team ends up maintaining two of everythingOne identity, one monitoring stack, one network policy repository and the same container pipeline for both sides.
What was optimised

What was optimised

85%

Served from the edge

Images, listings and static pages come from the CDN, so the storefront only handles what must be dynamic.

10x

Capacity for the sale, not the year

Storefront and promotions scale from 6 to 60 pods and back within hours of the sale ending.

0

ERP calls per page

Shopping sessions read only the local cache. ERP and inventory never see sale-day traffic directly.

<60 s

Stock freshness

Change data capture streams stock movements instead of overnight batches.

1

Network and identity design

The cloud region is another site on the same IP plan, firewall model and directory.

Per event

Cost visibility

Every sale has its own tags and budget, so the business sees what each event cost to run.

Outcomes

What the design is built to deliver

MeasureBeforeDesign target
Sale-day site availabilitySlowdown on the opening morningFull service at 10x normal load, tested at 15x
Checkout page time (p95)~4 s on sale morningsUnder 1.5 s at sale peak
Oversold order linesSeveral hundred per major saleClose to zero, with safety buffers on low-stock items
Peak capacity costHardware sized for peak, idle most of the yearPaid only in sale weeks, typically ₹5 to 8 lakh per event
Store operationsDepend on the data centreUnchanged; no dependency on the cloud
Cost reportingOne IT budget lineCost per sale event and per service

Targets are validated in the load tests before each sale. Cloud spend depends on traffic, reserved capacity and pricing, and is re-modelled with your own sale calendar and traffic data during assessment.

Skills this draws on

What a team needs to deliver this

Hybrid network design

Private connectivity, IP planning and one firewall and DNS model across on-premises and cloud.

Kubernetes and autoscaling

Cluster design across zones, autoscaling limits and load testing for peak events.

Data sync and streaming

Change data capture, Kafka and cache design that keeps stock and prices consistent.

Identity

One directory, SSO and MFA for staff across environments, with customer identity alongside.

FinOps

Tagging, budgets and per-event cost reporting that the business can read.

Retail systems integration

ERP, POS, inventory and order management flows, including ship-from-store.

About this page. This is a reference deployment: a worked design built from requirements we see repeatedly in this kind of organisation. It is not a description of a specific client. Figures are design targets and planning estimates; real numbers depend on your workloads and are confirmed during assessment. We are glad to walk through how it would apply to your environment.

Does your website struggle on exactly the days you need it most?

Send us traffic from your last big sale and a rough map of what runs where. We will come back with a plain view of what should burst, what should stay put, and what a sale day would cost to run.