@Vaclav Pavlin I tried this out last night and I think it works well :)
@Marek Cermak this is for teams of data scientists at this client that want to production-ize their research. Jupyter has been provided as a way to work on their research in the cloud, and to share their work with other researchers. However, after their work is completed, the question is how do we quickly turn this around into production apps?
The number of end users can range from a few people to a few dozen people to potentially large numbers of people depending on the app. I think for use cases with large numbers of end users, we will make a custom interface and a python api backend from the notebook. However, for many cases, I think we would like a more streamlined, automated way to production, and have a pipeline that goes straight from notebook -> production app. For instance, a researcher may come up with a tool that can be used by 3 people in the field for analysis, but those 3 people would be the only people to use it, so bringing in app developers is not an efficient use of time. Currently they use low-code solutions like QuickApps and MatLab App Designer for these purposes.
Almost all the apps follow this pattern:
1. End user provides or chooses input data
- can be many different data sources, from local files to enterprise DB's to web scraping
2. Some data processing is run
3. Output data is provided to the end user
- this will often include visualization
Given this consistent pattern we can probably come up with some templates for going from notebook to web app quickly as well, or get some other low-code solution that is OpenShift-compatible.
My thought with the "appmode" plugin is that the researcher can work on something in non-prod until it looks good. They can switch to the "app" view every once in a while to check it out. Then, once it is ready, they can trigger a pipeline that deploys a hub in production. This hub would be configured to spawn instances of that notebook document, and the url would go straight to the appmode view of the document. The hub can be configured to clean up instances when the browser is closed to conserve resources.
We're still exploring the different ways to bring notebooks to production, this is just one idea for doing that.
If this is relevant to your work I would love to discuss that with you.
Thanks,
Alex