Multi-tenant Dashboard Reporting

In certain deployment scenarios, you may need to provide different groups of users (i.e., “tenants”) with access to different sets of data. This is called a multi-tenant environment. For example, if you are serving user groups from different departments or organizations, you may need to give each tenant access to data stored in a unique database or schema (different login permissions, etc.).

To facilitate design of a multi-tenant environment, Style Intelligence allows you to define independent data connections for each tenant. Each tenant can access only the unique connections for which they have privileges. Additionally, you can define a common set of data that is accessible to all tenants.

#1 Ranking: Read how InetSoft was rated #1 for user adoption in G2's user survey-based index Read More

personnel reporting example
HR reporting example

Configuring Style Intelligence for Multi-tenancy

The steps below guide you through the process of configuring Style Intelligence for multi-tenancy.

  1. Add database connections to your Data Source. Each connection may access a different database or schema that is specific to a particular tenant. See Adding Additional Connections in the Data Modeler for com­plete information.
  2. Extend a common Physical View by incorporating database tables/columns from a tenant-specific connection. The extended physical view will provide the common tables/columns as well as tables/col­umns that are specific to the particular tenant. See Extending a Physical View in the Data Modeler for complete information.
  3. Extend a common Logical Model by defining entities/attributes based on tables/columns from a tenant-specific connection (extended physical view). The extended logical model will provide the common entities/attributes as well as entities/attributes specific to the particular tenant. See Extending a Logical Model in the Data Modeler for complete information.
  4. Assign the appropriate permissions for connections and actions to users and groups. See Component/Object Permissions in the Administration Refer­ence for complete information.
  5. Set appropriate aliases for reports, folders, Worksheets, and Views­heets. You can use aliases to provide similar names to multiple tenants (e.g., a “Marketing” folder) while maintaining distinct names for administration (e.g., “Marketing-Company A”, “Marketing-Company B”, etc.). See the related links for details on setting aliases.

Note: Report Pregeneration and Report Bursting are not available in a multi-tenant environment.

What Is Multi-tenancy?

Multi-tenancy is an architecture in software development where a single instance of an application serves multiple customers, or tenants, while ensuring that their data and configurations remain separate and secure. This approach is commonly used in cloud computing and Software as a Service (SaaS) applications to maximize resource efficiency, reduce costs, and simplify maintenance.

Key Aspects of Multi-Tenancy

  1. Shared Infrastructure:
    • A single application instance and underlying resources (e.g., databases, compute power) are shared among multiple tenants. This contrasts with single-tenancy, where each tenant has their own dedicated instance of the software.
  2. Tenant Isolation:
    • Even though tenants share the same infrastructure, their data, and configurations are kept logically or physically separate to ensure privacy and security. Techniques such as data partitioning or encryption are used to achieve this.
  3. Customizability:
    • Multi-tenancy supports tenant-specific configurations, like branding, workflows, or access control rules, without requiring separate application deployments.
  4. Economies of Scale:
    • The shared infrastructure reduces operational costs, as maintenance, updates, and scaling affect all tenants simultaneously. This leads to cost savings for both the service provider and the tenants.
  5. Centralized Updates:
    • Updates to the application are deployed once and are instantly available to all tenants. This simplifies version control and ensures consistency across the user base.

Types of Multi-Tenancy

  1. Database Level:
    • Shared Database: All tenants share the same database schema, and data is segregated using unique tenant IDs.
    • Separate Databases: Each tenant has a dedicated database, offering higher isolation but at increased cost.
  2. Application Level:
    • Shared Instance: A single application instance handles requests from all tenants.
    • Separate Instances: Each tenant runs its own instance of the application, though this is less common and closer to single-tenancy.

Advantages of Multi-Tenancy

  • Cost Efficiency: By pooling resources, service providers lower costs for both themselves and their tenants.
  • Scalability: Easily accommodates new tenants without significant infrastructure changes.
  • Ease of Maintenance: Centralized updates and patches reduce operational overhead.
  • Resource Optimization: Efficient use of hardware and software resources.

Challenges of Multi-Tenancy

  • Security: Ensuring strong isolation to prevent data breaches between tenants is critical.
  • Performance: Balancing resource usage so one tenant's demand doesn't degrade the experience for others.
  • Complexity in Design: Developing a robust architecture that supports tenant-specific needs while ensuring scalability and maintainability.
  • Compliance: Adhering to regulations like GDPR or HIPAA, especially in shared environments, can be complex.

Real-World Examples of Multi-Tenancy

  1. SaaS Platforms:
    • Applications like Salesforce, Slack, or Office 365 use multi-tenancy to serve millions of users globally.
  2. Cloud Service Providers:
    • AWS, Google Cloud, and Azure implement multi-tenancy to host multiple client applications on shared infrastructure.
  3. E-Commerce Platforms:
    • Shopify allows multiple businesses to run stores on a single platform while maintaining individual branding and configurations.

When to Use Multi-Tenancy?

Multi-tenancy is ideal for businesses offering services to a large and diverse user base where cost-efficiency, scalability, and simplified management are priorities. However, it may not be suitable for scenarios requiring extreme levels of customization or regulatory isolation, where single-tenancy or hybrid models might be preferable.

Previous: Single Sign-On Business Intelligence