Hosting a Dash app on SWAN

Hello SWAN team,

I am building a graphical user interface tool to submit hyperparameter optimization job to cern grid on top of the PANDA and iDDS system. This GUI tool is a Dash app which can be hosted on a server, such that the end user can access and submit their PANDA task without having to install it manually. We are wondering if it is possible to host the app on SWAN, and if so, how we could begin to do that.

Thanks in advance.

Hello @pmtuan

Thank you for your post.

I have to talk with the SWAN team about it,
looks very interesting!
I have a couple of questions fo it:

  1. is this software a package that are you already using in production on Atlas?
  2. why you think this should be connected with SWAN? are you using some of our SWAN components for it?
  3. what is the amount of people who are supposed to use it through SWAN?
  4. can it work through https://github.com/plotly/jupyter-dash extension?

Cheers
Omar.

Hi @ozapatam,

Thanks for the quick response. Here are my answers:

  1. This is a new package that we are experimenting, so it’s not used in production yet.
  2. SWAN is a resource that is available to all CERN users. The end user before submitting the task must authenticate themselves. We are hoping that by placing the dash app behind a login wall, we could eliminate the authentication step somehow. This feature needs development and we don’t immediately know how, but is an idea that we have.
  3. It is hard to tell the number of people who will be using it through SWAN. There are certainly demands for a tool to submit tasks to PANDA. The submission process is traditionally quite complicated to a first-time user, so this tool, if deployed will help alleviate the bottleneck of submitting jobs via a CLI.
  4. The GUI tool is currently written as a jupyter-dash app to run on a jupyter notebook.

However, my supervisor and I think that if it can be hosted as a standalone web app running centrally, users can go to that web app and submit the task without having to install the package themselves, that would make it simpler and more likely that the user will use it. For this purpose, the Jupyter-Dash app can be easily converted to a dash app and then deployed on SWAN under some particular domain name. Please let me know what you think of this idea.

Thanks

Hi,

I see you mention converting the jupyter-dash extension to an application and then deploying it as standalone.
The official CERN IT platform for such an use case would be the PAAS hosting https://paas.docs.cern.ch/ , which nicely integrates with other CERN components such as authorization, while giving you a very large degree of freedom in your deployment.

I hope this can help,
Riccardo

1 Like

Just to add, that I did exactly this on CERN’s openshift and was inspired by this:

Works like a charm also with EOS integration and SSO.

Let me know if you need any help, I can share my config etc with you @pmtuan .