The “MLOps Platform” of the HSE university provides a set of tools for Machine Learning models and ETL. Developers and analysts using the platform are provided with many capabilities, including ones for managing requests pipelines. A requests pipeline is a sequence of stages written in the “YAML” language, declaring the way data should be extracted, handled, transformed and stored.
Pipelines may become big relatively fast. Moreover, pipelines are based on the resources description and involve an extended “YAML” syntax. Therefore, pipelines often happen to be hard to explore and modify.
A web-editor for pipelines with auto-saving and automatic syntax and cohesion checking, embedded into the “MLOps Platform”. The editor should be based on the existing “MLOps Platform” services, including ones for Authorization and pipeline storing.
- The “MLOps Platform” developers
- Machine Learning specialists
- Data Engineering Specialists
- The Higher School of Economics
- Viewing existing pipelines.
- Creating new pipelines. This includes uploading configurations, declaring the resources used during the pipeline execution.
- Editing the existing pipelines. This includes syntax checks
- Saving the contents of the pipelines edited. This should happen both automatically and on a specific button click. The process should be executed in relation to either local device, or the “MLOps Platform” storages.
- Synchronizing the pipeline with Git
- Security. User actions logs should not contain any personal data (it should contain the in-editor actions only).
- Maintainability. The pipelines editor’s logic should not be depended on Visual Studio Code’s specifics in order for it to be implemented as a standalone tool. The editor should expect and show changes from other sources (for possible multiple users support in future).
- Usability. The web-editor should be implemented as the Visual Studio Code’s extension and use VS Code’s UI logic conventions and style.
- Reliability.
- Availability. The editor’s offline functionality should be available for usage at any given time.
- Recoverability. The editor should be able to restore its functioning state after any failures at no longer time that is needed to open normally.
- Observability. The users’ actions for the last 24 hours should be logged and saved into a file.