We’ve got an idea to build something like KNIME as a Service. I general it should look like a cloud based infrastructure which is designed to provide “workflow running service”. Let’s say we have different levels of service: Platinum, Gold, Bronze; each user is assigned to one of them, Bronze is the default. As usual in other *aaS-es.
Each service level has its own SLAs and targets, so we have to provide some workflow runtime statistics, troubleshooting services etc. So the questions are:
- Is there a way to distinguish user’s workflows and jobs, to provide higher level of logging and monitoring of workflows for different service levels?
- How can we get a proper runtime statistics and notifications (started, finished, failed, stages of execution etc.) from workflow? I have an idea to ask users to inject some preconfigured metanodes on start, finish and in some important stages of workflow, which uses Timer Info node and pushes its data among with other stats via REST API call to some statistics aggregator…
- If there a way to prioritize some users against others? We can use a workflow pinning with distributed executors, so we can assign labels to executors and provide them to the users, but how can we forbid some users to use some labels?
Any other ideas regarding this hypocritical service are welcome, of course.