Skip to content

PoC Cell Routing Technology

Description

The routing layer is meant to offer a consistent user experience where all Cells are presented under a single domain (for example, gitlab.com), instead of navigating to separate domains.

We need to decide what technology the routing service is written in. The choice depends on the best-performing language and the routing layer's expected way and place of deployment. If it is required to make the service multi-cloud, it might be necessary to deploy it to the CDN provider. Then, the service needs to be written using a technology compatible with the CDN provider.

We also have a PoC from @andrewn https://gitlab.com/andrewn/stateless-router, see #408507 (comment 1379811355) from more context.

As an outcome of this issue, we expect:

  • Decide the technology to implement the routing layer
  • Document decisions in the Cells blueprint
  • Create a plan with concrete issues to continue the development of the routing layer: discovery, single domain interaction, endpoints classification, GraphQL, etc.

Related to #408507 (closed).

Reference:

Requirements:

See https://docs.gitlab.com/ee/architecture/blueprints/cells/routing-service.html#requirements

Action Items

Edited by Thong Kuah