Hello everyone,
I'm currently designing a Power Platform ecosystem and would like to get feedback from people who have implemented something similar.
My goal is to create a star-schema-like architecture where a centralized layer of master catalogs is maintained in SharePoint (Plants, Cost Centers, Products, Vendors, Users, etc.) and serves as the single source of truth for multiple Power Apps.
The envisioned architecture looks something like this:
- A dedicated SharePoint site for master data.
- Each master catalog stored in its own SharePoint list.
- Multiple Power Apps deployed across different Power Platform environments.
- Applications consume the master catalogs as reference data, while their transactional data is stored separately.
I have a few questions:
1. Is this a recommended architecture?
Has anyone implemented a similar approach using only SharePoint Lists as the master data layer?
If so, what challenges or limitations have you encountered regarding:
- Relationships between lists
- Maintenance
- Governance
- Scalability
2. SharePoint as a Shared Data Source Across Environments
Are there any concerns with having Power Apps deployed in different environments while all of them consume the same SharePoint-based master catalogs?
Have you experienced issues related to:
- Connections
- DLP policies
- Solution management
- ALM (Application Lifecycle Management)
3. Performance Considerations
If multiple Power Apps are simultaneously connected to the same SharePoint lists:
- Have you observed any performance degradation in either SharePoint or the apps themselves?
- Is there a practical limit in terms of number of apps, users, or records where SharePoint stops being an efficient option for master data?
4. Data Retrieval Optimization
I understand that Power Apps allows the use of functions such as ShowColumns() to limit the columns used by an application.
My questions are:
- Does Power Apps actually request only those specific columns from SharePoint?
- Or does it retrieve the full record and then remove the unnecessary columns on the client side?
5. Security and Data Exposure
My objective is to expose only the required catalog data to each application while maintaining good governance and security.
For those who have implemented similar architectures:
- How do you manage security?
- Do users receive direct permissions to the SharePoint lists?
- Do you use Power Automate, APIs, service accounts, or another intermediary layer to abstract access to the master catalogs?
Any experiences, lessons learned, best practices, or recommendations would be greatly appreciated, especially from organizations managing multiple applications that share centralized master data stored in SharePoint.
Thank you in advance!