How to manage Tableau upgrades in an Enterprise environment

Hi,

Been a while since my last post. Been exceptionally busy at work due to widespread adoption of Tableau at my organisation. Usage has doubled in the last 3 months and we now have thousands of users to keep happy. That takes some doing, hence the blog hiatus.

Anyway, time to continue the series on Tableau as an IT Service, with a subject that I’m asked about a lot – just how do you manage your Tableau upgrades in an Enterprise environment?

This is actually a pretty big subject, especially in an Enterprise setup. There’s no perfect way to do it but hopefully some of these tips will be useful.

 

Section 1 – Pre-Upgrade Considerations

To upgrade or not? That is the question

Obviously you’ll need to make some sort of decision as to whether or not you actually need to upgrade. Each time you upgrade a production system you risk impacting stability, introducing bugs or human error. It also needs testing, planning and eats resources and time. So if there’s no good reason to upgrade, then don’t.

Tableau release new versions at a pretty impressive cadence, generally once a month for ‘maintenance’ releases. So for each newly advertised release, take note of the following in order to make your decision.

  • Compelling functionality –  New features are entering the product all the time. Determine what may be useful to your user base.
  • Key bug fixes – Each new version will squash a few bugs. If there’s one that is affecting your users then it may be prudent to upgrade and quieten the noise. Remember that your upgrade may introduce new issues. Take note of the known issues section in the release notes.

Both of these are fully documented in the Release Notes. Review them carefully each time Tableau announce a new version. There are occasions where bug fixes are not announced in the release notes but your account manager will make you aware of those.

Also be aware that new versions might also introduce new bugs / issues. We have had situations where we have been stable, decided to upgrade and then spent the next few months battling newly introduced issues to the point that we probably should have stayed on the older version.

Be aware of compatibility issues

I hear a lot of complaints about compatibility issues between Server and Desktop. So it’s important to be aware of the behaviour between versions. Get this wrong and you may be in a position where users have overwritten content originally created in an older version and don’t have a back up to roll back to. If you are crossing major versions (8 -> 9) for example, then you’ll certainly need to upgrade the Server and Desktops at the same time.

