Skip to content

SYSTEM Cited by 4 sources

Zalando Fashion Store API (FSA)

What it is

The Fashion Store API (FSA) is Zalando's production deployment of the Unified Backend-For-Frontends (UBFF) GraphQL schema for zalando.com. It is the GraphQL aggregator that every page on the Zalando web and app consumes: the Rendering Engine — the runtime of the Interface Framework — issues GraphQL queries to FSA for each UI component's data, and FSA fans those out across Zalando's internal microservices and aggregates the responses (Source: sources/2021-03-03-zalando-how-we-use-graphql-at-europes-largest-fashion-e-commerce-company).

FSA's defining architectural property is that it consults only Zalando-operated APIs — third-party integrations are wrapped by internal proxy services first (e.g. the Contentful proxy for the Landing Pages stack), so FSA itself never becomes a direct runtime dependency of an external vendor (patterns/proxy-layer-for-external-saas; Source: sources/2022-09-28-zalando-more-editorial-content-please).

Relationship to UBFF

Where systems/zalando-graphql-ubff is the architecture (a single-service unified-graph BFF across 12+ domains running on in-house systems/graphql-jit), FSA is the name of the production instance behind the Fashion Store — the customer-facing surface of zalando.com. Earlier Zalando posts use "Fashion Store API" and "the UBFF" somewhat interchangeably; on this wiki, FSA is the concrete deployment and UBFF is the architectural pattern and schema.

Architectural role

  Web client / App client
  [Rendering Engine](<./zalando-rendering-engine.md>)  — walks entity tree,
                                     issues GraphQL per renderer
           FSA  — GraphQL aggregator
            ├──→ product service
            ├──→ catalog service
            ├──→ cart / checkout service
            ├──→ recommendations
            ├──→ [Contentful proxy](<./zalando-content-proxy.md>)
            │      └─→ [systems/contentful](<./contentful.md>)  (external SaaS,
            │           isolated behind the proxy)
            └──→ dozens of other internal services

Design disciplines

  • No business logic in FSA — FSA is platform- and domain-agnostic; business logic lives in the downstream presentation-layer backends.
  • Zalando-operated downstreams only — third-party APIs are wrapped by internal proxies first. The Contentful proxy is the canonical example.
  • Per-platform deployment bulkhead via UBFF-level discipline — separate Web and App deployments of the same service, so a mobile regression cannot block the web release train (patterns/per-platform-deployment-bulkhead).
  • Persisted queries in production — FSA rejects raw GraphQL in production and accepts only registered persisted-query IDs (see concepts/graphql-persisted-queries).

Seen in

Last updated · 550 distilled / 1,221 read