Presentation on theme: "Implementing Tableau Server in an Enterprise Environment"— Presentation transcript:
1Implementing Tableau Server in an Enterprise Environment Today Jeff Solomon and I will talk about getting Tableau Server set up in an enterprise environment, and all of the features of Server 5.0 that make it as good for the enterprise as it is for the small team environment. Along the way, we’ll call out specific tips for you to keep in mind as you plan your enterprise deployment, or as you grow into an enterprise situation from a smaller team.The talk is geared toward the system owner here, someone who wants to know more details.Andrew Beers and Jeff SolomonTableau Software
2From workgroup… In the beginning: a product for workgroups: Collaboration aid for teams working with dataEasy publish + share workflowEase of deploymentSomething a business user can maintainThree years ago, Tableau Server was envisioned as a product for workgroups. We had this great product for quickly doing ad-hoc visual analysis, and we wanted a product that would allow teams of people to collaborate around this data. We also wanted to keep it easy, which means it had to be easy to take a Tableau workbook and share it up to the intranet so other people could view these interactive views of data with just a browser. And, it had to be easy to deploy so that the business user who is often the champion for an analytics project could set this up and have a whole team of people benefit from it.Tableau customers, of course, came from businesses large and small, and some of you started to put Server into larger enterprises.
3…to enterprise Enterprise-class features added: Integration and automationScalabilityManaging dataSchedulingAnalysis / monitoringOver time, responding to these needs, a whole suite of enterprise-level features emerged, and that’s the focus for today. Features around integration and automation allow Server to coexist with other systems in the enterprise, and allow you to programmatically perform some operations on Server. Server 5.0 makes some dramatic improvements in scalability, which is clearly important for larger businesses. Managing data is a key need for enterprises. In the analytics space, this often entails setting up shared models of the data under analysis that multiple analysts in the enterprise can leverage. When working with large data, scheduling can become important and we’ll get into the details on just what that means a little later.Finally, being able to introspect on Server to monitor what it is doing can be key to the maintenance (need to figure out what the message is here)
4Related talks“Understanding and Improving Server Performance” (Thu 9:45am) “Making Any Data Fast: Tips, Tricks & Extracts” (Wed 3:15pm) “Extracts: Fast Data to Go” (Thu 11:00am)There are a few related talks that you might want to try to see if you are interested in learning more about Server.Tomorrow morning at 945, Alan Doerhoefer and Tim Hanson from the Tableau Server team will be talking about how to understand and improve server performance which will be a more thorough exploration of the scalability topic we’ll cover soon.Later this afternoon at 3:15pm, Tableau’s Marc Reuter will be giving a hands-on session on how to use extracts to improve the speed of some analysis. When we talk about managing data later, you’ll see why this hands on will be valuable.Finally, Thursday morning, developers Matthew Eldridge and Richard Wesley will talk in depths about the improvements to extracts and how they both increase analytical power and improve performance for large datasets, which can be a real benefit for enterprise deployements.
5Tableau Server is a server-based application for sharing and collaboration around Tableau views of data.Tableau Server Primer
6Tableau Server Primer Publish a Tableau Workbook… Tableau Desktop users can publish their analytical findings (workbooks) to Tableau Server.
7Tableau Server Primer …to a Tableau Server instance for Sharing. Other people can then log into a browser-based Tableau Server experience and interact with these published views of data using only their browser.
8Tableau Server Primer Web-based interaction with Tableau views. People can collaborate on these views, commenting on them, tagging them, sharing their own versions of the views, etc.
9Tableau Server PrimerCollaborate through discussions, tags, and customizations.
10Tableau Server Primer Control access and interactive capabilities Tableau Server also provides access control via permissions that can be set on each published workbook or data source, defining who can see them and what operations they can perform on them. And, of course, search is well integrated, letting people find the views that they are looking for.It is also valuable to Tableau Desktop users – published workbooks can be later retrieved by someone else, updated, and republished. Tableau data sources can also be published, allowing a set of people analyzing data to use a common set of calculations, color encodings, etc. We’ll talk about why you want to use this capability a bit later.
11Integration and Automation Now, onto the features of Tableau Server 5.0 that make it work well in the enterprise. First, isIntegration and Automation
12Authentication Local authentication Easiest – manage users, passwords, groups in ServerNo integrationWe can automate management of this somewhatActive DirectorySimple configurationBrowser auto-loginFirst let’s touch on authentication. The most basic way to control who has access to Tableau Server involves what we call “local” authentication. In this scenario, you enter usernames and passwords for everyone you want to have access to Server. There’s no integration with your systems, but it is easy. With 5.0, we can automate this somewhat, we’ll talk about that in a few slides.For enterprise deployments, it’s common to use Active Directory based authentication. In this scenario, usernames and passwords are maintained on a central server maintained by your IT department. To grant people access, you simply enter their name. They can use their existing Windows password to log in to Server. Setup is also a breeze – simply enter the domain name for the Active Directory server and you are done – we often can automatically enter this value into the configuration screen for you as well!
13Multiple domain support Large organizations may have multiple AD domains:widgetco (WIDGET)it.widgetco (IT)sales.widgetco (SALES)ops.widgetco (OPS)In enterprises, sometimes there are multiple Active Directory domains. Typically these are set up by department or location. Here’s an example for a fake company named widgetco. They have a main domain named WIDGET, and three departmental domains for the IT, sales, and operations department. IF these domains have what is called a two-way trust established between them, then Server can support accounts in all of the domains.Simply enter the username with the domain associated with it for one, or more domains, and they’ll all appear in the Tableau Server user list. So integration with a more complicated Active Directory structure is also easy with Tableau Server, which will ease deployment across large organizations.
17Embedding into other applications Easy to place a Tableau view into other web applicationsSharePoint web partEasy HTML code to embed elsewhere:<iframe src=“http://server/views/Analysis/MyDashboard?:embed=y”width=“400” height=“600”></iframe>Embedding flexibility:AD or non-AD-based authenticationDynamic filtering of embedded viewLinking to other web applicationsAnother way Tableau Server integrates with applications in your enterprise is through embedding. With embedding, you can insert a fully interactive Tableau view into another web application by including just a little bit of HTML code, an example of which is on screen. You just need the URL of the view that you want to embed, plus that :embed=y text after it, and you can place this into another application.If you are using Active Directory authentication, this is really easy, as your browser can automatically log into Server for you and display the view without asking for a password. If you aren’t, it can still work through something called Trusted Authentication, which we talked about last year. Catch me after the talk and I can fill you in on the details, and point you to some other good information on it.
18Automation New command-line tool: tabcmd.exe Allows scripting of common administrative tasks:User/group managementPublishing workbooksRetrieving information from the serverApplications:Bulk loading users or modifying groupsMoving workbooks between serversNightly image deliveryTabcmd is a new tool for Server administrators. It is a command line tool that allows you to automate some common administrative tasks on Server. You can use this to add accounts or groups to Server in bulk, or to sync users and passwords from another system when you are using local authentication. If you have multiple Tableau Servers, you could use tabcmd to publish workbooks to each server so they stay synchronized. You can even use tabcmd to fetch an image of a view automatically.Note that you can run this command from anywhere, you don’t have to be on the server machine.
19Demo Creating new users Adding users to a group Publishing a workbook Getting a view as an imagetabcmd login -u workgroupadmin -stabcmd createusers users.csvtabcmd createusers users-updated.csvtabcmd creategroup Salestabcmd adduser Sales --users sales-group.csvtabcmd get /views/Wow/StormStatistics-f view.pngstart view.png
20Demo: tabcmd Deliver the downloaded image by email: Finally, you could take this image and have it delivered by to deliver nightly reports. Here’s an example that I use regularly – I get a nightly report of the state of bugs for the products that we develop.
21Takeaways Active Directory integration Automation with tabcmd Easy configuration, best experience across enterpriseEasy multiple domain for large organizations with two-way trustsAuto-login, embedding a snapAutomation with tabcmdUser maintenanceReporting?Embedding and linkingSimple iframe-based embedded for your web applicationsControl the view via filtering, link to other appsSo, here we’ve seen that for a good integration experience, Active Directory-based authentication offers the most seamless experience, and it’s pretty easy to configure. Even more complicated AD setups are easy to integrate with Server when two-way trusts exist between the domains. AD also allows for auto-logon which makes embedding views a snap.We’ve also seen how you can use tabcmd for user maintenance tasks, and to set up some simple reporting.Finally, embedding blah blah blah
22Next let’s briefly touch on security Next let’s briefly touch on security. When sharing things in an enterprise environment you need to be able to define what people can see and do with the published data.Security
26Takeaways Use permissions to craft who can do / see what Secure sensitive underlying data from prying eyesPrevent workbook downloads for those who don’t need itUse projects to segment workbooks & set defaultsOne set of permissions / project is easiest to manageSSL supported if you are really concerned with privacyEven without SSL, passwords always encrypted
28Server 4.x: Single-machine Architecture Tableau Server 4.x was composed of a set of services on a single machine…Tableau ServerData SourcesHTTP ServerWeb AppVizQLServerWeb AppIn prior versions of Tableau Server, it consisted of several services. These services served up interactive views, allowed logged in users to browse lists of views or conduct searches. But, you were limited to running these services on a single machine.SearchTableauProfessionalRepository
29Server 5.0: Distributed architecture Tableau ServerWeb BrowserFrom this in version 4Tableau ServerWeb BrowserTo this in version 5In 5.0, this same architecture can be distributed over several machines, spreading the load out and allowing you to scale to a larger number of users. The same services are there, but you can now run many copies of them on independent hardware. One machine, called the primary, controls the entire cluster of machines.We still wanted this to be easy to set up. Let’s add a machine to the cluster.Show status of single machineBring up config, add machine to the clusterShow status of multi-machine configuration.
35Sharing data modelsTableau Server can act as a data source repository for desktop usersAdmin: publish data sourcesUsers: download data sources and build then publish workbooks with themAny changes to the data source is reflected automatically in dependent workbooks if the user so choosesDemoDatasource already on server (connection to data and all the data modeling around it)Blank desktop: import ds, create simple view with calc, publish to server, point out calc on visClose desktopImport ds, change calc slightly, publish back to serverOpen workbook from server, explain what happens when you hit OK on the dialog that wants to update the dsFund manager trying to make sure all the analysts look at the stock data in the same way. The simple example is we have two groups of stocks. One hatIs the fund manager and the other hat is the analyst.
36Managing credentials Remember passwords for each user, self-service Author publishes passwords – keeps DB passwords secret from users put provides access via Tableau viewsCredentials are stored and transmitted encryptedSee Settings section on Server Maintenance pageConnection dialog authenticationExplain run-as user support – how does server know the credentials when connecting to a datasource? On desktop – either your windows credentials or you type in a username and password. On server, either the run-as user, or a supplied username and password. The supplied username/password is either typed by the viewer or can be embedded in the wb so that viewers don’t need to know it or type it in. That setting is controlled here.
37Managing connectionsUpdating published credentials in bulk (plus other properties of data sources)
38Extracts review Why publish with extracts? Can be faster Can take load off database serversHowever…Data is no longer liveCan be expensive to updateUpdating extract data in 4 because it required a wb republish – that is bad because it required the author to wait for the extract to be regenerated and it also required that the publisher republishVersion 5 addresses both of these problems.
39Extract storage engines By default, extract storage is off (4.x behavior)Less memory & faster than Tableau 4.x extractsBuilt-in vs. externalBuilt-in is completely black box for usersExternal can be dedicated hardwarePostgresSQLMySQLMicrosoft SQL ServerRefreshablePublished extract files are expandedinto a shared databaseTableau ServerWeb BrowserInternal is backed up for usersExternal must be backed up by user, their responsibilityDifference between extract engine and in process fb (speed, multiple copies)
41Scheduled updates to extracts Admin-defined schedulesCentralized schedulingAdmin knows when it is best to load DB serversOld data available during extracts – when done, immediately availableDownloaded workbooks have refreshed dataDemoWhen to run extracts is an enterprise wide decision. We need to refresh the extracts at 3am because the datawarehouses in Shanghai update at 2am.Centralized scheduling controlled by admins because they know when it’s best to load server, publishers and admins assign wbs to schedules, but only admins can create schedules.Go to schedules maintenance pageCreate a new scheduleGo to a workbook that’s already published and quick to re-extractAdd it to a schedule, show it on the task pageSchedule it to run now
43Built-in monitoring Analysis views from the Maintenance page Demo Server ActivityTask History
44DIY monitoring You can build your own analysis views Nominally at: DB type: PostgresSQLHost: localhost:8060Database: workgroupUsername: tableauPassword: set with “tabadmin dbpass <password>”Only permission to access relations starting with “_”DemoDemo: use desktop to connect to a running server, create a view of something interestingOff by default enabled with tabadmin dbpass <passwd>
45Summary takeaways Integration, automation, security Active Directory for cross-enterprise authenticationtabcmd tool for user management automationEmbed views into other web applicationsPermissions on projects for defaultsUse SSL for heightened securityScalable to multiple serversManaging dataPublish data sources to establish common data modelsExternal extract storage for performanceSchedule refreshes of extracted dataBuild you own monitoring views