Automation and Scaling for OEMs
Sisense provides an extensive suite of APIs and add-ons that enable you to automate workflows and access server functionalities, including user and security management, dashboard and widget creation, branding, and administration settings. Using Sisense APIs to automate tasks makes it easy to scale up to support hundreds and thousands of users. This document discusses automation in Sisense and provides use-cases that show how Sisense APIs help you scale up your business.
Managing Users
You can easily add Sisense users and user groups manually via the Sisense Admin tab. However, as your user and customer base grows, it will become increasingly difficult to handle these processes manually. Sisense provides REST APIs to programmatically integrate users and groups through SSO and/or external systems of record.
Find the user and group API Reference here.
Access Rights
Once you have added users and groups, you need to ensure that they are given appropriate access to Sisense objects - Dashboards and Data Models.
Access to Dashboards
Based on your security rules, you might have already set up groups with access to specific dashboards. So, by adding a user to a group, that user will automatically inherit the group’s access rights.
You can also specifically add published dashboards to newly created users or groups using the dashboard REST APIs.
Access to Data Models
Sisense Data Models have granular access levels. Users and groups need to have access to the underlying data model to view data on a dashboard.
Just as with dashboards, you might have already set up groups with access to data models. So, by adding a user to the group, the user will automatically inherit the group’s access rights.
You can also specifically ensure a user or group has access to a data model using the data model share REST APIs.
Data Security
Sisense Data Security enables you to restrict what users or groups see at the row-level. Use the Sisense APIs to scale Sisense data security, even at this granular level. The Data Security API Guide walks you through the process of automating your row-level security.
Tenant and Deployment Automation
A key benefit of automation is that it provides you with a scalable system. When you use API-driven automation, you can bring your products to market faster and with fewer deployment steps. For example, let’s say that you manage a deployment with several hundred tenants, large clusters, and multiple environments. Provisioning all of this manually would be very resource and time intensive. Instead, create a master template. When provisioning resources for a new tenant, duplicate the master templates, and share accordingly. This is a very quick and painless way to scale up your customer base instead of spending countless hours manually handling these processes.
Dashboard Automations
Sisense dashboards can be duplicated, imported, exported and published programmatically to automate the dashboard deployment process. Find the Sisense dashboards REST API endpoints here.
Scaling Resources
When scaling a system, you need to take into account scaling users, data and use cases. As for your user base, data, and concurrency, you need an underlying infrastructure that can maintain performance.
There are few considerations:
-
Minimum Requirements
Sisense recommends that your Sisense server meets or exceeds the minimum hardware and software requirements. The actual requirements of your Sisense server may vary, depending on the number of concurrent users, builds running in parallel, number of ElastiCubes hosted on a server, the complexity of the ElastiCubes, and additional factors specific to your server.
-
Data
- Live Data: Live data sources provide maximum flexibility and are scalable. Make sure that your customers are connected to high performing databases, such as Redshift, Snowflake, or BigQuery.
- ElastiCubes: Use data groups to aggregate your ElastiCubes in one place so that it is easy to manage your resources for multiple instances of ElastiCubes. You can assign and split a system’s resources between the ElastiCubes according to your needs. For more information, see .
-
Monitoring
Sisense Monitor provides information about dashboard performance and your ElastiCube builds. For example, you can identify if too many concurrent builds are affecting query performance and then take corrective action such as scheduling builds throughout the day. For more information, see Sisense Monitor.
For more information about Sisense APIs, see sisense.dev.
.r.