Hi all,
we are looking for a "best practice" or a "recommended" way for the following:
1. We have one Environment called "Organization Data Hub" which get its Data from a SAP System and other Systems via Azure Data Factory (This process is up an runnning and works great - All tables are filled as they should)
2. We have several other Environment which are "use-case specific / application specific". Those Environments need to use the data from the "Organization Data Hub". So for example the "Organization Data Hub" has a Table "Products". One Use-Case Environment needs to store additional Information for "Products" in Table "Product Details" which is only relevant in a specific use case.
Questions:
How would you guys set-up these Environment? As we can't create a Lookup from "Product Details" to "Product" (cross environment) we would store just the ID from "Products" in the "Products Details" table. In PowerApps I would then create a connection to both environments to get my Data. Does this make sense? Should we consider using Virtual Entities for that? Would it make sense to out everything in one Environment?
Thanks in advance.
Hi @PowerRanger,
Apologies for an answer with links, but they explain it well and are the published Microsoft articles about environment strategies. These would be the "official" best practices:
Suggest to also go through these documents; ALM and Governance:
Hope this helps!
Hi @PowerRanger,
This gets into the realm of Master Data Management, and the answer to this is "it depends". There is no absolute right or wrong approach and each will have its pros/cons. Below is not an exhaustive or complete list of considerations and options, but hopefully should help.
In general, an environment for master data that needs to be made available to multiple unrelated downstream environments can be a good design. It reduces impact of change compared to having a single shared environment for multiple business areas with different needs.
Before going further, I have to ask if there is a specific reason the Product Details can't just reside in the same environment as the Products? Is it truly unique to that one use case? If it's possible that it could be needed by other areas and doesn't change often, it may be fine to treat it as master data and keep it close to the products. If it does need to stay separate from the products, then read on.
Some considerations to help drive a decision on environment and data integration strategy:
Virtual entities are a decent option if:
Note that the out of box virtual Odata provider does not have a mechanism for handling access tokens for authentication/authorization to another Dataverse environment. You will need to handle this yourself by either writing your own data provider, or using a service in between to handle the requests/responses.
Canvas App
Synchronizing the product data from your hub to any subscribers is a decent option if virtual entities don't satisfy for your need. There are quite a number of ways to achieve this:
Power Automate from end to end - event based trigger
Power Automate + Azure Event Grid + Azure Logic Apps
Azure Data Factory
Note that if the sync is meant to be one way only, you'll want to take care and ensure a appropriate change management is in place and take appropriate measures in locking down product data in the subscriber environments. E.g enable so that only an administrator or the service principal used for data integration can create/modify records.
---
Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.
---
Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.
stampcoin
15
ankit_singhal
11
Super User 2025 Season 1
mmbr1606
9
Super User 2025 Season 1