What I learned from running Shiny in production
summary
Experience running Shiny in production distilled into concrete actions and limits, not platitudes: use shinytest for UI regression checks, use shinyloadtest to replay N concurrent users and find contention, persist large frames with feather to avoid repeated queries, and apply caching and horizontal scaling of multiple Shiny processes for availability. Watch out for single‑page session limits, R’s interpreted performance on tight loops, and the real work of linting, version control, automated deploys and cross‑team ops coordination — start testing early.
AI-written summary · about
chapters (19)
- 0:00Intro
- 2:50Where to run Shiny
- 4:20Learning about Shiny
- 5:01Why use Shiny
- 6:13Reasons not to use Shiny
- 7:00Definition of Production
- 7:35Goals of Production
- 8:08Challenges to Shiny in Production
- 9:20Tools: shinytest
- 11:17Tools: shinyloadtest
- 12:09Tools: profvis
- 12:47Tools: Asynchronous programming
- 13:59Tools: Feather
- 14:49Tips: Setting up Production pipeline
- 16:45Tips: Filter as close to source as possible
- 17:21Tips: Plot caching
- 17:42Tips: Horizontal scaling
- 18:01Conclusion
- 18:55Resources
related talks
50mShiny in production: Principles, practices, and tools
15mA Robust Framework for Automated Shiny App Testing
14mR Shiny - From Conception to the Cloud
19mThe Road to Easier Shiny App Deployments
14mR Shiny - From Conception to the Cloud
15mA Robust Framework for Automated Shiny App Testing
21mR in production
01h 32mCreating Production-Ready Shiny Apps
