Case studySoftware FactoryHarbor Retail Group

GraphQL Federation for Omnichannel Retail APIs

One graph over legacy REST microservices — storefront teams ship features without waiting on central API releases.

Project overview

Problem

Store, cart, and loyalty lived in separate services with different REST contracts. Every new screen required API sync meetings and long release trains.

Solution

We introduced a federated graph with clear domain ownership, schema review in CI, and router-level auth so product teams could extend the graph without trampling each other.

Key metrics

12
Bounded contexts federated
<120ms
p95 gateway latency
0
Breaking schema changes at launch
24/7
Query plan monitoring

System architecture

Subgraphs per domain behind a managed gateway; persisted queries for the mobile app; field-level cost limits to protect the core from runaway partners.

Workflow

  • Map domains

    Event storming with business and platform to draw seams that match how teams actually ship.

  • Pilot subgraph

    Catalog service first — patterns for tracing, errors, and deprecation banners.

  • Scale out

    Rolling federation of checkout and loyalty with shadow traffic before cutover.

  • Observe

    Synthetic journeys plus anomaly alerts on resolver depth and fan-out.

Results & impact

Product squads prototyped omnichannel journeys in days instead of quarters. Governance stayed humane: schema linting caught mistakes before prod, not politics in Slack.

Deeper dive

Deeper dive

Canary routing at the gateway let two client versions coexist during peak season withoutforking backends.