Data apps are modern web applications that simplify data-intensive operations and provide value to users by answering very specific questions. The way you host your data apps largely determines the operating costs and the user experience. We launched the Hosting Data Apps website exactly 3 months ago to help you make smart choices and teach you the necessary skills that are needed to host your own data apps. Let's look at the content over the 3 months and see how the 20 posts were received!
Our focus was on hosting Shiny applications. Shiny is an R extension package created that makes it easy to build interactive web applications.
The first few posts introduced Shiny and the local runtime environment:
- The Anatomy of a Shiny Application
- The Best Resources for Learning Shiny App Development
- Run Shiny Apps Locally
We then moved onto the conventional ways of hosting Shiny apps as mentioned by the Shiny documentation:
- Push-Button Publishing for Shiny Apps (Shinyapps.io, RStudio Connect)
- Securing Shiny Server with Caddy
- File Transfer Based Publishing for Shiny Apps
Up to this point, everything can be found all over the Internet, so our plan was really to summarize the most important aspects and provide plenty of pointers for those interested to find more resources.
A post then described all the complexities involved in hosting Shiny apps on a remote server using systemd. Then we reviewed the basic Hosting Patterns for Shiny Apps. There are four basic patterns, and two of these include containerizing (“dockerizing”) the Shiny apps.
Docker provides isolation to applications and images are immutable: once built they cannot be changed, and if the app is working, it will work the same in the future. This feature of a dockerized Shiny app can be a lifesaver.
We were meeting a client when we decided on an impulse to showcase one of our latest Shiny apps. There was only two problems: some packages were freshly updated so the app did not run locally, and I could not connect to the local wifi to show a deployed version. Luckily I did not prune the Docker images from my laptop and the demo went well thanks to
To really understand how Docker can be helpful for data apps, we started with the basics and took a systematic approach to introduce concepts, techniques, and best practices for developing dockerized Shiny apps:
- Docker Basics for Data Apps
- Dockerizing Shiny Applications
- Dockerized Shiny Apps with Dependencies
- Running Shiny Server in Docker
- Best Practices for R with Docker
Lastly, we moved onto the operational aspects of hosting dockerized Shiny apps:
- Host Shiny Apps with Docker
- Shiny Apps with Docker Compose, Part 1: Development
- Shiny Apps with Docker Compose, Part 2: Production
The R/Shiny community received the posts well, thanks to all who expressed their interest, provided invaluable feedback and signed up for the weekly Insiders' Digest.
The Hosting Data Apps website received almost 7 thousand visits from 112 countries. Although 50% of the page views were from the US, Canada, Germany, UK, and France, we see that the R/Shiny community is truly a global community and we are proud to be a part of it.
We use Fathom Analytics that collects visitor information anonymously. We do not use and store information about your location except for the country of origin. Here is how the past 3 months look like visualized with the freshly released version 3 of the Fathom app. The highest peak shows the publication of Best Practices for R with Docker:
The top posts were also mostly about dockerized Shiny apps, 6 out of 9 posts:
What is next
We are going to publish more Docker-related content in the coming months. Some of our readers are already familiar with hosting options like ShinyProxy, and were asking about that. ShinyProxy is definitely one of the large focus areas. It is an important and complex topic, that is why we left the best for last. Besides ShinyProxy, we also have a few surprises showcasing some uncommon but useful hosting options, so stay tuned.
This website aims to help you make smart choices and teach you the skills needed to host your own data apps. See some tips for navigating the site and staying up-to-date with recent content. Join us for the next chapter of our journey of helping folks host their data apps!