Using a Blue/Green approach for upgrading Tableau Server
While many organizations are well-served by performing an in-place upgrade of Tableau Server, other organizations with mission-critical use of Tableau may want a more robust, enterprise-grade upgrade approach which uses investments of additional effort and resources to reduce risk and impact. In these cases Tableau recommends a “Blue/Green” upgrade approach to achieve that outcome, characterized by:
- Reliable deployment of applications into a freshly-configured host non-production environment (versus an in-place upgrade)
- Performing pre-production testing of the new version in your non-production environment to validate business-critical functionality, including testing common use cases to detect changes in behavior that may impact the organization
- Testing in production-identical environments to validate integrations and resource requirements
- The ability to roll back to the previous version rapidly
This high-level guidance describes a Blue/Green approach to upgrades that has been successfully used by many of our biggest customers to upgrade Tableau Server (and other mission-critical applications) with confidence. Blue/Green upgrades are a long-established industry practice(Link opens in a new window); there are many variations and the specific steps below are one possible path. If you’re seeking specific guidance on customizing this approach for your organization’s next upgrade, talk to your Premium Support Technical Account Manager, or discuss a services engagement with your account executive or delivery partner.
The Blue/Green approach involves installing a new version of Tableau Server in a non-production environment (your “Green” installation) that mirrors the configuration of your existing production environment (your “Blue” installation). For purposes of your Tableau license, note that Tableau grants a standard right to two (2) non-production environments to support the single production environment in your deployment, as further described in the governing license agreement. These non-production environments should be able to be taken down and used for this method consistent with the intended use of a test environment as described in this Tableau Knowledge Base article: Licensing a Tableau Server Test Environment(Link opens in a new window).
By copying your content from the production environment to the Green installation in your non-production environment (for example, your test environment), you can create an upgraded instance of Tableau Server with minimum downtime and the safety net of having the original production installation to fall back to if necessary. Once you determine all your critical content in the Green environment is functional, switch your users over to the new environment (Green). Your Green environment becomes your production environment, and your original installation (Blue environment) can be maintained as a non-production environment to support your next upgrade.
What follows is a high-level outline of the steps necessary to use Blue/Green as an approach to upgrade Tableau Server. These assume you have a load balancer or DNS that allows you to redirect user traffic from one installation to the other, and that you have downloaded the new version of Tableau you want to upgrade to.
Important: Your Blue/Green installations should be treated as production environments. They should not serve as disaster recovery or general testing environments. For more details on Disaster Recovery please see Disaster Recovery(Link opens in a new window) in the Tableau Blueprint.
-
Create a second installation of servers that mirrors your production installation of Tableau Server as closely as possible. This second environment is your Green installation, a non-production environment. It should have a similar capacity, resources, and configuration as your production environment (“Blue”) because your Green instance will become your production instance after the upgrade.
-
Create an initial backup and settings export of your Tableau Server Blue installation. You’ll use these for initial user acceptance testing (UAT) in Green. Later, you’ll create final, up-to-date backup and export to use when actually switching from Blue to Green.
-
Backup: For details on creating backups, see Back up Tableau Server Data.
-
Settings export: Along with a backup, you'll also need to export the settings from the Blue installation. Some settings will need to be manually recreated in the Green environment. For more information, see Backup assets that require a manual process
-
-
Install the new version of Tableau Server in Green. You should specify the same Identity Store type and Run As service account as you use in Blue.
-
Use the initial Blue backup and settings export to update the Green installation.
-
Restore the backup from the Blue environment in the Green installation.
-
Import the settings you exported from the Blue installation. You may have to manually recreate some of the settings in your Green environment. See Restoring core Tableau Server functionality.
-
-
Disable any scheduled tasks in Green to avoid sending duplicate messages while testing, and to avoid overloading database resources. For details, see Server Upgrade - Disable Scheduled Tasks.
-
Test the Green installation to confirm it is functioning as expected. Perform User Acceptance Testing (UAT), and simulate any load testing if desired. If you have scripts or API integration with Tableau, you should test these as well. The more complete your testing, the better prepared you will be to address any discrepancies between your original Blue installation and your new Green installation.
-
Prepare the Blue installation so you can create a backup and export settings you’ll use for production in Green. This might mean restricting access to Tableau, or sending a message instructing users not to make any changes to their content and warning them that any changes made after you create your backup will be lost.
-
Create a final backup of Blue. This is the backup you will use to bring Green up to the most recent production content. If you do regular backups, you can use your latest production backup, keeping in mind that any changes or updates done in Blue after the backup is created will be lost. We recommend a “change freeze” on your production environment after this backup is taken, so no new workbooks or data sources are added, and there are no changes to existing content.
-
Export the settings in the Blue environment, paying attention to those assets you may need to handle manually. For more information, see Restoring core Tableau Server functionality.
-
Restore the final Blue backup and import the Blue settings file to Green. Make any manual configuration changes necessary.
-
Perform UAT/sanity checks of Green content.
-
Reenable schedules for any jobs, subscriptions, and notifications you disabled in Step 5 above.
-
Switch your users to Green using a load balancer or DNS, and block access to Blue.
-
Verify that the Green server is functional as desired and monitor for production load issues. If you have Advanced Management, you can use the Resource Monitoring Tool to monitor performance.
-
(Optional) If you're not keeping your Blue environment for future upgrades, deactivate the Blue environment product keys:
- For Tableau Server 2021.4 and later activated with ATR, see Deactivate Product Key.
- For any version of Tableau Server not activated with ATR, see Deactivate Product Key.
- For Tableau Server 2021.3 and earlier activated with ATR, see Move a Server ATR License to Another Tableau Server(Link opens in a new window).
-
(Optional) If you're not keeping your Blue environment for future upgrades, stop the Blue environment and prepare it for decommissioning. For details about decommissioning, see Remove Tableau Server from Your Computer.