-
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
-
Good candiates are slow plots, and plots that users frequently request. Add caching in renderPlot and tell shiny what input variables matter #rstudioconf
-
Er, renderCahchedPlot #rstudiocomf
-
I can’t spell or my thimbs are too large. #rstudioconf
-
@kellrstats working on shiny in production book! bit.ly/shiny-prod-book #rstudioconf
