@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

On Wed, Mar 13, 2019 at 8:49 AM Václav Pavlín <vasek@redhat.com> wrote:
Resending - somehow I was subscribed with wrong email:)

HI Alex,

It seems like that is a just a notebook extension - so yes, we can easily add that to the image(s) and enable it.

To try that, I'd recommend forking this repository and adding the install commands in the linked file below the location:

https://github.com/vpavlin/jupyter-notebooks/blob/master/minimal-notebook/.s2i/bin/assemble#L147

You can add the "appmode" Python package to the requirements.txt: https://github.com/vpavlin/jupyter-notebooks/blob/master/minimal-notebook/requirements.txt

You can then build the image from the minimal-notebook/ folder with

s2i build --copy . centos/python-36-centos7 s2i-appmode-minimal-notebook

Then push it to your Nexus and create an image stream. Restart JupyterHub pod and you should see it in the list.

If all went well, you should see the appmode extension - try it out and let me know:)

I might be able to get to this next week - I am in Boston this week and in meetings most of the day(s)

Hope it helps,
Vašek


On Tue, Mar 12, 2019 at 6:02 PM Alexander Feiszli <afeiszli@redhat.com> wrote:
Hi All,

Any Chance we can integrate something like this in ODH? https://github.com/oschuett/appmode  

Basically, it runs your cells and displays widgets, so that the Notebook functions more as an application than a notebook.

Use case: Data scientists would like to be able to create quick-and-dirty applications, based on their work in Jupyter Notebooks, that can be quickly distributed to small groups of end users. In cases of only several end users. 

I'm currently trying to get this working with an existing ODH deployment.

Thanks,
Alex

_______________________________________________
Contributors mailing list -- contributors@lists.opendatahub.io
To unsubscribe send an email to contributors-leave@lists.opendatahub.io


--
AI CoE, Office of CTO, Red Hat
Brno, Czech Republic
Phone: +420 739 666 824