Core Platform Team/Initiatives/Remove storage from RESTBase
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The Core Platform Team and its initiatives do not exist anymore. See MediaWiki Engineering Group instead since 2023. |
Remove storage from RESTBase
|
Initiative Description
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The Core Platform Team and its initiatives do not exist anymore. See MediaWiki Engineering Group instead since 2023. |
- Summary
RESTBase acts as the main entry point for our REST API hierarchy. In addition to acting as an API proxy, it also incorporates a storage engine (backed by Cassandra) that either caches or permanently stores responses generated by back-end services. Such a set-up makes it hard to reason about and creates a direct dependency on RESTBase for the back-end services providing the content.
- Significance and Motivation
The goal of the project is to reduce the complexity of the REST API sub-system and give control of operating the storage to individual services.
- Outcomes
Reduce the complexity of the platform
The primary measure of the success of this project is that API proxying and storage engine service are deployed separately in production.
- Baseline Metrics
- RESTBase code simplified and API proxying and storage engine separated
- Target Metrics
- Both services deployed to production (one on Cassandra nodes, the other in Kubernetes)
- Individual services use the storage engine service directly
- Stakeholders
- Core Platform
- SRE
- Known Dependencies/Blockers
- SRE (for k8s deployment)
Epics, User Stories, and Requirements
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The Core Platform Team and its initiatives do not exist anymore. See MediaWiki Engineering Group instead since 2023. |
- Simplify Parsoid Storage
- Simplify MCS Storage
- Rework Storage Modules to separate them from routing
- Separate services (1 new service, 1 old)
- Deploy new service
- Connect services
- Create client libraries for accessing the storage
- Instrument mathoid, parsoid and MCS to access storage directly
- Document the changes made, especially for configs
Time and Resource Estimates
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. The Core Platform Team and its initiatives do not exist anymore. See MediaWiki Engineering Group instead since 2023. |
- Estimated Start Date
April 2019
- Actual Start Date
None given
- Estimated Completion Date
None given
- Actual Completion Date
None given
- Resource Estimates
- 2.5 FTE for 3 months
- 1.5 FTE for the next 3-6 months
- Collaborators
- Core Platform
- Individual service owners: Parsing team, Reading Infrastructure
Subpages