When Tableau release version 7.0.4 of Desktop and Server they announced that the highly anticipated ‘High Availability’ or ‘Failover’ functionality for Server was included as well as, amongst other things, site-level administrators and a native connector for SAP BW. Tableau is now heading full speed into the large-scale, enterprise-wide environment with the completion of high availability being a major tick on the to-do list (although for those who don’t believe that Tableau is already an enterprise platform please go check out Tableau Public serving up to 94,000 views per hour last time we checked). So now Server is in the enterprise environment it’s difficult, complicated and slow to install right?
In short…no! In comparison to most other server applications Tableau has always been and still is a delight to install. After all it wouldn’t be very ‘Tableau’ if we couldn’t download the software in the morning, install it and be sharing insights by the end of the day. So last Friday I decided to set myself a challenge, could I start downloading Server at 9am on Monday and have a high availability cluster up and running by the end of the day? Or as I found…lunchtime.
If you’re unfamiliar with a simple high availability structure in Tableau it involves three separate servers. The first is the ‘Gateway’ and despite initially starting out as a full server installation this machine will only act as a portal handling the user requests and sending them to an active server. As a minimum we will then need two ‘Worker Servers’ both of which will handle all Tableau’s processes as well as the data server. While one is technically only active at any one time the other is mirroring its partner ready to automatically handle all duties should the other go offline.
Onto the challenge. For my server host I decided to use Amazon Web Services configuring a virtual private cloud containing three Windows 2008 R2 EC2 servers. These were setup earlier that morning and were ready to receive their Tableau downloads. I won’t be going over every single step, if you want some clear instructions on the best method the Tableau online help guide is just what you’re looking for.
Starting a little after 9am the server download began, with the first single server implementation complete by 9:30. That’s how easy Tableau Server is to get up and running, no giant box needed (although yes mine was a small part of a giant box) you can install and test it on your laptop if you wish.
The next task is getting your firewall sorted. When installed on a single machine you’ll probably not notice that Server uses a bunch of ports for its various communications and if you only use Windows Firewall Tableau will do its best to configure it for you. Just to make sure I decided to work my way through the port list and open them up on my network (I was a bit ahead of my original schedule and had some spare time).
Switching to the first ‘Worker’ server a different installation file is needed. If you’re ever unsure where to find the primary and worker downloads every version of the software (including desktop) can be downloaded from the alternate download site. This installer is just over a tenth of the size of the primary server and five minutes after downloading, the first worker server was ready to go (it’s 9:50 if you’re keeping track). With the worker ready to go I switched to the primary, added the worker to the server list and let Tableau do its thing (its thing being bundling up the configuration information from the primary server into a zip file, sending and then extracting it on to the worker). Ten minutes later all was complete and after a quick restart I had a 2 node cluster ready to repeat the process for worker number two.
All in all I was done by 11am. Two hours previous I had three vanilla Windows servers and by lunchtime a high availability, interactive BI platform with a centrally managed data portal. Simply amazing!
If you want to know more about High Availability on Tableau check out the whitepaper ‘Ensuring High Availability and Reducing Downtime with Tableau Server‘