-
Production environments: relied on by real users with real consequences if they go wrong. Goals are uptime, security, correctness, responsiveness. #Rstudioconf
-
Can shiny be used in production? Yes, possible and now easy. Challenges are organizational, culural and technical. #Rstudioconf
-
Cultural: many app designers are users and don’t necessarily know best practices, performance and scale testing, security testing. #Rstudioconf
-
Organizational: IT/management are skeptical, credibility gap. Engineering department may be biased against R. #Rstudioconf
-
Technical: hard to debug and profile , single threaded execution. #Rstudioconf
-
shinytest, shinyloadtest for testing and profiling apps, profvis (R Profiler), plot caching, async are tools to tackle technical challenges #Rstudioconf
-
shinyloadtest to see how fast apps are. Use profvis to improve R processes. Improve by moving work out of shiny, make code faster, caching, async. Recheck in shinyloadtest. #Rstudioconf
-
Shinyloadtest: record average app use case, run concurrent load tests on shiny app. shinycannon runs concurrent load tests, produce report to understand performance. #Rstudioconf
-
How to improve? Use profvis to id bottlenecks in your app. Cranwhales spends too much time on loading in app. Load/process data ahead of time. Save as feather files for quick loading. Automate this using scheduling. #Rstudioconf
-
After this fix, max completion time goes way down. ETL (extract load transfer) speeds things up. Can we do better? ggplot2 is now bottleneck. Plot caching can save result and serve it up in shiny 1.2 #Rstudioconf
