Scaling R Shiny Apps to Multiple Concurrent Users in a Secured HPC Environment Using Open OnDemand

Open OnDemand is an open source project to provide web based access to HPC resources (https://openondemand.org). OnDemand's "Interactive Apps" support launching web applications like Jupyter and RStudio on cluster compute nodes, proxying HTTP requests to those apps, and secure user separation of both app and data access enforced at the OS level [5]. This paper describes leveraging OnDemand to enable the deployment of R Shiny applications that can be launched in OnDemand's interactive HPC environment by multiple analysts at the same time to visualize different datasets. Dataset and app authorization is managed using network file system (NFS) file access lists (ACLs). A custom OnDemand app was built to enable admins to manage who has access to specific apps and what datasets can be loaded by those apps. By using OnDemand to facilitate the use of an HPC batch scheduler as the process manager and OnDemand as the proxy we can support multiple analysts launching Shiny apps to access their data in a scalable and secure manner without the need for managing a separate dedicated installation of RStudio or Shiny Server.