Often times we talk about Tableau Server being a highly scalable product, where it can host data sources and deploy reports to tens/hundreds/thousands of people.
Scalable often refers to flexibility in 2 ways:
- “Scaling Up”: making your current server more “beefy” with greater processing power and memory on the same server
- “Scaling Out”: adding more servers to your existing infrastructure.
Scaling up – hiring a more experienced barista (see slide above for analogy)
Tableau has many different components which make up its functions. The most recent visualization of its breakdown is below from the 9.0 whitepaper.
Tableau Server will allow you to store ALL of these different components … on 1 machine. This configuration is optimal for a particular type of customer: where they expect they will need infrastructure/power to crunch more data faster and don’t expect a change in the number of customers.
Perhaps its analyst teams are small and they don’t expect to have many users and reports, but there is LOTS of data with a likelihood to increase. In this case, it might be inefficient to add servers (“scaling out”- a concept we’ll get to below) because if processes are spread across multiple machines (and they have to talk to each other) performance and speed might suffer.
If you expect your data processing needs will grow, but your user base will remain the same, consider scaling up.
Scaling Out: Hiring More Baristas at the same level (see analogy below)
On the other hand, you may choose to scale out. Some companies do choose to do this as buying more hardware is sometimes more cost efficient compared to scaling up. Also Tableau Server is unique in that it has a built-in Gateway to help spread the load of requests across servers.
Below are 2 examples of how to architect Tableau Server if there are 3 or 5 servers. Figure 4 with 5 servers is configured with a specific use case in mind. It would be worth briefing your Tableau Server consultant on how your data is currently architected to see if you can integrate some key features of Tableau Server (such as connecting to a shared data sources).
This is a popular enterprise deployment structure as Tableau is a data exploration tool, and not limited to only 1 part of the business. Departments in multiple functions will have individual reports, but IT administration in permissioning and deployment is in 1 centralized location. If you expect to have many users to on board into the future, consider scaling out your Tableau Server.
That’s all I’ve got on Tableau Server for now. Hopefully its given you a quick overview into the product and some key deployment scenarios. Let me know if you have any comments or questions 😀