ShinyProxy 1.0.2

By Open Analytics

Docker swarm logo

(This article was first published on Open Analytics, and kindly contributed to R-bloggers)

ShinyProxy is a novel, open source platform to deploy Shiny apps for the enterprise
or larger organizations. Since our last blog post ten new
releases of ShinyProxy have seen the light, but with the 1.0.2 release it is time
to provide an overview of the lines of development and advances made.

Scalability

ShinyProxy now allows to run 1000s of Shiny apps concurrently on a Docker Swarm cluster.
Moreover, ShinyProxy will automatically detect whether the Docker API URL is a
Docker Engine API or a Swarm cluster API. In other words changing the back-end from
a single Docker host to a Docker Swarm is plug and play.

Single-Sign On

Complex deployments asked for advanced functionality for identity and access management (IAM).
To tackle this we introduced a new authentication mechanism authentication: keycloak
which integrates ShinyProxy with Keycloak, RedHat’s open source IAM solution. Features like single-sign on, identity brokering, user federation etc. are now available for ShinyProxy
deployments.

keycloak logo

Larger Applications and Networks

Often times Shiny applications will be offered as part of larger applications that are
written in other languages than R. To enable this type of integrations, we have introduced
functionality to entirely hide the ShinyProxy user interface elements for seamless embedding
as views in bigger user interfaces.

Next to integration within other user interfaces, the underlying Shiny code may need to interact
with applications that live in specific networks. To make sure the Shiny app containers
have network interfaces configured for the right networks, a new docker-network configuration
parameter has been added to the app-specific configurations. Together with Docker volume mounting
for persistence, and the possibility to pass environment variables to Docker containers,
this gives Shiny developers lots of freedom to develop serious applications. An example configuration is given below. A Shiny app communicates over a dedicated Docker network db-net with a database back-end and configuration information is made available to the Shiny app via environment variables that are
read from a configuration file db.env:

  - name: db-enabled-app
    display-name: Shiny App with a Database Persistence Layer
    description: Shiny App connecting with a Database for Persistence
    docker-image: registry.openanalytics.eu/public/db-enabled-app:latest
    docker-network-connections: [ "db-net" ]
    docker-env-file: db.env
    groups: [db-app-users]

Usage Statistics

Gathering usage statistics was already part of ShinyProxy since version 0.6.0, but was limited
to an InfluxDB back-end so far. Customers asked us to integrate Shiny applications
with MonetDB (and did not want a separate database to store usage statistics) so we developed a MonetDB adapter for version 0.8.4. Configuration has been streamlined with a usage-stats-url and support for DB credentials is now offered through a usage-stats-username and usage-stats-password.

keycloak logo

Security

Proper security for ShinyProxy setups of all sizes is highly important and a number
of improvements have been implemented. The ShinyProxy security page
has been extended and has extra content has been added on dealing
with sensitive configuration.
On the authentication side LDAPS support has been around for a long time, but since release 1.0.0
we also offer LDAP+StartTLS support out of the box.

Deployment

Following production deployments for customers, we now also offer RPM files for deployment
on CentOS 7 and RHEL 7, besides the .deb packages for Ubuntu and the platform-independent
JAR files.

Further Information

For all these new features, detailed documentation is provided on http://shinyproxy.io and as always community support on this new release is available at

https://support.openanalytics.eu

Don’t hesitate to send in questions or suggestions and have fun with ShinyProxy!

To leave a comment for the author, please follow the link and comment on their blog: Open Analytics.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more…

Source:: R News

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.