Architecture Overview
Intelexos is built on modern web technologies and utilizes Azure resources to deliver a robust, scalable, and secure platform for embedding Power BI reports. Below is an overview of the application architecture.
High-Level Architecture
Intelexos is a cloud-based application designed to streamline the integration of Power BI reports into user workflows. Its architecture consists of the following major components:
Frontend
- Technology: The frontend is hosted on Azure Static Web Apps, providing a performant and scalable interface for users.
- Features: The user interface is designed for seamless interaction with reports, profiles, and administrative tools.
Backend
- Hosting: Azure Static Web Apps also powers the backend through Azure Functions, enabling efficient serverless operations.
- Power BI Integration: The backend communicates with Power BI via the Power BI REST APIs using Service Principal profiles for authentication and data retrieval.
Database
- Cosmos DB:
- Acts as the primary data store, ensuring high availability and low latency for managing user profiles, report configurations, and application data.
Authentication
- Default Authentication: Azure Static Web Apps provides built-in authentication through Microsoft Accounts, streamlining user onboarding.
- OpenID Integration: The application can also integrate with any OpenID identity provider, offering flexibility for organizations with custom authentication needs.
Security
- Azure Key Vault: Securely stores application secrets, including keys and tokens, ensuring compliance with best practices.
Key Processes
Power BI Report Embedding
- Service Principal Profiles:
- Service Principals are configured to interact with Power BI, ensuring secure access to workspaces, reports, and datasets.
- Connection Profiles:
- Connection profiles manage credentials and permissions for the Service Principal.
- Report Embedding:
- Users select reports, datasets, or paginated reports from Power BI workspaces to embed in Intelexos.
Authentication and User Management
- Microsoft Account Login: Ensures secure and quick login for users.
- Role-Based Access Control (RBAC):
- Admins can manage user roles, providing granular control over application permissions.
Deployment and Hosting
- Azure Static Web Apps:
- Provides hosting for both the frontend and backend, ensuring seamless scalability and global reach.
- Serverless Functions:
- Backend operations are powered by Azure Functions, optimizing costs and performance.
Scalability and Performance
- Azure Static Web Apps: Automatically scales to meet user demand.
- Cosmos DB: Offers global distribution and low-latency access for a responsive user experience.
- Service Principal Optimization: Reduces overhead by centralizing Power BI access.
Future Considerations
- Enhanced Role Management: Expanding RBAC features for more granular control.
- Custom Analytics: Integrating additional analytics to monitor user behavior and report usage.
- Third-Party Integrations: Simplifying workflows by connecting with more identity providers and external APIs.