- 19 Jul 2022
- 4 Minutes to read
Automation and Scaling for OEMs
- Updated on 19 Jul 2022
- 4 Minutes to read
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. The information here discusses automation in Sisense and provides use-cases that show how Sisense APIs help you scale up your business.
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.
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.
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.
Data Model APIs
For OEMs using Linux, the Sisense Data Model fully RESTful and JSON-based APIs enable developers to programmatically create and modify Sisense Data Models. Using the Sisense Data Models APIs enables you to handle custom and complex data workflows with ease. The resulting shorter wait times for insights, and fresher data leads to an enhanced end-user experience. Furthermore, automation minimizes the risk of human error and increases system resilience.
Some of the workflows you can automate include:
- Creating and duplicating data models
- Modify source connections and schema structures
- Move data assets across environments
- Start and schedule data loads
- Automate deployment of new customers
- Automate development-to-production flows
- Create models from pre-defined rules
- Automate change management
- Automate backups and disaster recovery
Find the Data Model API guide and documentation here.
Sisense dashboards can be duplicated, imported, exported and published programmatically to automate the dashboard deployment process. Find the Sisense dashboards REST API endpoints here.
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:
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 ElastiCube s hosted on a server, the complexity of the ElastiCube s, and additional factors specific to your server.
- 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 ElastiCube s 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 ElastiCube s according to your needs. For more information, see Creating Data Groups.
Autoscaling and Linux
Autoscaling allows you to grow or reduce the size of your deployment as your usage changes. For example, when your usage peaks, you can use autoscaling to automatically add nodes to your deployment. Sisense Cloud-Native Linux deployments support autoscaling on AWS deployments using AWS autoscale groups. For more information, see Autoscaling and Linux.
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.