Top tip – it is possible to hack the xml of a workbook to change the version and rescue the situation, provided no edits have been made to the content. The ever-so-talented Jen Vaughan (@butterflystoryexplains all here.

For more details see this article.

Don’t upgrade to version zero

Most risk averse IT managers (like me) will resist the temptation to jump right into that new shiny Vx.0 release the day it comes out. Version zero releases of any software are notorious for bugs and issues, that’s just the nature of software development. So at my org we always let at least one maintenance release slide by and instead go to the Vx.0.1 or Vx.0.2 release.

It can be hard to resist temptation, especially when your users are clamouring for that shiny new version but if there are major bugs in that zero release, then best let someone else find out about them rather than you.

Caveat: This doesn’t always work of course. We waited for 9.0.2 and that ended up being one of the buggier releases. Oh the irony.

 

Understand the new version resource demands

This is important. You may be rocking away on your existing version, confident that your hardware can satisfy the software. But then you upgrade, and all of a sudden that new version eats up double the RAM or batters your CPU. You didn’t see that coming.

For version 9 Tableau released an updated scalability document. Annoyingly it was released quite a while after V9 went live. I was expecting a comfortable read but noticed phrases like the following, which were pretty alarming.

Screen Shot 2015-09-04 at 23.03.31

Screen Shot 2015-09-04 at 23.05.20

Whaaaat?! That led to some discussions with Tableau tech folks (thanks Meredith!) and some fevered testing and all turned out to be ok. But those figures took us by surprise for sure. Don’t be in a position where you upgrade and then suddenly hit a capacity issue that your older version didn’t have.

 

Test it!

Let’s say you upgrade. And it goes wrong. One of the first questions you’ll get asked is “Did you test this?”. You really don’t want to be answering “no” to that question.

You should have at least one non-production environment that you can run tests on. Due to the complex nature of Tableau it is impossible to test every aspect of functionality but you should at least be able to cover a good number of scenarios. You may also not be able to simulate your production load on your test environment but it will be better than nothing. You may find the load testing utility tabjolt handy here. Check Russell Christopher’s guide to tabjolt.

I have the following environments to play with. This gives me a lot of options.

  • Production – Main user facing environment
  • BCP – Disaster recovery environment in case production fails
  • UAT – A mirror of production. Same spec
  • Engineering – Lower spec, used to test the latest version available from the vendor
  • Beta – Even lower spec, used for testing beta versions
  • Alpha – for testing the alpha versions

Ensure that the tests you conduct are consistent, repeatable and that the outcomes are recorded. We use a tool called Quality Centre and the tests are performed by my level 2 support folks. This gives consistency and frees time for my main analysts.

Verify your licence details

Double check your licence maintenance end date for both Server and Desktop. If you’re out of maintenance then you won’t be able to use the application after you upgrade. I’ve seen licence issues way too many times with many applications after an upgrade. You won’t want to be trying to contact your account manager on a weekend to sort out a licence issue.

Opinion – IMHO I would much prefer it if applications didn’t crap out due to licence expiration. In 99% of cases there’s some paperwork misunderstanding that is easily sorted by your account manager. By all means let the application hit you with some warnings and also alert the vendor, but it shouldn’t mean a loss of service.

 

Your upgrade process & strategy

I’m not going to go into it here as it’s a full on subject in itself but make sure you follow your organisation’s Change Management procedure to the letter. Failure to follow change processes is generally a dismissible offence in most Enterprises.

Make sure you advertise your strategy for upgrades and maintenance to your users. You’ll get asked, so ensure this is specified in your Service Document. You may even have standard maintenance windows (e.g. on a weekend) where you can reserve the right to take down the system. Again, make sure that is documented and your users are aware.

 

Section 2 – The Upgrade

Create a package

Most enterprises will use some form of package deployment tool / team to perform the actual deployment of new software. That’s pretty handy. I have over 500 installations of desktop to support and we need to ensure they all get upgraded at the same time. So I can create a software bundle, send to the packaging team and they will then schedule and deploy.

This gives you the chance to include those little extras in your package to give your users the best experience. Here’s what’s in our Tableau Desktop package.

  • The installer exe file
  • A sample “Getting Started” workbook with tips, best practices & help.
  • Preferences.tps file containing customised colour pallettes
  • Most used drivers (Oracle, MySQL etc)

I would love to be able to customise the “Discover” pane to point to some of my internal resources but it doesn’t seem to be possible. Boo.

We also supply custom instructions for the packaging team, such as running the installer with a flag / registry update to disable the auto-update feature that has been implemented in the upcoming 9.1 release. A really baaaaad idea for Enterprise deployments.

One thing to be aware of with packaging is that it can take a long time. From request to deployment, the typical time at my org is an insane 7 weeks! By which time another version is out. We are hoping to speed that up a bit obviously.

Communicate to the max

You can’t over communicate any potential disruption to your service. Make sure a broadcast message goes to your users via whatever system your firm uses. And it doesn’t hurt to follow-up with your power users / senior stakeholders with a personal reminder that work is planned.

Take a backup

Whadda ya mean you didn't take a backup?

Whadda ya mean you didn’t take a backup?

Tableau is one of the easiest applications to upgrade that I’ve worked with. A simple uninstall / reinstall does the trick. But don’t take that for granted – make sure you take a manual backup prior to your upgrade. If you’re not doing this as a matter of principle then you’ll be getting a visit from the boys. And they won’t have had their dinner.

Handily, the uninstall process takes a backup anyway but don’t rely on that, take your own.

You should also back up all your .yml configuration files and ensure you know what each setting is. Tableau should preserve these settings during the upgrade but just in case it doesn’t then it’s handy to have a copy to refer back to.

Server specific considerations

When you uninstall Tableau Server it backs up the content and the settings in the main yml configuration files. That’s cool, but do remember that if you’ve changed any of the other config files then they will be overwritten and you’ll have to make the changes again. For example we change the webserver timeout settings in the file “\Tableau\Tableau Server\data\tabsvc\config\httpd\httpd.conf.templ” – that gets blown away by an uninstall.

There may also be other settings in the Postgres db that you may have modified using tabadmin. Not all are retained from what I can see. Note I’m still researching this so not 100% sure of the behaviour.

Finally make sure you understand any changes to the Tableau Postgres DB schema in the new versions. It has generally remained pretty consistent but if any tables or fields are renamed then that may well break your Custom Admin Views.

Section 3 – Post upgrade

Test it! Again!

Not all issues come to light immediately. Perform testing, keep vigilant and liaise with your users closely in the next few days to understand if the application is behaving as it should be.

Ask for help!

Tableau Upgrade Assistance

Tableau Upgrade Assistance

If all this sounds a bit daunting and you’d like to get assistance then Tableau offer an “upgrade assistance” programme which might be worth looking at. Talk to your account manager for more information.

There are also other guides around. Have a look at this one from our good friends at Interworks.

That’s it for this post. As I said it’s a big subject so do post comments if you feel I’ve missed anything.

Happy upgrading! Cheers, Paul

Advertisements

2 minutes with… Carl Allchin of The Information Lab

2 mins with title2

Hello folks. Time for a new 2 minutes with… I’m delighted to welcome Carl Allchin to VN towers. Carl spent 6 months with my team helping us build our Tableau service. He’s got great Tableau Desktop skills and has a natural flair for helping to train users.

Without further ado..

VN: So who are you then and what do you do?

DSC_1535 (1)CA: I am Carl Allchin and I work for The Information Lab (Tableau’s Partner of the Year in EMEA for 2013) as a Tableau and Alteryx consultant and blog about Tableau on datajedininja.blogspot.com.

VN: Tell me about your org

CA: The Information Lab is a great company. Started by Tom Brown a few years ago, they are now a band of Tableau and Alteryx gurus in Europe who have partnered with those two software companies to help everyone get access to their data and make best use of it. I’ve  recently joined from Barclays where I was an internal Tableau consultant (Data Ninja) but made the jump to The Information Lab so I could work across multiple industries and support more people get the most out of their data.

VN: How do you personally use Tableau?

CA: I am a Tableau-holic. I use Tableau for my day job to help our clients out with specific challenges they are facing. I am also a Tableau trainer so I get to teach people how to get the most out of Tableau Desktop. I get a massive buzz from seeing people have the same revolutionary moment that I had two years ago when I was taught by Tom to use Tableau in a course at Barclays. I also use Tableau in the evenings to analyse basketball data to understand the game I love more and to communicate with fans worldwide about the sport.

VN: Tell me more about your fascination with Tableau and sports data.

Carl Lay-upCA: Ever since meeting Peter Gilks at Barclays and talking data visualisation and Tableau, my career (and personal life) has gone on a fantastic journey. Being focused on data visualisation and Tableau at Barclays was great but Peter and I were also basketball nuts so we started to translate our day jobs on to basketball data so we could understand more about the game than ever before. As our Tableau skills and knowledge of the game grew, we started to use one to learn more about the other. For example, I wanted to learn how to use background images in Tableau so I create my interactive shot chart (http://public.tableausoftware.com/shared/GRGB8BZB9?:display_count=no) and Peter explored visualisation techniques like his ‘Ball Code’ (http://paintbynumbersblog.blogspot.co.uk/2014/04/how-i-built-ballcode.html).

This has led to me landing some really exciting opportunities, like being invited by Ben Jones to present at the Tableau Public session at the Tableau Conference in Seattle and talk just about basketball. That is pretty unique for a Brit to get the chance to do that in the US!

VN: What does the Tableau community mean to you and who do you learn from?

The Tableau community is simply amazing and one of the reasons why I love doing what I do. The fact that so many highly skilled, intelligent people are willing to help in any problem you come across is great. I could name so many people who I learn from but I have to give special mention to The Information Lab team (http://www.theinformationlab.co.uk/team/) as they were great to me before I even joined them, Lee Mooney for his database and analytics skills he still shares with me, Jewel Loree and Ben Jones of Tableau Public fame and all the Zens who always make time. That Viz Ninja fella is also pretty handy for some Enterprise Server tips too.

VN: So why are you a Data Jedi Ninja?

CA: At Barclays, Peter, Lee and I were the team that people came to when they wanted an ultimate approach than the traditional IT BI report so we basically hid away creating great stuff and only came out of hiding to deliver some great tools to the business before hiding away again and working on the next piece of data magic. We actually got Barclays to accept Data Ninja as our job title which was quite an achievement for a bank but as that Twitter account had already been claimed then I had to add an additional level.

VN: Could you give me an interesting non-work fact about yourself?

I’ve recently been on a seven week holiday to Australia to complete detox from all things data. Unfortunately, my girlfriend is did let me take my laptop so I just hope my Tableau withdrawal symptoms are not too bad.

That’s it for this one. If you ever get the chance to attend one of Carl’s training courses then do take it all in. He’s one of the best.

Cheers, Paul