
I'm relatively new to the Power Platform and I'm looking for some guidance on the best practice for model driven Power Apps and whether they should share the same Dataverse?
If I was developing an application outside of the Power Platform, the app would have its own dedicated database and would most likely expose a REST API to allow other applications to share data. I would also discourage allowing another application read/write to the database directly as this bypasses all of the business logic.
Do these same principles apply when developing Power Apps, or is it expected that there will be multiple Power Apps all sharing the same Dataverse and entities? Take this a step further and add Dynamics 365 to mix, and have a bespoke Power App which is creating records in the Account entity sharing the same Dataverse as Dynamics 365 Sales - Is this a good idea or a recipe for disaster?
Well, I'll give you the obvious (if not very helpful) answer, which is "it depends."
You have to weigh your pros and cons here and the specifics of what each app is trying to accomplish must factor in.
In favor of multiple Dbs:
In favor of single Db:
Personally, I will say that it would take one heck of an extreme circumstance to swing me toward isolated apps. The headache of synchronizing data is just too overwhelming and from a governance perspective once you hand out the keys to business units to build their own stuff, it's really hard to put that Genie back in the bottle. If you've been at this a really long time, like I have, you've probably seen a Lotus Notes disaster or two. LN was the original 'citizen developer' tooling and the orgs that really dove into it find themselves still saddled with it today because they have hundreds--maybe thousands--of apps all across the enterprise and absolutely no clue how to kill them off.