Administering RStudio server products often requires you to test changes to your environment, but testing changes can be problematic in production. For example, upgrading R can disrupt developers and end users who work with production applications. A staging server mitigates issues associated with administering production environments. The purpose of the staging server is to test your compute environment and/or your applications before applying them to your production servers.
Staging servers run the same software that production environments run. However, unlike production systems, a single staging server can typically service multiple production servers. For example, in a production environment you may isolate RStudio Workbench (previously RStudio Server Pro) and RStudio Connect on separate clusters, whereas you may put both on the same staging server.
Use case 1: Testing your computing environment
You can use the staging server to test changes to your compute environment. For example, when you upgrade Linux, R, or RStudio, you will want to test the upgrade in the staging server first. You can also test product configurations before applying them in production. Using staging will help you roll out consistent changes across your environment.
Use case 2: Testing applications before deployment
You can also test your Shiny applications, scripts, and documents in staging before deploying them to production. Often, your Shiny applications will need different permissions and settings in your production environment than you used in your development environment. Staging servers are particularly recommended if your Shiny applications run under an SLA.
You can use either open source or professional RStudio software in your staging environments. Be aware that RStudio offers specific staging licenses that go along with RStudio professional products. As described in our End User License Agreement, staging licenses are used only for testing changes to your computing environment or for testing Customer applications, scripts, or documents before deploying them to your users. Please contact sales (firstname.lastname@example.org) if you are interested in learning more about staging licenses.
Should I use a staging license with my Dev/Test/Prod architecture?
You can use a staging server to test your applications before deployment into production. If you want to set up a dev/test/prod framework for deploying content like Shiny apps, we recommend using the RStudio IDE for development, an RStudio Connect staging server for test, and an RStudio Connect server (or cluster) for production.
Should I use a staging license to test a new product?
Evaluating new products can be done with a free evaluation, and typically doesn't require a paid license.
Should I use a staging license with my sandbox?
Sandboxes have many definitions and use cases. If your sandboxes (a.k.a. lab box) is used for testing new products and solutions, then you can use a staging license. For example, you might want to run a proof of concept that involves testing new products on a sandbox. If your sandbox is used for building applications or analyzing data, then you will need a full license. For example, you might use a sandbox to create R Markdown documents and Shiny applications to teach other people how to use R.