1

This question isn't code-specific, however I believe the question is widely applicable to a large audience (anybody who cares about the scalability of hosting R Shiny apps), and hope it doesn't get closed.

The title addresses the question fairly well here. I am building a fairly detailed R Shiny app that I plan to launch as a full-fledged web application, with hopes that the number of users of the app will be fairly large. Per this post - Does R-Server or Shiny Server create a new R process/instance for each user? - open source shiny server uses only 1 R process for my app, and even shiny server pro uses only 10-20 processes. In a reddit thread I posted asking about RShiny / ShinyServer's scalability, I was hit the the following response: There is zero chance you can scale to thousands of concurrent users using shiny server.

So here's my question: was that reddit answer correct? In particular, I currently have an EC2 instance (the smallest, free tier t2.micro) with my app that works fine (I have not released my app to the public yet). Could I use multiple, more powerful EC2 instances (each with ShinyServer installed, and the code for my apps on the instances), as well as an ELB to balance traffic, in order to improve the scalability of my RShiny app? If each instance has the free, open-source ShinyServer, could I do this without needing ShinyServer pro? I could probably pay for hundreds of EC2 instances before the cost would exceed that of 1 year of ShinyServer Pro.

Thanks in advance!

Canovice
  • 9,012
  • 22
  • 93
  • 211
  • It really depends, in theory yes its possible. But how the app works can actually determine how well it works, reading and writing to disk may be an issue if you have many sessions trying to read and write unless its using a database for persistent storage etc. If you are actually trying to have thousands of concurrent users id be doing it in something else tbh. – zacdav Dec 11 '17 at 04:55
  • there is no writing to the database, just reading from the database. – Canovice Dec 11 '17 at 05:20
  • the only writing to the database is done by me, via a script that I run at the end of each day. I'm getting the feeling that shiny in general is not scalable like I'd like it to be, but I'd very much like to find an approach to my app that stays with RShiny apps as it is what I know best by a wide margin – Canovice Dec 11 '17 at 05:22
  • 1
    Look, you won't know unless you try. Just test it. – zacdav Dec 11 '17 at 05:23

0 Answers0