Define Cells architecture constraints

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem

The Cells architecture comes with a number of constraints that are only implicitly outlined in https://docs.gitlab.com/ee/architecture/blueprints/cells/ right now. This makes it hard for other groups to understand why features may need to change and in what ways.

Proposal

via @mnichols1

Add a section to the blueprint that outlines constraints that are a consequence of a Cells architecture. These could be grouped like this

Hard constraints

Actions that are forbidden or impossible to achieve

Soft constraints

Actions that are non-performant or otherwise challenging

Unconstrained

Things not impacted or work as they do today

By outlining these constraints it makes it easier for groups to understand the "framework" within which existing features would have to operate and what new features would need to take into account.

Edited by 🤖 GitLab Bot 🤖