User:Andrewbogott/products
WMCS seeks to support users with a wide variety of technical skills. Some skills that we as SREs take for granted are not, and should not, be required skills for our users. The most stark example of this is ssh -- a hard-to-use interface (especially for Windows users) which isn't actually involved in the vast majority of tools but which stands as an obstacle for any work on toolforge.
We also have power users with exceptional use-cases that require specific advanced technical skills.
In the past, we've mixed up the power users and the basic users in a single project (toolforge). This has caused ongoing support and migration issues where we're unable to swiftly improve the experience of most users due to needing to support a small number of legacy or corner cases. A better architecture will partition these different skillsets into different products; that way the more managed products can 'just work' and survive backend refactors with a minimum of fuss. Users who opt to use the less-managed products will be on notice that they have elevated responsibilities.
In the following charts, an 'x' implies that a skillset is required to use the product. An 'o' means that the skillset /can/ be used on that platform. So for example, right now a user of the toolforge k8s platform can run kubectl commands but doesn't need to understand kubectl to deploy software on kubernetes.
Where we are
sql | coding | gitlab | ssh/bash | k8s/container admin | linux system admin | Mediawiki dev/admin | |
---|---|---|---|---|---|---|---|
quarry | x | ||||||
paws | o | x | |||||
toolforge w/grid backend | o | x | o | x | |||
toolforge w/k8s backend | o | x | o | x | o | ||
toolforge w/buildpacks backend | o | x | o | x | o (not 100%, ex. logs) | ||
cloud-vps project | o | o | o | x | o | x | o |
Where we'd like to be
A ladder of products that meets users wherever they are with their technical skills:
- Toolforge uses a limited, well-defined API and interface that obscures the backend implementation from users. Most workflows can be accessed via gitlab with little or no need for ssh access.
- k8s power users use a separate product with less hand-holding
- More targeted support for wiki editing and mediawiki development
- Continued cloud-vps support for internal and external users who want a public cloud experience
sql | coding | gitlab | ssh/bash | k8s/container admin | linux system admin | Mediawiki dev/admin | |
---|---|---|---|---|---|---|---|
superset | x | ||||||
paws | o | x | |||||
unnamed wiki event hook product | o | x | |||||
toolforge w/buildpacks backend | o | x | x | o | |||
unnamed mediawiki-hosting product (possibly implemented as a buildpack) | o | o | o | o | x | ||
unnamed BYOC product (codename 'hellforge') | o | x | o | o | x | o | |
cloud-vps project | o | o | o | x | o | x | o |